diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2003-10-02 22:41:08 +0000 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2003-10-02 22:41:08 +0000 |
commit | e692fd601de39ef541b93b7d135569b8232c7b2d (patch) | |
tree | d4e95210f7b78157d7f1df0ed52b3a5499bf6e63 | |
parent | cf24628385a4104e8e2cb7f361ee014b1020e2dd (diff) | |
download | ffmpeg-e692fd601de39ef541b93b7d135569b8232c7b2d.tar.gz |
fixed codec specific data headers
Originally committed as revision 2337 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/nut.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/libavformat/nut.c b/libavformat/nut.c index 3eaeff5f71..8fc24111de 100644 --- a/libavformat/nut.c +++ b/libavformat/nut.c @@ -1,5 +1,5 @@ /* - * NUT (de)muxer based on initial draft + * "NUT" Container Format muxer and demuxer (DRAFT-20031003) * Copyright (c) 2003 Alex Beregszaszi * * This library is free software; you can redistribute it and/or @@ -18,19 +18,18 @@ * * NUT DRAFT can be found in MPlayer CVS at DOCS/tech/mpcf.txt * - * Compatible with draft version 20030906 + * AND http://people.fsn.hu/~alex/nut/ (TeX, pdf, ps, dvi, ..) * */ /* * TODO: * - checksumming - * - correct timestamp handling + * - optimal timestamp handling * - index writing * - info and index packet reading support * - startcode searching for broken streams * - subpacket support - * - handling of codec specific headers */ //#define DEBUG 1 @@ -92,8 +91,7 @@ static int get_b(ByteIOContext *bc, char *data, int maxlen) for (i = 0; i < len && i < maxlen; i++) data[i] = get_byte(bc); /* skip remaining bytes */ - for (; i < len; i++) - get_byte(bc); + url_fskip(bc, len-i); return 0; } @@ -106,8 +104,7 @@ static int get_bi(ByteIOContext *bc) for (i = 0; i < len && i <= 4; i++) val |= get_byte(bc) << (i * 8); /* skip remaining bytes */ - for (; i < len; i++) - get_byte(bc); + url_fskip(bc, len-i); return val; } @@ -474,8 +471,10 @@ static int nut_read_header(AVFormatContext *s, AVFormatParameters *ap) get_v(bc); /* FIXME: msb timestamp base */ get_v(bc); /* shuffle type */ get_byte(bc); /* flags */ - - get_v(bc); /* FIXME: codec specific data headers */ + + /* codec specific data headers */ + while(get_v(bc) != 0) + url_fskip(bc, get_v(bc)); if (class == 0) /* VIDEO */ { |