mp4.c File Reference

Include dependency graph for mp4.c:


Data Structures

struct  mp4_entry_t
struct  mp4_stream_t
struct  sout_mux_sys_t
struct  bo_t

Defines

#define FASTSTART_TEXT   N_("Create \"Fast Start\" files")
#define FASTSTART_LONGTEXT
#define SOUT_CFG_PREFIX   "sout-mp4-"
#define ADD_META_BOX(type, box_string)

Functions

static int Open (vlc_object_t *)
 Probes and initializes.
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 Control (sout_mux_t *, int, va_list)
static int AddStream (sout_mux_t *, sout_input_t *)
static int DelStream (sout_mux_t *, sout_input_t *)
static int Mux (sout_mux_t *)
static void bo_init (bo_t *, int, uint8_t *, bool)
static void bo_add_8 (bo_t *, uint8_t)
static void bo_add_16be (bo_t *, uint16_t)
static void bo_add_24be (bo_t *, uint32_t)
static void bo_add_32be (bo_t *, uint32_t)
static void bo_add_64be (bo_t *, uint64_t)
static void bo_add_fourcc (bo_t *, const char *)
static void bo_add_bo (bo_t *, bo_t *)
static void bo_add_mem (bo_t *, int, uint8_t *)
static void bo_add_descr (bo_t *, uint8_t, uint32_t)
static void bo_fix_32be (bo_t *, int, uint32_t)
static bo_tbox_new (const char *fcc)
static bo_tbox_full_new (const char *fcc, uint8_t v, uint32_t f)
static void box_fix (bo_t *box)
static void box_free (bo_t *box)
static void box_gather (bo_t *box, bo_t *box2)
static void box_send (sout_mux_t *p_mux, bo_t *box)
static block_tbo_to_sout (sout_instance_t *p_sout, bo_t *box)
static bo_tGetMoovBox (sout_mux_t *p_mux)
static block_tConvertSUBT (block_t *)
static block_tConvertAVC1 (block_t *)
static int GetDescrLength (int i_size)
static bo_tGetESDS (mp4_stream_t *p_stream)
static bo_tGetWaveTag (mp4_stream_t *p_stream)
static bo_tGetDamrTag (mp4_stream_t *p_stream)
static bo_tGetD263Tag (void)
static bo_tGetAvcCTag (mp4_stream_t *p_stream)
static bo_tGetSVQ3Tag (mp4_stream_t *p_stream)
static bo_tGetUdtaTag (sout_mux_t *p_mux)
static bo_tGetSounBox (sout_mux_t *p_mux, mp4_stream_t *p_stream)
static bo_tGetVideBox (mp4_stream_t *p_stream)
static bo_tGetTextBox (void)
static bo_tGetStblBox (sout_mux_t *p_mux, mp4_stream_t *p_stream)
static int64_t get_timestamp (void)

Variables

static const char *const ppsz_sout_options []
static const uint32_t mvhd_matrix [9]

Define Documentation

#define ADD_META_BOX ( type,
box_string   ) 

Value:

{ \
        bo_t *box = NULL;  \
        if( vlc_meta_Get( p_meta, vlc_meta_##type ) ) box = box_new( "\251" box_string ); \
        if( box ) \
        { \
            bo_add_16be( box, strlen( vlc_meta_Get( p_meta, vlc_meta_##type ) )); \
            bo_add_16be( box, 0 ); \
            bo_add_mem( box, strlen( vlc_meta_Get( p_meta, vlc_meta_##type ) ), \
                        (uint8_t*)(vlc_meta_Get( p_meta, vlc_meta_##type ) ) ); \
            box_fix( box ); \
            box_gather( udta, box ); \
        } }

Referenced by GetUdtaTag().

#define FASTSTART_LONGTEXT

Value:

N_( \
    "Create \"Fast Start\" files. " \
    "\"Fast Start\" files are optimized for downloads and allow the user " \
    "to start previewing the file while it is downloading.")

#define FASTSTART_TEXT   N_("Create \"Fast Start\" files")

#define SOUT_CFG_PREFIX   "sout-mp4-"


Function Documentation

static int AddStream ( sout_mux_t p_mux,
sout_input_t p_input 
) [static]

static void bo_add_16be ( bo_t p_bo,
uint16_t  i 
) [static]

static void bo_add_24be ( bo_t p_bo,
uint32_t  i 
) [static]

References bo_add_8().

Referenced by box_full_new(), and GetESDS().

static void bo_add_32be ( bo_t p_bo,
uint32_t  i 
) [static]

static void bo_add_64be ( bo_t p_bo,
uint64_t  i 
) [static]

References bo_add_32be().

Referenced by GetMoovBox(), GetStblBox(), and GetTextBox().

static void bo_add_8 ( bo_t p_bo,
uint8_t  i 
) [static]

static void bo_add_bo ( bo_t p_bo,
bo_t p_bo2 
) [static]

References bo_add_8(), bo_t::i_buffer, and bo_t::p_buffer.

Referenced by box_gather().

static void bo_add_descr ( bo_t p_bo,
uint8_t  tag,
uint32_t  i_size 
) [static]

References bo_add_8().

Referenced by GetESDS().

static void bo_add_fourcc ( bo_t p_bo,
const char *  fcc 
) [static]

static void bo_add_mem ( bo_t p_bo,
int  i_size,
uint8_t *  p_mem 
) [static]

References bo_add_8().

static void bo_fix_32be ( bo_t p_bo,
int  i_pos,
uint32_t  i 
) [static]

References bo_t::p_buffer.

Referenced by GetStblBox().

static void bo_init ( bo_t p_bo,
int  i_size,
uint8_t *  p_buffer,
bool  b_grow 
) [static]

static block_t * bo_to_sout ( sout_instance_t p_sout,
bo_t box 
) [static]

static void box_fix ( bo_t box  )  [static]

static void box_free ( bo_t box  )  [static]

References bo_t::p_buffer.

Referenced by box_gather(), and box_send().

static bo_t * box_full_new ( const char *  fcc,
uint8_t  v,
uint32_t  f 
) [static]

static void box_gather ( bo_t box,
bo_t box2 
) [static]

static bo_t * box_new ( const char *  fcc  )  [static]

static void box_send ( sout_mux_t p_mux,
bo_t box 
) [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 Control ( sout_mux_t p_mux,
int  i_query,
va_list  args 
) [static]

static block_t * ConvertAVC1 ( block_t p_block  )  [static]

References block_t::i_buffer, and block_t::p_buffer.

Referenced by Mux().

static block_t * ConvertSUBT ( block_t p_block  )  [static]

References block_Realloc(), block_t::i_buffer, and block_t::p_buffer.

Referenced by Mux().

static int DelStream ( sout_mux_t p_mux,
sout_input_t p_input 
) [static]

References msg_Dbg, VLC_SUCCESS, and VLC_UNUSED.

static int64_t get_timestamp ( void   )  [static]

Referenced by GetMoovBox().

static bo_t* GetAvcCTag ( mp4_stream_t p_stream  )  [static]

static bo_t* GetD263Tag ( void   )  [static]

static bo_t* GetDamrTag ( mp4_stream_t p_stream  )  [static]

static int GetDescrLength ( int  i_size  )  [static]

Referenced by GetESDS().

static bo_t* GetESDS ( mp4_stream_t p_stream  )  [static]

static bo_t * GetMoovBox ( sout_mux_t p_mux  )  [static]

static bo_t* GetSounBox ( sout_mux_t p_mux,
mp4_stream_t p_stream 
) [static]

static bo_t* GetStblBox ( sout_mux_t p_mux,
mp4_stream_t p_stream 
) [static]

static bo_t* GetSVQ3Tag ( mp4_stream_t p_stream  )  [static]

static bo_t* GetTextBox ( void   )  [static]

static bo_t* GetUdtaTag ( sout_mux_t p_mux  )  [static]

static bo_t* GetVideBox ( mp4_stream_t p_stream  )  [static]

static bo_t* GetWaveTag ( mp4_stream_t p_stream  )  [static]

static int Mux ( sout_mux_t p_mux  )  [static]

static int Open ( vlc_object_t p_this  )  [static]

Probes and initializes.

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

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 


Variable Documentation

const uint32_t mvhd_matrix[9] [static]

Initial value:

    { 0x10000, 0, 0, 0, 0x10000, 0, 0, 0, 0x40000000 }

const char* const ppsz_sout_options[] [static]

Initial value:

 {
    "faststart", NULL
}


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