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) {