diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-06-28 13:05:45 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-06-28 13:36:54 +0200 |
commit | 30b8f3e7dcd0318b91e205dcbf774ef92fb6193c (patch) | |
tree | 151ff7f81b2be847087918a769a2f596a5f0bb9c /libavformat/asfdec.c | |
parent | da0616985095202434a4dfd30eb2ea09e3a57938 (diff) | |
parent | b08569a23948db107e5e6175cd4c695427d5339d (diff) | |
download | ffmpeg-30b8f3e7dcd0318b91e205dcbf774ef92fb6193c.tar.gz |
Merge commit 'b08569a23948db107e5e6175cd4c695427d5339d'
* commit 'b08569a23948db107e5e6175cd4c695427d5339d':
lavf: Replace the ASF demuxer
Conflicts:
Changelog
libavformat/asf.h
libavformat/asfdec.c
libavformat/version.h
tests/ref/fate/wmv8-drm-nodec
tests/ref/seek/lavf-asf
The rewritten demuxer is placed in a new file, the current demuxer is
left as default. Carl has tested both and the one working better is
default.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/asfdec.c')
-rw-r--r-- | libavformat/asfdec.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c index 92784348cb..5708cebc93 100644 --- a/libavformat/asfdec.c +++ b/libavformat/asfdec.c @@ -39,6 +39,38 @@ #include "asf.h" #include "asfcrypt.h" +typedef struct ASFPayload { + uint8_t type; + uint16_t size; +} ASFPayload; + +typedef struct ASFStream { + int num; + unsigned char seq; + /* use for reading */ + AVPacket pkt; + int frag_offset; + int packet_obj_size; + int timestamp; + int64_t duration; + int skip_to_key; + int pkt_clean; + + int ds_span; /* descrambling */ + int ds_packet_size; + int ds_chunk_size; + + int64_t packet_pos; + + uint16_t stream_language_index; + + int palette_changed; + uint32_t palette[256]; + + int payload_ext_ct; + ASFPayload payload[8]; +} ASFStream; + typedef struct ASFContext { const AVClass *class; int asfid2avid[128]; ///< conversion table from asf ID 2 AVStream ID |