Mercurial > libavformat.hg
changeset 471:8b7a8dccde70 libavformat
skip subtitle streams instead of perishing
author | michael |
---|---|
date | Sun, 30 May 2004 00:43:43 +0000 |
parents | 334e08488ad1 |
children | fd31daf8df85 |
files | avidec.c |
diffstat | 1 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/avidec.c Sat May 29 18:50:31 2004 +0000 +++ b/avidec.c Sun May 30 00:43:43 2004 +0000 @@ -152,6 +152,9 @@ 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 @@ 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 @@ 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) {