real.c File Reference

Include dependency graph for real.c:


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 }

Define Documentation

#define RX ( name,
type,
size,
code   ) 

Value:

static type name( const uint8_t **pp_data, int *pi_data ) { \
    if( *pi_data < (size) )          \
        return 0;                    \
    type v = code;                   \
    RVoid( pp_data, pi_data, size ); \
    return v;                        \
}


Function Documentation

static void CheckPcr ( demux_t p_demux,
real_track_t tk,
mtime_t  i_dts 
) [static]

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.

Parameters:
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]

static void CodecMetaRead ( demux_t p_demux,
const uint8_t **  pp_data,
int *  pi_data 
) [static]

static int CodecParse ( demux_t p_demux,
int  i_len,
int  i_num 
) [static]

static int CodecVideoParse ( demux_t p_demux,
int  i_tk_id,
const uint8_t *  p_data,
int  i_data 
) [static]

static int Control ( demux_t p_demux,
int  i_query,
va_list  args 
) [static]

static int ControlGoToIndex ( demux_t p_demux,
real_index_t p_index 
) [static]

static int ControlSeekByte ( demux_t p_demux,
int64_t  i_bytes 
) [static]

static int ControlSeekTime ( demux_t p_demux,
mtime_t  i_time 
) [static]

static int Demux ( demux_t p_demux  )  [static]

static void DemuxAudio ( demux_t p_demux,
real_track_t tk,
mtime_t  i_pts,
unsigned  i_flags 
) [static]

static void DemuxAudioMethod1 ( demux_t p_demux,
real_track_t tk,
mtime_t  i_pts,
unsigned int  i_flags 
) [static]

static void DemuxAudioMethod2 ( demux_t p_demux,
real_track_t tk,
mtime_t  i_pts 
) [static]

static void DemuxAudioMethod3 ( demux_t p_demux,
real_track_t tk,
mtime_t  i_pts 
) [static]

static void DemuxVideo ( demux_t p_demux,
real_track_t tk,
mtime_t  i_dts,
unsigned  i_flags 
) [static]

static int HeaderCONT ( demux_t p_demux  )  [static]

static int HeaderDATA ( demux_t p_demux,
uint32_t  i_size 
) [static]

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.

  • cook is ok.
  • raac, racp are ok.
  • dnet is twisted "The byte order of the data is reversed from standard AC3" but ok
  • 28_8 is ok.
  • sipr doesn't work
  • ralf is unsupported, but hardly any sample exist.
  • mp3 is unsupported, one sample exists...

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:

  • Improve CDDB support (non-blocking, cache, .

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.

Parameters:
p_this,: the vlc_object
Returns:
VLC_SUCCESS if everything was fine
Parameters:
p_this 
p_this,: the filter object
Returns:
VLC_SUCCESS or vlc error codes

Todo:
Reinstate meta codec name

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]

References R16().

Referenced by DemuxVideo().

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   ) 


Variable Documentation

const unsigned char i_subpacket_size_sipr[4] = { 29, 19, 37, 20 } [static]

Referenced by CodecAudioParse().


Generated on Tue May 25 08:05:08 2010 for VLC by  doxygen 1.5.6