From: Naveen Albert Date: Mon, 3 Jan 2022 01:13:33 +0000 (+0000) Subject: app_mp3: Throw warning on nonexistent stream X-Git-Tag: 19.2.0-rc1~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc7daf57b01a62155edb441f0c0e743312a6cfe8;p=thirdparty%2Fasterisk.git 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 --- 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; }