]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10152: [mod_shout] seek from eof to 0 not working in mod_shout #resolve
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 17 Mar 2017 20:31:10 +0000 (15:31 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 17 Mar 2017 20:31:23 +0000 (15:31 -0500)
src/mod/formats/mod_shout/mod_shout.c

index 66cfa1368281b07810db97e250b4ad472e01b42c..b670cf3cf2f5020cfb87bdd4e33a7ffb10280fbf 100644 (file)
@@ -935,10 +935,14 @@ static switch_status_t shout_file_seek(switch_file_handle_t *handle, unsigned in
                        samples -= switch_buffer_inuse(context->audio_buffer) / sizeof(int16_t);
                }
 
+               switch_mutex_lock(context->audio_mutex);
                switch_buffer_zero(context->audio_buffer);
+               switch_mutex_unlock(context->audio_mutex);
+               
                seek_samples = mpg123_seek(context->mh, (off_t) samples, whence);
 
                if (seek_samples >= 0) {
+                       context->eof = 0;
                        handle->pos = *cur_sample = seek_samples;
                        return SWITCH_STATUS_SUCCESS;
                }