From 775c371d090318fd0320bf10d8c7b5a1502bb796 Mon Sep 17 00:00:00 2001 From: Naveen Albert Date: Mon, 3 Jan 2022 01:13:33 +0000 Subject: [PATCH] app_mp3: Throw warning on nonexistent stream Currently, the MP3Player application doesn't emit a warning if attempting to play a stream which no longer exists. This can be a common scenario as many mp3 streams are valid at some point but can disappear at any time. Now a warning is thrown if attempting to play a nonexistent MP3 stream, instead of silently exiting. ASTERISK-29829 #close Change-Id: I53a0bf1ed1740166655eb66fe7675f6f808bf535 --- apps/app_mp3.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/app_mp3.c b/apps/app_mp3.c index 888f21a820..5d2fc88a3b 100644 --- a/apps/app_mp3.c +++ b/apps/app_mp3.c @@ -179,6 +179,7 @@ static int mp3_exec(struct ast_channel *chan, const char *data) int pid = -1; RAII_VAR(struct ast_format *, owriteformat, NULL, ao2_cleanup); int timeout = 2; + int startedmp3 = 0; struct timeval next; struct ast_frame *f; struct myframe { @@ -242,12 +243,16 @@ static int mp3_exec(struct ast_channel *chan, const char *data) if (res > 0) { myf.f.datalen = res; myf.f.samples = res / 2; + startedmp3 = 1; if (ast_write(chan, &myf.f) < 0) { res = -1; break; } } else { ast_debug(1, "No more mp3\n"); + if (!startedmp3) { /* we couldn't do anything, which means this stream doesn't work */ + ast_log(LOG_WARNING, "MP3 stream '%s' is broken or nonexistent\n", data); + } res = 0; break; }