diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 7bedd16c22..32798099be 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -1063,10 +1063,6 @@ static switch_status_t vlc_file_read(switch_file_handle_t *handle, void *data, s size_t bytes = *len * sizeof(int16_t) * handle->channels, read; libvlc_state_t status; - if ((flags & SVR_CHECK)) { - return SWITCH_STATUS_BREAK; - } - if (switch_test_flag(handle, SWITCH_FILE_FLAG_VIDEO)) { return vlc_file_av_read(handle, data, len); } @@ -1136,6 +1132,10 @@ static switch_status_t vlc_file_read_video(switch_file_handle_t *handle, switch_ return SWITCH_STATUS_FALSE; } + if ((flags & SVR_CHECK)) { + return SWITCH_STATUS_BREAK; + } + while((flags & SVR_FLUSH) && 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;