Store PID and kill it before running mpv again

This commit is contained in:
Shahin Agha-Ghassem 2023-03-19 19:17:32 +01:00
parent f28b5068c3
commit 27cf88b1d2

13
iptv
View File

@ -7,6 +7,7 @@ m3u=$1
config_path="$HOME/.config/iptv/" config_path="$HOME/.config/iptv/"
channels_file="$config_path/channels" channels_file="$config_path/channels"
tmp_playlist="/tmp/iptvplaylist" tmp_playlist="/tmp/iptvplaylist"
player_pid_file="/tmp/iptvplayerpid"
mkdir -p "$config_path" mkdir -p "$config_path"
@ -28,8 +29,8 @@ if [ ! -z "$m3u" ]; then
line2="${lines[i+1]}" line2="${lines[i+1]}"
if [[ "$line" =~ tvg-name=\"([^\"]+)\" ]]; then if [[ "$line" =~ tvg-name=\"([^\"]+)\" ]]; then
name="${BASH_REMATCH[1]}" name="${BASH_REMATCH[1]}"
channels+=("$name [CH:$i] url:$line2") channels+=("$name [CH:$i] url:$line2")
fi fi
done done
printf "Done!\n" printf "Done!\n"
@ -52,4 +53,12 @@ selected_channel_url=$(echo "$selected_channel_line" | grep -oP 'url:\K.*' | tr
selected_channel_name=$(echo "$selected_channel_line" | sed 's/\(.*\) url:.*/\1/') selected_channel_name=$(echo "$selected_channel_line" | sed 's/\(.*\) url:.*/\1/')
printf "Playing %s from %s" "$selected_channel_url" "$selected_channel_name" printf "Playing %s from %s" "$selected_channel_url" "$selected_channel_name"
player_pid=$(cat "$player_pid_file")
if kill -0 "$player_pid" >/dev/null 2>&1; then
kill "$player_pid"
fi
mpv "$selected_channel_url" > /dev/null 2>&1 & mpv "$selected_channel_url" > /dev/null 2>&1 &
echo $! > "$player_pid_file"