diff options
Diffstat (limited to 'libmpdemux/demux_lavf.c')
-rw-r--r-- | libmpdemux/demux_lavf.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c index 8588e0918b..c31a0a9114 100644 --- a/libmpdemux/demux_lavf.c +++ b/libmpdemux/demux_lavf.c @@ -259,6 +259,10 @@ static demuxer_t* demux_open_lavf(demuxer_t *demuxer){ sh_video->bih= bih; sh_video->disp_w= codec->width; sh_video->disp_h= codec->height; + if (st->time_base.den) { /* if container has time_base, use that */ + sh_video->video.dwRate= st->time_base.den; + sh_video->video.dwScale= st->time_base.num; + } else { #if LIBAVFORMAT_BUILD >= 4624 sh_video->video.dwRate= codec->time_base.den; sh_video->video.dwScale= codec->time_base.num; @@ -266,6 +270,7 @@ static demuxer_t* demux_open_lavf(demuxer_t *demuxer){ sh_video->video.dwRate= codec->frame_rate; sh_video->video.dwScale= codec->frame_rate_base; #endif + } sh_video->fps=(float)sh_video->video.dwRate/(float)sh_video->video.dwScale; sh_video->frametime=(float)sh_video->video.dwScale/(float)sh_video->video.dwRate; sh_video->format = bih->biCompression; |