]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Don't try to play sound files that do not exist.
authorJoshua Colp <jcolp@digium.com>
Mon, 13 Feb 2012 16:41:56 +0000 (16:41 +0000)
committerJoshua Colp <jcolp@digium.com>
Mon, 13 Feb 2012 16:41:56 +0000 (16:41 +0000)
(closes issue ASTERISK-19188)
Reported by: slesru

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@354938 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_confbridge.c

index 15ed907893f6ded494a32e73773235c05a5ddfd1..6c3f4304d0a62d999dbedf806d9aed6df9dccce2 100644 (file)
@@ -610,7 +610,7 @@ static int announce_user_count(struct conference_bridge *conference_bridge, stru
                                "")) {
                                return -1;
                        }
-               } else {
+               } else if (ast_fileexists(there_are, NULL, NULL) && ast_fileexists(other_in_party, NULL, NULL)) {
                        play_sound_file(conference_bridge, there_are);
                        play_sound_number(conference_bridge, conference_bridge->users - 1);
                        play_sound_file(conference_bridge, other_in_party);
@@ -1143,6 +1143,12 @@ static int play_sound_helper(struct conference_bridge *conference_bridge, const
 {
        struct ast_channel *underlying_channel;
 
+       /* Do not waste resources trying to play files that do not exist */
+       if (!ast_fileexists(filename, NULL, NULL)) {
+               ast_log(LOG_WARNING, "File %s does not exist in any format\n", filename);
+               return 0;
+       }
+
        ast_mutex_lock(&conference_bridge->playback_lock);
        if (!(conference_bridge->playback_chan)) {
                if (alloc_playback_chan(conference_bridge)) {