#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,
}
1.5.8