Browse Source

Check audiostream bugfix & enhancement

Yann Weber 5 years ago
parent
commit
fb188c8975
1 changed files with 45 additions and 26 deletions
  1. 45
    26
      check.sh

+ 45
- 26
check.sh View File

@@ -295,39 +295,47 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
295 295
 }
296 296
 
297 297
 check_audiostream() {
298
-	# Uses mplayer to fetch 128Kb of stream
298
+	# Uses one of mplayer or mpv to retrieve a small amount of stream
299
+	# and attempt to decode it.
299 300
 	# $1 Stream URL
300
-	# $2 size
301
-	MPLAYER=$(whereis mplayer|cut -d' ' -f2)
302
-	MPV=$(whereis mpv|cut -d' ' -f2)
301
+
302
+	MPLAYER="`which mplayer`"
303
+	MPV="`which mpv`"
303 304
 	if [ -x $MPLAYER ]
304 305
 	then
305
-		check_audiostream_mplayer "$1" "$2"
306
+		check_audiostream_mplayer "$1"
306 307
 	elif [ -x $MPV ]
307 308
 	then
308
-		check_audiostream_mpv "$1" "$2"
309
+		check_audiostream_mpv "$1"
309 310
 	else
310 311
 		fail "Unable to find mplayer nor mpv"
311 312
 	fi
312 313
 }
313 314
 
314 315
 check_audiostream_mplayer() {
315
-	# Uses mplayer to fetch 128Kb of stream
316
+	# Uses mplayer to fetch 128Kb (by default) of stream
316 317
 	# $1 Stream URL
317
-	# $2 size
318
+	# $2 size in kb without the kb suffix
319
+	# $3 mplayer path
320
+
318 321
 	tmpfile=$(mktemp -t check_audiostream.XXXXXXXXX)
319 322
 	sz="$2"
320 323
 	if [ -z "$sz" ]
321 324
 	then
322 325
 		sz="128"
323 326
 	fi
327
+	MPLAYER="$3"
328
+	if [ -z "$MPLAYER" ]
329
+	then
330
+		MPLAYER="`which mplayer`"
331
+	fi
324 332
 
325 333
 	sz_kb="${sz}kb"
326 334
 	expt_sz="`expr $sz \* 8`"
327 335
 
328 336
 	if [ "$verbose" -gt 1 ]
329 337
 	then
330
-		logdate INFO "$tc_name: Running mplayer on '$1' for $sz" 3
338
+		logdate INFO "$tc_name: Running mplayer on '$1' for $sz_kb" 3
331 339
 	fi
332 340
 
333 341
 	$MPLAYER -endpos $sz_kb -ao pcm:file=$tmpfile "$1" 1>/dev/null 2>/dev/null
@@ -335,14 +343,11 @@ check_audiostream_mplayer() {
335 343
 	bytes=$(du $tmpfile | cut -f1)
336 344
 	rm $tmpfile 2>/dev/null
337 345
 
338
-
339
-	logdate INFO "$bytes $sz" 3
340 346
 	if [ "$bytes" -lt $expt_sz ]
341 347
 	then
342
-		fail "mplayer retrieved ${bytes}B of stream instead of expected $sz"
348
+		fail "mplayer retrieved ${bytes}B of stream instead of expected $sz_kb"
343 349
 		return
344 350
 	fi
345
-	echo "$bytes / $sz"
346 351
 	if [ "$res" -eq 0 ]
347 352
 	then
348 353
 		success "mplayer retrieved $sz of stream on $1"
@@ -352,30 +357,44 @@ check_audiostream_mplayer() {
352 357
 }
353 358
 
354 359
 check_audiostream_mpv() {
355
-	# Uses mpv to fetch 128Kb of stream
360
+	# Uses mpv to fetch 4s of audio stream
356 361
 	# $1 Stream URL
357
-	# $2 size
362
+	# $2 time of stream to fetch
363
+	# $3 mpv path
358 364
 
359
-	tmpfile=$(mktemp -t check_audiostream.XXXXXXXXX)
360
-	sz="$2"
361
-	if [ -z "$sz" ]
365
+	time="$2"
366
+	if [ -z "$time" ]
367
+	then
368
+		time="4"
369
+	fi
370
+	MPV="$3"
371
+	if [ -z "$MPV" ]
362 372
 	then
363
-		sz="128kb"
373
+		MPV="`which mpv`"
364 374
 	fi
365 375
 
376
+
366 377
 	if [ "$verbose" -gt 1 ]
367 378
 	then
368
-		logdate INFO "$tc_name: Running mpv on '$1' for $sz" 3
379
+		logdate INFO "$tc_name: Running mpv on '$1' for ${time}s" 3
369 380
 	fi
370
-	$MPV --vo=null --ao=null --o=$tmpfile --of=wav --length 1 "$1" &> /dev/null
371
-	bytes=$(du $tmpfile | cut -f1)
372
-	rm $tmpfile 2>/dev/null
381
+	start_time=`date "+%s"`
382
+	$MPV --vo=null --ao=null --o=/dev/null --of=wav --length $time "$1" 1> /dev/null 2>/dev/null
383
+	res=$?
384
+	stop_time=`date "+%s"`
385
+	run_time=`expr $stop_time - $start_time`
373 386
 
374
-	if [ "$bytes" -ge 1 ]
387
+	if [ $run_time -lt $time ]
388
+	then
389
+		fail "mpv stopped running ${run_time} after launch but ${time}s should be received"
390
+		return
391
+	fi
392
+	
393
+	if [ $res -eq 0 ]
375 394
 	then
376
-		success "mpv read successfully $1"
395
+		success "mpv retrieved ${time}s of stream on $1"
377 396
 	else
378
-		fail "mpv could not read $1"
397
+		fail "mpv failed to retrieve ${time}s of stream on $1"
379 398
 	fi
380 399
 }
381 400
 

Loading…
Cancel
Save