aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/avidec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-05-30 00:43:43 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-05-30 00:43:43 +0000
commitcc11e2b3e4db5ad0d8665866d2bf9fb006e7a51a (patch)
treed33d07d20335e370f50478fd8bfcd7330e4c67a8 /libavformat/avidec.c
parent7e0140cbd733921485a914a1a6f40512ce4aa1e3 (diff)
downloadffmpeg-cc11e2b3e4db5ad0d8665866d2bf9fb006e7a51a.tar.gz
skip subtitle streams instead of perishing
Originally committed as revision 3173 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/avidec.c')
-rw-r--r--libavformat/avidec.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index ea2858eedd..024488d09e 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -152,6 +152,9 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
stream_index++;
tag1 = get_le32(pb);
handler = get_le32(pb); /* codec tag */
+#ifdef DEBUG
+ print_tag("strh", tag1, -1);
+#endif
switch(tag1) {
case MKTAG('i', 'a', 'v', 's'):
case MKTAG('i', 'v', 'a', 's'):
@@ -248,6 +251,11 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
url_fskip(pb, size - 12 * 4);
}
break;
+ case MKTAG('t', 'x', 't', 's'):
+ //FIXME
+ codec_type = CODEC_TYPE_DATA; //CODEC_TYPE_SUB ? FIXME
+ url_fskip(pb, size - 8);
+ break;
default:
goto fail;
}
@@ -426,13 +434,13 @@ static int avi_read_packet(AVFormatContext *s, AVPacket *pkt)
AVIStream *ast;
st = s->streams[n];
ast = st->priv_data;
-
+
/* XXX: how to handle B frames in avi ? */
pkt->dts = ast->frame_offset;
// pkt->dts += ast->start;
if(ast->sample_size)
pkt->dts /= ast->sample_size;
-//printf("%Ld %d %d %d %d\n", pkt->pts, ast->frame_offset, ast->scale, AV_TIME_BASE, ast->rate);
+//av_log(NULL, AV_LOG_DEBUG, "dts:%Ld offset:%d %d/%d %d st:%d size:%d\n", pkt->dts, ast->frame_offset, ast->scale, ast->rate, AV_TIME_BASE, n, size);
pkt->stream_index = n;
/* FIXME: We really should read index for that */
if (st->codec.codec_type == CODEC_TYPE_VIDEO) {