Mercurial > libavformat.hg
changeset 3586:e421492a6e27 libavformat
Try to fix FATE after my time_base simplification change.
author | michael |
---|---|
date | Thu, 17 Jul 2008 14:13:44 +0000 |
parents | 8806473c40bf |
children | 7d5480d3989d |
files | nsvdec.c |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/nsvdec.c Wed Jul 16 17:20:21 2008 +0000 +++ b/nsvdec.c Thu Jul 17 14:13:44 2008 +0000 @@ -180,6 +180,7 @@ uint32_t vtag, atag; uint16_t vwidth, vheight; int16_t avsync; + AVRational framerate; //DVDemuxContext* dv_demux; } NSVContext; @@ -428,6 +429,7 @@ framerate= (AVRational){i, 1}; nsv->avsync = get_le16(pb); + nsv->framerate = framerate; #ifdef DEBUG print_tag("NSV NSVs vtag", vtag, 0); print_tag("NSV NSVs atag", atag, 0); @@ -647,8 +649,8 @@ if( nsv->state == NSV_HAS_READ_NSVS && st[NSV_ST_VIDEO] ) { /* on a nsvs frame we have new information on a/v sync */ pkt->dts = (((NSVStream*)st[NSV_ST_VIDEO]->priv_data)->frame_offset-1); - pkt->dts *= (int64_t)1000 * st[NSV_ST_VIDEO]->time_base.num; - pkt->dts += (int64_t)nsv->avsync * st[NSV_ST_VIDEO]->time_base.den; + pkt->dts *= (int64_t)1000 * nsv->framerate.den; + pkt->dts += (int64_t)nsv->avsync * nsv->framerate.num; PRINT(("NSV AUDIO: sync:%d, dts:%"PRId64, nsv->avsync, pkt->dts)); } nst->frame_offset++;