Browse Source

added mpv support when mplayer is not available

/\/\ \-/ ❭❬ 5 years ago
parent
commit
2fb5d1bed2
1 changed files with 50 additions and 27 deletions
  1. 50
    27
      check.sh

+ 50
- 27
check.sh View File

@@ -298,34 +298,57 @@ check_audiostream() {
298 298
 	# Uses mplayer to fetch 128Kb of stream
299 299
 	# $1 Stream URL
300 300
 	# $2 size
301
-	tmpfile=$(mktemp -t check_audiostream.XXXXXXXXX)
302
-	
303
-	sz="$2"
304
-	if [ -z "$sz" ]
305
-	then
306
-		sz="128kb"
307
-	fi
308
-	if [ "$verbose" -gt 1 ]
309
-	then
310
-		logdate INFO "$tc_name: Running mplayer on '$1' for $sz" 3
311
-	fi
312
-
313
-	mplayer -endpos $sz -ao pcm:file=$tmpfile "$1" 1>/dev/null 2>/dev/null
314
-	res=$?
315
-	bytes=$(du $tmpfile | cut -f1)
316
-	rm $tmpfile 2>/dev/null
301
+    MPLAYER=$(whereis mplayer|cut -d' ' -f2)
302
+    MPV=$(whereis mpv|cut -d' ' -f2)
303
+    if [ -x $MPLAYER ]
304
+    then
305
+        tmpfile=$(mktemp -t check_audiostream.XXXXXXXXX)
306
+        
307
+        sz="$2"
308
+        if [ -z "$sz" ]
309
+        then
310
+            sz="128kb"
311
+        fi
312
+        if [ "$verbose" -gt 1 ]
313
+        then
314
+            logdate INFO "$tc_name: Running mplayer on '$1' for $sz" 3
315
+        fi
316
+
317
+        $MPLAYER -endpos $sz -ao pcm:file=$tmpfile "$1" 1>/dev/null 2>/dev/null
318
+        res=$?
319
+        bytes=$(du $tmpfile | cut -f1)
320
+        rm $tmpfile 2>/dev/null
321
+
322
+        if [ "$bytes" -lt 1024 ]
323
+        then
324
+            fail "mplayer retrieved ${bytes}B of stream instead of expected $sz"
325
+            return
326
+        fi
327
+        if [ "$res" -eq 0 ]
328
+        then
329
+            success "mplayer retrieved $sz of stream on $1"
330
+        else
331
+            fail "mplayer failed to retrieve stream on $1"
332
+        fi
333
+    elif [ -x $MPV ]
334
+    then
335
+        if [ "$verbose" -gt 1 ]
336
+        then
337
+            logdate INFO "$tc_name: Running mpv on '$1' for $sz" 3
338
+        fi
339
+        tmpfile=$(mktemp -t check_audiostream.XXXXXXXXX)
340
+        $MPV --vo=null --ao=null --o=$tmpfile --of=wav --length 1 "$1" &> /dev/null
341
+        bytes=$(du $tmpfile | cut -f1)
342
+        rm $tmpfile 2>/dev/null
343
+
344
+        if [ "$bytes" -ge 1 ]
345
+        then
346
+            success "mpv read successfully $1"
347
+        else
348
+            fail "mpv could not read $1"
349
+        fi
317 350
 
318
-	if [ "$bytes" -lt 1024 ]
319
-	then
320
-		fail "mplayer retrieved ${bytes}B of stream instead of expected $sz"
321
-		return
322
-	fi
323
-	if [ "$res" -eq 0 ]
324
-	then
325
-		success "mplayer retrieved $sz of stream on $1"
326
-	else
327
-		fail "mplayer failed to retrieve stream on $1"
328
-	fi
351
+    fi
329 352
 }
330 353
 
331 354
 check_ping() {

Loading…
Cancel
Save