summaryrefslogtreecommitdiff
path: root/libavformat/avidec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-02-02 23:53:38 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-02-02 23:53:38 +0000
commitbce8840a4e45251b15ec21025e89770882fccb36 (patch)
tree141156e5f9aa210b0c4ffd5fe8af98e542c282c7 /libavformat/avidec.c
parentf04c6e35d4117c19e4a73cc4779a7093a41ac900 (diff)
Set nb_frames.
Also add DXSA tag (commited by mistake in this commit, i can revert and recommit seperately if someone wants) Originally committed as revision 21619 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/avidec.c')
-rw-r--r--libavformat/avidec.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 854ebc2654..3d68e470bd 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -251,7 +251,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
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 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
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 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
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;