#include "libavutil/bswap.h"#include "libavutil/common.h"#include "libavutil/avstring.h"#include "libavutil/dict.h"#include "libavutil/mathematics.h"#include "libavcodec/mpegaudio.h"#include "avformat.h"#include "internal.h"#include "avio_internal.h"#include "riff.h"#include "asf.h"#include "asfcrypt.h"#include "avlanguage.h"#include <assert.h>Go to the source code of this file.
Data Structures | |
| struct | ASFContext |
Defines | |
| #define | ASF_MAX_STREAMS 127 |
| #define | FRAME_HEADER_SIZE 17 |
| #define | print_guid(g) |
| #define | DO_2BITS(bits, var, defval) |
Functions | |
| static int | asf_probe (AVProbeData *pd) |
| static int | get_value (AVIOContext *pb, int type) |
| static void | get_tag (AVFormatContext *s, const char *key, int type, int len) |
| static int | asf_read_file_properties (AVFormatContext *s, int64_t size) |
| static int | asf_read_stream_properties (AVFormatContext *s, int64_t size) |
| static int | asf_read_ext_stream_properties (AVFormatContext *s, int64_t size) |
| static int | asf_read_content_desc (AVFormatContext *s, int64_t size) |
| static int | asf_read_ext_content_desc (AVFormatContext *s, int64_t size) |
| static int | asf_read_language_list (AVFormatContext *s, int64_t size) |
| static int | asf_read_metadata (AVFormatContext *s, int64_t size) |
| static int | asf_read_marker (AVFormatContext *s, int64_t size) |
| static int | asf_read_header (AVFormatContext *s, AVFormatParameters *ap) |
| static int | ff_asf_get_packet (AVFormatContext *s, AVIOContext *pb) |
| Load a single ASF packet into the demuxer. | |
| static int | asf_read_frame_header (AVFormatContext *s, AVIOContext *pb) |
| static int | ff_asf_parse_packet (AVFormatContext *s, AVIOContext *pb, AVPacket *pkt) |
| Parse data from individual ASF packets (which were previously loaded with asf_get_packet()). | |
| static int | asf_read_packet (AVFormatContext *s, AVPacket *pkt) |
| static void | asf_reset_header (AVFormatContext *s) |
| static int | asf_read_close (AVFormatContext *s) |
| static int64_t | asf_read_pts (AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit) |
| static void | asf_build_simple_index (AVFormatContext *s, int stream_index) |
| static int | asf_read_seek (AVFormatContext *s, int stream_index, int64_t pts, int flags) |
Variables | |
| static const ff_asf_guid | index_guid |
| AVInputFormat | ff_asf_demuxer |
| #define ASF_MAX_STREAMS 127 |
Definition at line 81 of file asfdec.c.
Referenced by asf_read_pts(), and asf_read_stream_properties().
| #define DO_2BITS | ( | bits, | |||
| var, | |||||
| defval | ) |
Value:
switch (bits & 3) \ { \ case 3: var = avio_rl32(pb); rsize += 4; break; \ case 2: var = avio_rl16(pb); rsize += 2; break; \ case 1: var = avio_r8(pb); rsize++; break; \ default: var = defval; break; \ }
Definition at line 712 of file asfdec.c.
Referenced by asf_read_frame_header(), and ff_asf_get_packet().
| #define FRAME_HEADER_SIZE 17 |
Definition at line 82 of file asfdec.c.
Referenced by asf_read_packet(), ff_asf_parse_packet(), ffm_read_packet(), and ffm_write_packet().
| #define print_guid | ( | g | ) |
| static void asf_build_simple_index | ( | AVFormatContext * | s, | |
| int | stream_index | |||
| ) | [static] |
| static int asf_probe | ( | AVProbeData * | pd | ) | [static] |
| static int asf_read_close | ( | AVFormatContext * | s | ) | [static] |
| static int asf_read_content_desc | ( | AVFormatContext * | s, | |
| int64_t | size | |||
| ) | [static] |
| static int asf_read_ext_content_desc | ( | AVFormatContext * | s, | |
| int64_t | size | |||
| ) | [static] |
My sample has that stream set to 0 maybe that mean the container. Asf stream count start at 1. I am using 0 to the container value since it's unused
Definition at line 461 of file asfdec.c.
Referenced by asf_read_header().
| static int asf_read_ext_stream_properties | ( | AVFormatContext * | s, | |
| int64_t | size | |||
| ) | [static] |
| static int asf_read_file_properties | ( | AVFormatContext * | s, | |
| int64_t | size | |||
| ) | [static] |
| static int asf_read_frame_header | ( | AVFormatContext * | s, | |
| AVIOContext * | pb | |||
| ) | [static] |
| static int asf_read_header | ( | AVFormatContext * | s, | |
| AVFormatParameters * | ap | |||
| ) | [static] |
| static int asf_read_language_list | ( | AVFormatContext * | s, | |
| int64_t | size | |||
| ) | [static] |
| static int asf_read_marker | ( | AVFormatContext * | s, | |
| int64_t | size | |||
| ) | [static] |
| static int asf_read_metadata | ( | AVFormatContext * | s, | |
| int64_t | size | |||
| ) | [static] |
| static int asf_read_packet | ( | AVFormatContext * | s, | |
| AVPacket * | pkt | |||
| ) | [static] |
| static int64_t asf_read_pts | ( | AVFormatContext * | s, | |
| int | stream_index, | |||
| int64_t * | ppos, | |||
| int64_t | pos_limit | |||
| ) | [static] |
| static int asf_read_seek | ( | AVFormatContext * | s, | |
| int | stream_index, | |||
| int64_t | pts, | |||
| int | flags | |||
| ) | [static] |
| static int asf_read_stream_properties | ( | AVFormatContext * | s, | |
| int64_t | size | |||
| ) | [static] |
| static void asf_reset_header | ( | AVFormatContext * | s | ) | [static] |
Definition at line 1117 of file asfdec.c.
Referenced by asf_read_close(), asf_read_pts(), and asf_read_seek().
| static int ff_asf_get_packet | ( | AVFormatContext * | s, | |
| AVIOContext * | pb | |||
| ) | [static] |
Load a single ASF packet into the demuxer.
| s | demux context | |
| pb | context to read data from |
This code allows handling of -EAGAIN at packet boundaries (i.e. if the packet sync code above triggers -EAGAIN). This does not imply complete -EAGAIN handling support at random positions in the stream.
Definition at line 727 of file asfdec.c.
Referenced by asf_read_packet().
| static int ff_asf_parse_packet | ( | AVFormatContext * | s, | |
| AVIOContext * | pb, | |||
| AVPacket * | pkt | |||
| ) | [static] |
Parse data from individual ASF packets (which were previously loaded with asf_get_packet()).
| s | demux context | |
| pb | context to read data from | |
| pkt | pointer to store packet data into |
Definition at line 904 of file asfdec.c.
Referenced by asf_read_packet().
| static void get_tag | ( | AVFormatContext * | s, | |
| const char * | key, | |||
| int | type, | |||
| int | len | |||
| ) | [static] |
| static int get_value | ( | AVIOContext * | pb, | |
| int | type | |||
| ) | [static] |
Initial value:
{
.name = "asf",
.long_name = NULL_IF_CONFIG_SMALL("ASF format"),
.priv_data_size = sizeof(ASFContext),
.read_probe = asf_probe,
.read_header = asf_read_header,
.read_packet = asf_read_packet,
.read_close = asf_read_close,
.read_seek = asf_read_seek,
.read_timestamp = asf_read_pts,
.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
}
Definition at line 1307 of file asfdec.c.
Referenced by ff_wms_parse_sdp_a_line().
const ff_asf_guid index_guid [static] |
Initial value:
{
0x90, 0x08, 0x00, 0x33, 0xb1, 0xe5, 0xcf, 0x11, 0x89, 0xf4, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xcb
}
Definition at line 85 of file asfdec.c.
Referenced by asf_build_simple_index(), write_chunk_header(), and write_index().
1.5.8