FS-9704: [mod_av] Seeking video files with mod_av after it reaches the end does not work
This commit is contained in:
parent
1da17bb3b3
commit
2de527564e
|
@ -2178,6 +2178,7 @@ static switch_status_t av_file_seek(switch_file_handle_t *handle, unsigned int *
|
|||
context->seek_ts = samples / handle->native_rate * AV_TIME_BASE;
|
||||
*cur_sample = context->seek_ts;
|
||||
|
||||
context->closed = 0;
|
||||
|
||||
if (!context->file_read_thread_running) {
|
||||
switch_threadattr_t *thd_attr = NULL;
|
||||
|
@ -2213,7 +2214,7 @@ static switch_status_t av_file_read(switch_file_handle_t *handle, void *data, si
|
|||
}
|
||||
switch_mutex_unlock(context->mutex);
|
||||
|
||||
if (!context->file_read_thread_running && switch_buffer_inuse(context->audio_buffer) == 0) {
|
||||
if (context->closed || (!context->file_read_thread_running && switch_buffer_inuse(context->audio_buffer) == 0)) {
|
||||
*len = 0;
|
||||
return SWITCH_STATUS_FALSE;
|
||||
}
|
||||
|
@ -2496,7 +2497,7 @@ static switch_status_t av_file_read_video(switch_file_handle_t *handle, switch_f
|
|||
}
|
||||
context->vid_ready = 1;
|
||||
}
|
||||
|
||||
if (!frame->img) context->closed = 1;
|
||||
return frame->img ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -910,6 +910,7 @@ void conference_video_scale_and_patch(mcu_layer_t *layer, switch_image_t *ximg,
|
|||
}
|
||||
|
||||
switch_img_patch(layer->img, layer->overlay_img, 0, 0);
|
||||
|
||||
}
|
||||
switch_mutex_unlock(layer->overlay_mutex);
|
||||
|
||||
|
|
Loading…
Reference in New Issue