]> 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:10 +0000 (15:31 -0500)
src/mod/formats/mod_shout/mod_shout.c

index b736042abbae7a154201dddbc0cce6289558ee18..27d2a003a04adc57b04b07e921ed1e5def812b02 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;
                }