From: Anthony Minessale Date: Tue, 3 Mar 2015 17:48:56 +0000 (-0600) Subject: FS-7514: pop only newest frame on video file read to keep sync X-Git-Tag: v1.6.2~614^2~314 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ac63b92506110c8d6af09c3837f956bcc05b3d3;p=thirdparty%2Ffreeswitch.git FS-7514: pop only newest frame on video file read to keep sync --- diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 3a8cdb6d74..cc95c39121 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -1025,6 +1025,14 @@ static switch_status_t vlc_file_read_video(switch_file_handle_t *handle, switch_ return SWITCH_STATUS_FALSE; } + while(switch_queue_size(vcontext->video_queue) > 1) { + if (switch_queue_trypop(vcontext->video_queue, &pop) == SWITCH_STATUS_SUCCESS) { + switch_image_t *img = (switch_image_t *) pop; + switch_img_free(&img); + } + } + + if (switch_queue_pop(vcontext->video_queue, &pop) == SWITCH_STATUS_SUCCESS) { if (!pop) { vcontext->err = 1;