
Data Structures | |
| struct | real_track_t |
| struct | real_index_t |
| struct | demux_sys_t |
Defines | |
| #define | RX(name, type, size, code) |
Functions | |
| static int | Open (vlc_object_t *) |
| Status of this demuxer: Real Media format -----------------. | |
| static void | Close (vlc_object_t *) |
| Releases resources. | |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static int | Demux (demux_t *) |
| static int | Control (demux_t *, int i_query, va_list args) |
| static void | DemuxVideo (demux_t *, real_track_t *tk, mtime_t i_dts, unsigned i_flags) |
| static void | DemuxAudio (demux_t *, real_track_t *tk, mtime_t i_pts, unsigned i_flags) |
| static int | ControlSeekByte (demux_t *, int64_t i_bytes) |
| static int | ControlSeekTime (demux_t *, mtime_t i_time) |
| static int | HeaderRead (demux_t *p_demux) |
| This function parses the complete RM headers and move the stream pointer to the data to be read. | |
| static int | CodecParse (demux_t *p_demux, int i_len, int i_num) |
| static void | RVoid (const uint8_t **pp_data, int *pi_data, int i_size) |
| static int | RLength (const uint8_t **pp_data, int *pi_data) |
| static uint8_t | R8 (const uint8_t **pp_data, int *pi_data) |
| static uint16_t | R16 (const uint8_t **pp_data, int *pi_data) |
| static uint32_t | R32 (const uint8_t **pp_data, int *pi_data) |
| static void | CheckPcr (demux_t *p_demux, real_track_t *tk, mtime_t i_dts) |
| static void | DemuxAudioMethod1 (demux_t *p_demux, real_track_t *tk, mtime_t i_pts, unsigned int i_flags) |
| static void | DemuxAudioMethod2 (demux_t *p_demux, real_track_t *tk, mtime_t i_pts) |
| static void | DemuxAudioMethod3 (demux_t *p_demux, real_track_t *tk, mtime_t i_pts) |
| static int | ControlGoToIndex (demux_t *p_demux, real_index_t *p_index) |
| static char * | StreamReadString2 (stream_t *s) |
| This function will read a pascal string with size stored in 2 bytes from a stream_t. | |
| static char * | MemoryReadString1 (const uint8_t **pp_data, int *pi_data) |
| This function will read a pascal string with size stored in 1 byte from a memory buffer. | |
| static int | HeaderRMF (demux_t *p_demux) |
| This function parses(skip) the .RMF identification chunk. | |
| static int | HeaderPROP (demux_t *p_demux) |
| This function parses the PROP properties chunk. | |
| static int | HeaderCONT (demux_t *p_demux) |
| This functions parses the CONT commentairs chunk. | |
| static int | HeaderMDPR (demux_t *p_demux) |
| This function parses the MDPR (Media properties) chunk. | |
| static int | HeaderDATA (demux_t *p_demux, uint32_t i_size) |
| This function parses DATA chunk (it contains the actual movie data). | |
| static void | HeaderINDX (demux_t *p_demux) |
| This function parses the INDX (movie index chunk). | |
| static void | CodecMetaRead (demux_t *p_demux, const uint8_t **pp_data, int *pi_data) |
| static int | CodecVideoParse (demux_t *p_demux, int i_tk_id, const uint8_t *p_data, int i_data) |
| static int | CodecAudioParse (demux_t *p_demux, int i_tk_id, const uint8_t *p_data, int i_data) |
Variables | |
| static const unsigned char | i_subpacket_size_sipr [4] = { 29, 19, 37, 20 } |
| static void CheckPcr | ( | demux_t * | p_demux, | |
| real_track_t * | tk, | |||
| mtime_t | i_dts | |||
| ) | [static] |
References es_out_Control(), ES_OUT_SET_PCR, real_track_t::i_last_dts, demux_sys_t::i_pcr, demux_t::out, demux_t::p_sys, and VLC_TS_INVALID.
Referenced by DemuxAudioMethod1(), DemuxAudioMethod2(), DemuxAudioMethod3(), and DemuxVideo().
| static void Close | ( | vlc_object_t * | p_this | ) | [static] |
Releases resources.
Close the module.
Destroys the X11 window.
Disconnect from the X server.
Close a SDL video output.
It destroys an OpenGL vout display.
Terminate a vout display created by Open.
It destroyes a Direct3D vout display.
Terminate an output method created by Open.
Release the drawable.
Close a libcaca video output.
Close a aa video output method.
Close the filter.
Terminate a splitter module.
This function closes a clone video splitter module.
Common close function.
Releases allocate resources.
Close: Destructor.
| p_this | pointer to this filter object | |
| p_this,: | the filter object |
| static int CodecAudioParse | ( | demux_t * | p_demux, | |
| int | i_tk_id, | |||
| const uint8_t * | p_data, | |||
| int | i_data | |||
| ) | [static] |
References es_format_t::audio, AUDIO_ES, demux_sys_t::b_real_audio, CodecMetaRead(), es_format_Clean(), es_format_Init(), es_out_Add(), real_track_t::fmt, GetWBE, audio_format_t::i_bitspersample, audio_format_t::i_blockalign, audio_format_t::i_channels, es_format_t::i_codec, real_track_t::i_coded_frame_size, es_format_t::i_extra, real_track_t::i_frame_size, real_track_t::i_id, real_track_t::i_last_dts, real_track_t::i_out_subpacket, audio_format_t::i_rate, real_track_t::i_subpacket, real_track_t::i_subpacket_h, real_track_t::i_subpacket_size, i_subpacket_size_sipr, real_track_t::i_subpackets, demux_sys_t::i_track, msg_Dbg, msg_Err, demux_t::out, real_track_t::p_es, es_format_t::p_extra, real_track_t::p_frame, real_track_t::p_subpackets, real_track_t::p_subpackets_timecode, demux_t::p_sys, R16(), R32(), RVoid(), TAB_APPEND, demux_sys_t::track, VLC_CODEC_A52, VLC_CODEC_ATRAC3, VLC_CODEC_COOK, VLC_CODEC_MP4A, VLC_CODEC_RA_144, VLC_CODEC_RA_288, VLC_CODEC_SIPR, VLC_EGENERIC, VLC_ENOMEM, VLC_FOURCC, and VLC_SUCCESS.
Referenced by CodecParse().
| static void CodecMetaRead | ( | demux_t * | p_demux, | |
| const uint8_t ** | pp_data, | |||
| int * | pi_data | |||
| ) | [static] |
References MemoryReadString1(), msg_Dbg, demux_t::p_sys, demux_sys_t::psz_artist, demux_sys_t::psz_copyright, demux_sys_t::psz_description, and demux_sys_t::psz_title.
Referenced by CodecAudioParse().
| static int CodecParse | ( | demux_t * | p_demux, | |
| int | i_len, | |||
| int | i_num | |||
| ) | [static] |
References CodecAudioParse(), CodecVideoParse(), msg_Dbg, demux_t::s, stream_Peek(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by HeaderMDPR().
| static int CodecVideoParse | ( | demux_t * | p_demux, | |
| int | i_tk_id, | |||
| const uint8_t * | p_data, | |||
| int | i_data | |||
| ) | [static] |
References es_format_Clean(), es_format_Init(), es_out_Add(), real_track_t::fmt, GetDWBE, GetWBE, es_format_t::i_codec, es_format_t::i_extra, real_track_t::i_frame_num, video_format_t::i_frame_rate, video_format_t::i_frame_rate_base, real_track_t::i_frame_size, video_format_t::i_height, real_track_t::i_id, real_track_t::i_last_dts, real_track_t::i_out_subpacket, real_track_t::i_subpacket, real_track_t::i_subpackets, demux_sys_t::i_track, video_format_t::i_width, msg_Dbg, demux_t::out, real_track_t::p_es, es_format_t::p_extra, real_track_t::p_frame, real_track_t::p_subpackets, real_track_t::p_subpackets_timecode, demux_t::p_sys, TAB_APPEND, demux_sys_t::track, es_format_t::video, VIDEO_ES, VLC_CODEC_RV13, VLC_CODEC_RV20, VLC_CODEC_RV30, VLC_CODEC_RV40, VLC_EGENERIC, VLC_ENOMEM, VLC_FOURCC, and VLC_SUCCESS.
Referenced by CodecParse().
| static int Control | ( | demux_t * | p_demux, | |
| int | i_query, | |||
| va_list | args | |||
| ) | [static] |
References demux_sys_t::b_seek, ControlSeekByte(), ControlSeekTime(), DEMUX_GET_FPS, DEMUX_GET_LENGTH, DEMUX_GET_META, DEMUX_GET_POSITION, DEMUX_GET_TIME, DEMUX_SET_POSITION, DEMUX_SET_TIME, demux_sys_t::i_our_duration, demux_sys_t::i_pcr, msg_Dbg, msg_Err, demux_sys_t::p_index, demux_t::p_sys, demux_sys_t::psz_artist, demux_sys_t::psz_copyright, demux_sys_t::psz_description, demux_sys_t::psz_title, demux_t::s, stream_Seek(), stream_Size(), stream_Tell(), VLC_EGENERIC, vlc_meta_SetArtist, vlc_meta_SetCopyright, vlc_meta_SetDescription, vlc_meta_SetTitle, VLC_SUCCESS, VLC_TS_0, and VLC_TS_INVALID.
| static int ControlGoToIndex | ( | demux_t * | p_demux, | |
| real_index_t * | p_index | |||
| ) | [static] |
References demux_sys_t::b_seek, i, real_index_t::i_file_offset, demux_sys_t::i_pcr, real_index_t::i_time_offset, demux_sys_t::i_track, demux_t::p_sys, demux_t::s, stream_Seek(), and demux_sys_t::track.
Referenced by ControlSeekByte(), and ControlSeekTime().
| static int ControlSeekByte | ( | demux_t * | p_demux, | |
| int64_t | i_bytes | |||
| ) | [static] |
References ControlGoToIndex(), real_index_t::i_file_offset, demux_sys_t::p_index, demux_t::p_sys, and VLC_EGENERIC.
Referenced by Control().
References ControlGoToIndex(), real_index_t::i_file_offset, real_index_t::i_time_offset, demux_sys_t::p_index, demux_t::p_sys, and VLC_EGENERIC.
Referenced by Control().
| static int Demux | ( | demux_t * | p_demux | ) | [static] |
References AUDIO_ES, demux_sys_t::buffer, DemuxAudio(), DemuxVideo(), es_out_Control(), ES_OUT_SET_PCR, real_track_t::fmt, GetDWBE, GetWBE, i, demux_sys_t::i_buffer, es_format_t::i_cat, demux_sys_t::i_data_offset, demux_sys_t::i_data_offset_next, demux_sys_t::i_data_packets, demux_sys_t::i_data_packets_count, demux_sys_t::i_data_size, asf_track_t::i_id, real_track_t::i_last_dts, demux_sys_t::i_pcr, demux_sys_t::i_track, msg_Dbg, msg_Err, msg_Warn, demux_t::out, demux_t::p_sys, demux_t::s, stream_Read(), stream_Tell(), demux_sys_t::track, VIDEO_ES, VLC_TS_0, and VLC_TS_INVALID.
| static void DemuxAudio | ( | demux_t * | p_demux, | |
| real_track_t * | tk, | |||
| mtime_t | i_pts, | |||
| unsigned | i_flags | |||
| ) | [static] |
References DemuxAudioMethod1(), DemuxAudioMethod2(), DemuxAudioMethod3(), real_track_t::fmt, es_format_t::i_codec, VLC_CODEC_ATRAC3, VLC_CODEC_COOK, VLC_CODEC_MP4A, VLC_CODEC_RA_288, and VLC_CODEC_SIPR.
Referenced by Demux().
| static void DemuxAudioMethod1 | ( | demux_t * | p_demux, | |
| real_track_t * | tk, | |||
| mtime_t | i_pts, | |||
| unsigned int | i_flags | |||
| ) | [static] |
References demux_sys_t::b_seek, block_New, block_Release(), demux_sys_t::buffer, CheckPcr(), es_out_Send(), real_track_t::fmt, i, demux_sys_t::i_buffer, es_format_t::i_codec, real_track_t::i_coded_frame_size, block_t::i_dts, real_track_t::i_frame_size, real_track_t::i_out_subpacket, block_t::i_pts, real_track_t::i_subpacket, real_track_t::i_subpacket_h, real_track_t::i_subpacket_size, real_track_t::i_subpackets, msg_Dbg, msg_Warn, demux_t::out, block_t::p_buffer, real_track_t::p_es, real_track_t::p_subpackets, real_track_t::p_subpackets_timecode, demux_t::p_sys, VLC_CODEC_ATRAC3, VLC_CODEC_COOK, VLC_CODEC_RA_288, VLC_CODEC_SIPR, and VLC_TS_INVALID.
Referenced by DemuxAudio().
| static void DemuxAudioMethod2 | ( | demux_t * | p_demux, | |
| real_track_t * | tk, | |||
| mtime_t | i_pts | |||
| ) | [static] |
References block_New, demux_sys_t::buffer, CheckPcr(), es_out_Send(), GetWBE, i, demux_sys_t::i_buffer, block_t::i_dts, block_t::i_pts, demux_t::out, block_t::p_buffer, real_track_t::p_es, demux_t::p_sys, and VLC_TS_INVALID.
Referenced by DemuxAudio().
| static void DemuxAudioMethod3 | ( | demux_t * | p_demux, | |
| real_track_t * | tk, | |||
| mtime_t | i_pts | |||
| ) | [static] |
References block_New, demux_sys_t::buffer, CheckPcr(), es_out_Send(), real_track_t::fmt, demux_sys_t::i_buffer, es_format_t::i_codec, block_t::i_dts, block_t::i_pts, demux_t::out, block_t::p_buffer, p_dst, real_track_t::p_es, demux_t::p_sys, and VLC_CODEC_A52.
Referenced by DemuxAudio().
| static void DemuxVideo | ( | demux_t * | p_demux, | |
| real_track_t * | tk, | |||
| mtime_t | i_dts, | |||
| unsigned | i_flags | |||
| ) | [static] |
References BLOCK_FLAG_TYPE_I, block_New, block_Release(), demux_sys_t::buffer, CheckPcr(), es_out_Send(), block_t::i_buffer, demux_sys_t::i_buffer, block_t::i_dts, block_t::i_flags, real_track_t::i_frame_num, real_track_t::i_frame_pos, real_track_t::i_frame_size, real_track_t::i_frame_slice, real_track_t::i_frame_slice_count, block_t::i_pts, i_type, demux_t::out, block_t::p_buffer, real_track_t::p_es, real_track_t::p_frame, demux_t::p_sys, R8(), RLength(), RVoid(), SetDWLE, and VLC_TS_INVALID.
Referenced by Demux().
| static int HeaderCONT | ( | demux_t * | p_demux | ) | [static] |
This functions parses the CONT commentairs chunk.
References msg_Dbg, demux_t::p_sys, demux_sys_t::psz_artist, demux_sys_t::psz_copyright, demux_sys_t::psz_description, demux_sys_t::psz_title, demux_t::s, StreamReadString2(), and VLC_SUCCESS.
Referenced by HeaderRead().
| static int HeaderDATA | ( | demux_t * | p_demux, | |
| uint32_t | i_size | |||
| ) | [static] |
This function parses DATA chunk (it contains the actual movie data).
References GetDWBE, demux_sys_t::i_data_offset, demux_sys_t::i_data_offset_next, demux_sys_t::i_data_packets, demux_sys_t::i_data_packets_count, demux_sys_t::i_data_size, msg_Dbg, demux_t::p_sys, demux_t::s, stream_Read(), stream_Tell(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by HeaderRead().
| static void HeaderINDX | ( | demux_t * | p_demux | ) | [static] |
This function parses the INDX (movie index chunk).
It is optional but seeking without it is ... hard.
References GetDWBE, GetWBE, i, real_index_t::i_file_offset, real_index_t::i_frame_index, demux_sys_t::i_index_offset, real_index_t::i_time_offset, msg_Dbg, demux_sys_t::p_index, demux_t::p_sys, demux_t::s, stream_Read(), stream_Seek(), and VLC_FOURCC.
Referenced by HeaderRead().
| static int HeaderMDPR | ( | demux_t * | p_demux | ) | [static] |
This function parses the MDPR (Media properties) chunk.
References CodecParse(), GetDWBE, GetWBE, MemoryReadString1(), msg_Dbg, psz_mime, psz_name, demux_t::s, size, stream_Peek(), stream_Read(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by HeaderRead().
| static int HeaderPROP | ( | demux_t * | p_demux | ) | [static] |
This function parses the PROP properties chunk.
References GetDWBE, GetWBE, demux_sys_t::i_index_offset, demux_sys_t::i_our_duration, msg_Dbg, demux_t::p_sys, demux_t::s, stream_Read(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by HeaderRead().
| static int HeaderRead | ( | demux_t * | p_demux | ) | [static] |
This function parses the complete RM headers and move the stream pointer to the data to be read.
References GetDWBE, GetWBE, HeaderCONT(), HeaderDATA(), HeaderINDX(), HeaderMDPR(), HeaderPROP(), HeaderRMF(), demux_sys_t::i_index_offset, msg_Dbg, demux_t::p_sys, demux_t::s, stream_Read(), stream_Seek(), stream_Tell(), VLC_EGENERIC, VLC_FOURCC, and VLC_SUCCESS.
| static int HeaderRMF | ( | demux_t * | p_demux | ) | [static] |
This function parses(skip) the .RMF identification chunk.
References GetDWBE, msg_Dbg, demux_t::s, stream_Read(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by HeaderRead().
| static char* MemoryReadString1 | ( | const uint8_t ** | pp_data, | |
| int * | pi_data | |||
| ) | [static] |
This function will read a pascal string with size stored in 1 byte from a memory buffer.
FIXME what is the right charset ?
References EnsureUTF8(), and strndup().
Referenced by CodecMetaRead(), and HeaderMDPR().
| static int Open | ( | vlc_object_t * | p_this | ) | [static] |
Status of this demuxer: Real Media format -----------------.
version v3 w/ 14_4/lpcJ is ok. version v4/5: - atrac3 is ok.
Real Audio Only --------------- v3 and v4/5 headers are parsed. Doesn't work yet...
Status of this demuxer: Real Media format -----------------.
Basic chorus/flanger/delay audio filter This implements a variable delay filter for VLC.
Todo:
Open the module.
Create an X11 window.
Probe the X server.
This function initializes SDL vout method.
It creates an OpenGL vout display.
This function allocates and initialize the DirectX vout display.
It creates a Direct3D vout display.
This function allocates and initializes a FB vout method.
Find the drawable set by libvlc application.
This function initializes libcaca vout method.
This function allocates and initializes a aa vout method.
This function allocates and initializes a Wall splitter module.
Open the filter.
This function allocates and initializes a Clone splitter module.
Open: initialize and create stuff.
Connect to the sftp server and ask for a file.
| p_this,: | the vlc_object |
| p_this | ||
| p_this,: | the filter object |
| static uint16_t R16 | ( | const uint8_t ** | pp_data, | |
| int * | pi_data | |||
| ) | [static] |
Referenced by CodecAudioParse(), and RLength().
| static uint32_t R32 | ( | const uint8_t ** | pp_data, | |
| int * | pi_data | |||
| ) | [static] |
Referenced by CodecAudioParse().
| static uint8_t R8 | ( | const uint8_t ** | pp_data, | |
| int * | pi_data | |||
| ) | [static] |
Referenced by DemuxVideo().
| static int RLength | ( | const uint8_t ** | pp_data, | |
| int * | pi_data | |||
| ) | [static] |
| static void RVoid | ( | const uint8_t ** | pp_data, | |
| int * | pi_data, | |||
| int | i_size | |||
| ) | [static] |
Referenced by CodecAudioParse(), and DemuxVideo().
| static char* StreamReadString2 | ( | stream_t * | s | ) | [static] |
This function will read a pascal string with size stored in 2 bytes from a stream_t.
FIXME what is the right charset ?
References EnsureUTF8(), GetWBE, and stream_Read().
Referenced by HeaderCONT().
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
const unsigned char i_subpacket_size_sipr[4] = { 29, 19, 37, 20 } [static] |
Referenced by CodecAudioParse().
1.5.6