]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_musiconhold: Start playlist after initial announcement
authorSean Bright <sean.bright@gmail.com>
Fri, 18 Sep 2020 20:02:27 +0000 (16:02 -0400)
committerFriendly Automation <jenkins2@gerrit.asterisk.org>
Wed, 23 Sep 2020 16:25:42 +0000 (11:25 -0500)
Only track our sample offset if we are playing a non-announcement file,
otherwise we will skip that number of samples when we start playing the
first MoH file.

ASTERISK-24329 #close

Change-Id: Ib6b3c84fcaa1063889ab38ba7e7fc50050a3ccfc

res/res_musiconhold.c

index 3749d7b98c522fc3b20cbe8fa3c08039d533a736..46bc4b905d7fbc23cc41520646558f4b8bd4fad1 100644 (file)
@@ -477,7 +477,12 @@ static int moh_files_generator(struct ast_channel *chan, void *data, int len, in
                        return -1;
                }
 
-               state->samples += f->samples;
+               /* Only track our offset within the current file if we are not in the
+                * the middle of an announcement */
+               if (!state->announcement) {
+                       state->samples += f->samples;
+               }
+
                state->sample_queue -= f->samples;
                if (ast_format_cmp(f->subclass.format, state->mohwfmt) == AST_FORMAT_CMP_NOT_EQUAL) {
                        ao2_replace(state->mohwfmt, f->subclass.format);