#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().