From: Anthony Minessale Date: Fri, 17 Mar 2017 20:31:10 +0000 (-0500) Subject: FS-10152: [mod_shout] seek from eof to 0 not working in mod_shout #resolve X-Git-Tag: v1.6.16~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f19fcdb4f0c176811039c497376da2b76db0c2f8;p=thirdparty%2Ffreeswitch.git FS-10152: [mod_shout] seek from eof to 0 not working in mod_shout #resolve --- diff --git a/src/mod/formats/mod_shout/mod_shout.c b/src/mod/formats/mod_shout/mod_shout.c index 66cfa13682..b670cf3cf2 100644 --- a/src/mod/formats/mod_shout/mod_shout.c +++ b/src/mod/formats/mod_shout/mod_shout.c @@ -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; }