From bdeacb1d29d78626474bf53cf8969bf3ea20c751 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Thu, 18 Feb 2016 00:10:07 +0800 Subject: [PATCH] FS-8751 [Conference Play Video Total Time and Current Time] --- src/mod/applications/mod_av/avformat.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mod/applications/mod_av/avformat.c b/src/mod/applications/mod_av/avformat.c index 1b5562a135..d7bd74187b 100644 --- a/src/mod/applications/mod_av/avformat.c +++ b/src/mod/applications/mod_av/avformat.c @@ -1297,6 +1297,7 @@ static switch_status_t open_input_file(av_file_context_t *context, switch_file_h context->video_st.st = context->fc->streams[i]; if (switch_test_flag(handle, SWITCH_FILE_FLAG_VIDEO)) { context->has_video = 1; + handle->duration = av_rescale_q(context->video_st.st->duration, context->video_st.st->time_base, AV_TIME_BASE_Q); } handle->mm.source_fps = ceil(av_q2d(context->video_st.st->avg_frame_rate)); context->read_fps = (int)handle->mm.source_fps; @@ -2170,6 +2171,7 @@ static switch_status_t av_file_read_video(switch_file_handle_t *handle, switch_f pts = av_rescale_q(*((uint64_t *)img->user_priv), st->time_base, AV_TIME_BASE_Q); // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "pkt_pts: %lld pts: %lld queue size: %u\n", *((uint64_t *)img->user_priv), pts, switch_queue_size(context->eh.video_queue)); + handle->vpos = pts; if (!context->video_start_time) { context->video_start_time = now - pts;