#include "libavutil/common.h"
#include "libavutil/avstring.h"
#include "libavcodec/mpegaudio.h"
#include "avformat.h"
#include "riff.h"
#include "asf.h"
#include "asfcrypt.h"
#include "avlanguage.h"
#include <assert.h>
Go to the source code of this file.
Defines | |
#define | FRAME_HEADER_SIZE 17 |
#define | print_guid(g) |
#define | DO_2BITS(bits, var, defval) |
Functions | |
void | ff_mms_set_stream_selection (URLContext *h, AVFormatContext *format) |
static int | guidcmp (const void *g1, const void *g2) |
static void | get_guid (ByteIOContext *s, ff_asf_guid *g) |
static void | get_str16_nolen (ByteIOContext *pb, int len, char *buf, int buf_size) |
static int | asf_probe (AVProbeData *pd) |
static int | get_value (ByteIOContext *pb, int type) |
static void | get_tag (AVFormatContext *s, const char *key, int type, int len) |
static int | asf_read_header (AVFormatContext *s, AVFormatParameters *ap) |
static int | ff_asf_get_packet (AVFormatContext *s, ByteIOContext *pb) |
Load a single ASF packet into the demuxer. | |
static int | asf_read_frame_header (AVFormatContext *s, ByteIOContext *pb) |
static int | ff_asf_parse_packet (AVFormatContext *s, ByteIOContext *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 |
static const ff_asf_guid | stream_bitrate_guid |
AVInputFormat | asf_demuxer |
#define DO_2BITS | ( | bits, | |||
var, | |||||
defval | ) |
Value:
switch (bits & 3) \ { \ case 3: var = get_le32(pb); rsize += 4; break; \ case 2: var = get_le16(pb); rsize += 2; break; \ case 1: var = get_byte(pb); rsize++; break; \ default: var = defval; break; \ }
Definition at line 631 of file asfdec.c.
Referenced by asf_read_frame_header(), and ff_asf_get_packet().
#define FRAME_HEADER_SIZE 17 |
Definition at line 38 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_frame_header | ( | AVFormatContext * | s, | |
ByteIOContext * | pb | |||
) | [static] |
static int asf_read_header | ( | AVFormatContext * | s, | |
AVFormatParameters * | ap | |||
) | [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 void asf_reset_header | ( | AVFormatContext * | s | ) | [static] |
Definition at line 998 of file asfdec.c.
Referenced by asf_read_close(), asf_read_pts(), and asf_read_seek().
static int ff_asf_get_packet | ( | AVFormatContext * | s, | |
ByteIOContext * | 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 646 of file asfdec.c.
Referenced by asf_read_packet().
static int ff_asf_parse_packet | ( | AVFormatContext * | s, | |
ByteIOContext * | 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 810 of file asfdec.c.
Referenced by asf_read_packet().
void ff_mms_set_stream_selection | ( | URLContext * | h, | |
AVFormatContext * | format | |||
) |
static void get_guid | ( | ByteIOContext * | s, | |
ff_asf_guid * | g | |||
) | [static] |
Definition at line 99 of file asfdec.c.
Referenced by asf_build_simple_index(), and asf_read_header().
static void get_str16_nolen | ( | ByteIOContext * | pb, | |
int | len, | |||
char * | buf, | |||
int | buf_size | |||
) | [static] |
static void get_tag | ( | AVFormatContext * | s, | |
const char * | key, | |||
int | type, | |||
int | len | |||
) | [static] |
static int get_value | ( | ByteIOContext * | pb, | |
int | type | |||
) | [static] |
static int guidcmp | ( | const void * | g1, | |
const void * | g2 | |||
) | [static] |
Definition at line 51 of file asfdec.c.
Referenced by asf_build_simple_index(), asf_probe(), and asf_read_header().
Initial value:
{ "asf", NULL_IF_CONFIG_SMALL("ASF format"), sizeof(ASFContext), asf_probe, asf_read_header, asf_read_packet, asf_read_close, asf_read_seek, asf_read_pts, .metadata_conv = ff_asf_metadata_conv, }
Definition at line 1194 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 41 of file asfdec.c.
Referenced by asf_build_simple_index().
const ff_asf_guid stream_bitrate_guid [static] |
Initial value:
{ 0xce, 0x75, 0xf8, 0x7b, 0x8d, 0x46, 0xd1, 0x11, 0x8d, 0x82, 0x00, 0x60, 0x97, 0xc9, 0xa2, 0xb2 }
Definition at line 45 of file asfdec.c.
Referenced by asf_read_header().