#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "rm.h"
Go to the source code of this file.
Data Structures | |
struct | RMStream |
struct | RMDemuxContext |
Defines | |
#define | RAW_PACKET_SIZE 1000 |
Functions | |
static void | get_strl (ByteIOContext *pb, char *buf, int buf_size, int len) |
static void | get_str8 (ByteIOContext *pb, char *buf, int buf_size) |
static void | rm_read_metadata (AVFormatContext *s, int wide) |
RMStream * | ff_rm_alloc_rmstream (void) |
void | ff_rm_free_rmstream (RMStream *rms) |
static int | rm_read_audio_stream_info (AVFormatContext *s, ByteIOContext *pb, AVStream *st, RMStream *ast, int read_all) |
int | ff_rm_read_mdpr_codecdata (AVFormatContext *s, ByteIOContext *pb, AVStream *st, RMStream *rst, int codec_data_size) |
Read the MDPR chunk, which contains stream-specific codec initialization parameters. | |
static int | rm_read_header_old (AVFormatContext *s, AVFormatParameters *ap) |
static int | rm_read_header (AVFormatContext *s, AVFormatParameters *ap) |
static int | get_num (ByteIOContext *pb, int *len) |
static int | sync (AVFormatContext *s, int64_t *timestamp, int *flags, int *stream_index, int64_t *pos) |
static int | rm_assemble_video_frame (AVFormatContext *s, ByteIOContext *pb, RMDemuxContext *rm, RMStream *vst, AVPacket *pkt, int len) |
static void | rm_ac3_swap_bytes (AVStream *st, AVPacket *pkt) |
int | ff_rm_parse_packet (AVFormatContext *s, ByteIOContext *pb, AVStream *st, RMStream *ast, int len, AVPacket *pkt, int *seq, int *flags, int64_t *timestamp) |
Parse one rm-stream packet from the input bytestream. | |
int | ff_rm_retrieve_cache (AVFormatContext *s, ByteIOContext *pb, AVStream *st, RMStream *ast, AVPacket *pkt) |
Retrieve one cached packet from the rm-context. | |
static int | rm_read_packet (AVFormatContext *s, AVPacket *pkt) |
static int | rm_read_close (AVFormatContext *s) |
static int | rm_probe (AVProbeData *p) |
static int64_t | rm_read_dts (AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit) |
Variables | |
AVInputFormat | rm_demuxer |
AVInputFormat | rdt_demuxer |
#define RAW_PACKET_SIZE 1000 |
RMStream* ff_rm_alloc_rmstream | ( | void | ) |
Definition at line 81 of file rmdec.c.
Referenced by rdt_parse_sdp_line(), rm_read_header(), and rm_read_header_old().
void ff_rm_free_rmstream | ( | RMStream * | rms | ) |
int ff_rm_parse_packet | ( | AVFormatContext * | s, | |
ByteIOContext * | pb, | |||
AVStream * | st, | |||
RMStream * | rst, | |||
int | len, | |||
AVPacket * | pkt, | |||
int * | seq, | |||
int * | flags, | |||
int64_t * | ts | |||
) |
Parse one rm-stream packet from the input bytestream.
s | context containing RMContext and ByteIOContext for stream reading | |
pb | context to read the data from | |
st | stream to which the packet to be read belongs | |
rst | Real-specific stream information | |
len | packet length to read from the input | |
pkt | packet location to store the parsed packet data | |
seq | pointer to an integer containing the sequence number, may be updated | |
flags | pointer to an integer containing the packet flags, may be updated | |
ts | pointer to timestamp, may be updated |
Definition at line 578 of file rmdec.c.
Referenced by rdt_parse_packet(), and rm_read_packet().
int ff_rm_read_mdpr_codecdata | ( | AVFormatContext * | s, | |
ByteIOContext * | pb, | |||
AVStream * | st, | |||
RMStream * | rst, | |||
int | codec_data_size | |||
) |
Read the MDPR chunk, which contains stream-specific codec initialization parameters.
s | context containing RMContext and ByteIOContext for stream reading | |
pb | context to read the data from | |
st | the stream that the MDPR chunk belongs to and where to store the parameters read from the chunk into | |
rst | real-specific stream information | |
codec_data_size | size of the MDPR chunk |
Definition at line 228 of file rmdec.c.
Referenced by rdt_load_mdpr(), and rm_read_header().
int ff_rm_retrieve_cache | ( | AVFormatContext * | s, | |
ByteIOContext * | pb, | |||
AVStream * | st, | |||
RMStream * | rst, | |||
AVPacket * | pkt | |||
) |
Retrieve one cached packet from the rm-context.
The real container can store several packets (as interpreted by the codec) in a single container packet, which means the demuxer holds some back when the first container packet is parsed and returned. The result is that rm->audio_pkt_cnt is a positive number, the amount of cached packets. Using this function, each of those packets can be retrieved sequentially.
s | context containing RMContext and ByteIOContext for stream reading | |
pb | context to read the data from | |
st | stream that this packet belongs to | |
rst | Real-specific stream information | |
pkt | location to store the packet data |
Definition at line 677 of file rmdec.c.
Referenced by rdt_parse_packet(), and rm_read_packet().
static int get_num | ( | ByteIOContext * | pb, | |
int * | len | |||
) | [static] |
static void get_str8 | ( | ByteIOContext * | pb, | |
char * | buf, | |||
int | buf_size | |||
) | [static] |
Definition at line 65 of file rmdec.c.
Referenced by rm_read_audio_stream_info(), and rm_read_header().
static void get_strl | ( | ByteIOContext * | pb, | |
char * | buf, | |||
int | buf_size, | |||
int | len | |||
) | [inline, static] |
static int rm_assemble_video_frame | ( | AVFormatContext * | s, | |
ByteIOContext * | pb, | |||
RMDemuxContext * | rm, | |||
RMStream * | vst, | |||
AVPacket * | pkt, | |||
int | len | |||
) | [static] |
static int rm_probe | ( | AVProbeData * | p | ) | [static] |
static int rm_read_audio_stream_info | ( | AVFormatContext * | s, | |
ByteIOContext * | pb, | |||
AVStream * | st, | |||
RMStream * | ast, | |||
int | read_all | |||
) | [static] |
Definition at line 93 of file rmdec.c.
Referenced by ff_rm_read_mdpr_codecdata(), and rm_read_header_old().
static int rm_read_close | ( | AVFormatContext * | s | ) | [static] |
static int64_t rm_read_dts | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t * | ppos, | |||
int64_t | pos_limit | |||
) | [static] |
static int rm_read_header | ( | AVFormatContext * | s, | |
AVFormatParameters * | ap | |||
) | [static] |
static int rm_read_header_old | ( | AVFormatContext * | s, | |
AVFormatParameters * | ap | |||
) | [static] |
static void rm_read_metadata | ( | AVFormatContext * | s, | |
int | wide | |||
) | [static] |
Definition at line 70 of file rmdec.c.
Referenced by rm_read_audio_stream_info(), and rm_read_header().
static int rm_read_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) | [static] |
static int sync | ( | AVFormatContext * | s, | |
int64_t * | timestamp, | |||
int * | flags, | |||
int * | stream_index, | |||
int64_t * | pos | |||
) | [static] |
Definition at line 427 of file rmdec.c.
Referenced by avi_read_packet(), ogg_read_page(), rm_read_dts(), and rm_read_packet().
Initial value:
{ "rdt", NULL_IF_CONFIG_SMALL("RDT demuxer"), sizeof(RMDemuxContext), NULL, NULL, NULL, rm_read_close, }
Definition at line 839 of file rmdec.c.
Referenced by rdt_new_extradata().
Initial value:
{ "rm", NULL_IF_CONFIG_SMALL("RealMedia format"), sizeof(RMDemuxContext), rm_probe, rm_read_header, rm_read_packet, rm_read_close, NULL, rm_read_dts, }