Mercurial > libavformat.hg
diff avidec.c @ 5623:d8bfadee68a0 libavformat
Set nb_frames.
Also add DXSA tag (commited by mistake in this commit, i can revert and recommit
seperately if someone wants)
author | michael |
---|---|
date | Tue, 02 Feb 2010 23:53:38 +0000 |
parents | 7698da6e1f0a |
children | 71fc72a36677 |
line wrap: on
line diff
--- a/avidec.c Tue Feb 02 22:23:09 2010 +0000 +++ b/avidec.c Tue Feb 02 23:53:38 2010 +0000 @@ -251,7 +251,7 @@ ByteIOContext *pb = s->pb; unsigned int tag, tag1, handler; int codec_type, stream_index, frame_period, bit_rate; - unsigned int size, nb_frames; + unsigned int size; int i; AVStream *st; AVIStream *ast = NULL; @@ -412,10 +412,10 @@ av_set_pts_info(st, 64, ast->scale, ast->rate); ast->cum_len=get_le32(pb); /* start */ - nb_frames = get_le32(pb); + st->nb_frames = get_le32(pb); st->start_time = 0; - st->duration = nb_frames; + st->duration = st->nb_frames; get_le32(pb); /* buffer size */ get_le32(pb); /* quality */ ast->sample_size = get_le32(pb); /* sample ssize */ @@ -476,7 +476,7 @@ get_le32(pb); /* ClrUsed */ get_le32(pb); /* ClrImportant */ - if (tag1 == MKTAG('D', 'X', 'S', 'B')) { + if (tag1 == MKTAG('D', 'X', 'S', 'B') || tag1 == MKTAG('D','X','S','A')) { st->codec->codec_type = CODEC_TYPE_SUBTITLE; st->codec->codec_tag = tag1; st->codec->codec_id = CODEC_ID_XSUB;