
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_t * | box_new (const char *fcc) |
| static bo_t * | box_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_t * | bo_to_sout (sout_instance_t *p_sout, bo_t *box) |
| static bo_t * | GetMoovBox (sout_mux_t *p_mux) |
| static block_t * | ConvertSUBT (block_t *) |
| static block_t * | ConvertAVC1 (block_t *) |
| static int | GetDescrLength (int i_size) |
| static bo_t * | GetESDS (mp4_stream_t *p_stream) |
| static bo_t * | GetWaveTag (mp4_stream_t *p_stream) |
| static bo_t * | GetDamrTag (mp4_stream_t *p_stream) |
| static bo_t * | GetD263Tag (void) |
| static bo_t * | GetAvcCTag (mp4_stream_t *p_stream) |
| static bo_t * | GetSVQ3Tag (mp4_stream_t *p_stream) |
| static bo_t * | GetUdtaTag (sout_mux_t *p_mux) |
| static bo_t * | GetSounBox (sout_mux_t *p_mux, mp4_stream_t *p_stream) |
| static bo_t * | GetVideBox (mp4_stream_t *p_stream) |
| static bo_t * | GetTextBox (void) |
| static bo_t * | GetStblBox (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 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-" |
| static int AddStream | ( | sout_mux_t * | p_mux, | |
| sout_input_t * | p_input | |||
| ) | [static] |
References mp4_stream_t::entry, es_format_Copy(), mp4_stream_t::fmt, es_format_t::i_codec, mp4_stream_t::i_dts_start, mp4_stream_t::i_duration, mp4_stream_t::i_entry_count, mp4_stream_t::i_entry_max, mp4_stream_t::i_length_neg, sout_mux_sys_t::i_nb_streams, mp4_stream_t::i_track_id, msg_Dbg, msg_Err, msg_Warn, sout_input_t::p_fmt, sout_input_t::p_sys, sout_mux_t::p_sys, sout_mux_sys_t::pp_streams, TAB_APPEND, VLC_CODEC_AMR_NB, VLC_CODEC_AMR_WB, VLC_CODEC_H263, VLC_CODEC_H264, VLC_CODEC_MJPG, VLC_CODEC_MJPGB, VLC_CODEC_MP4A, VLC_CODEC_MP4V, VLC_CODEC_MPGA, VLC_CODEC_MPGV, VLC_CODEC_SUBT, VLC_CODEC_SVQ1, VLC_CODEC_SVQ3, VLC_CODEC_YUYV, VLC_CODEC_YV12, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
| static void bo_add_16be | ( | bo_t * | p_bo, | |
| uint16_t | i | |||
| ) | [static] |
References bo_add_8().
Referenced by bo_add_32be(), GetAvcCTag(), GetD263Tag(), GetDamrTag(), GetESDS(), GetMoovBox(), GetSounBox(), GetTextBox(), GetUdtaTag(), and GetVideBox().
| static void bo_add_24be | ( | bo_t * | p_bo, | |
| uint32_t | i | |||
| ) | [static] |
| static void bo_add_32be | ( | bo_t * | p_bo, | |
| uint32_t | i | |||
| ) | [static] |
References bo_add_16be().
Referenced by bo_add_64be(), box_fix(), box_full_new(), box_new(), GetESDS(), GetMoovBox(), GetSounBox(), GetStblBox(), GetSVQ3Tag(), GetTextBox(), GetVideBox(), and GetWaveTag().
| static void bo_add_64be | ( | bo_t * | p_bo, | |
| uint64_t | i | |||
| ) | [static] |
| static void bo_add_8 | ( | bo_t * | p_bo, | |
| uint8_t | i | |||
| ) | [static] |
References bo_t::b_grow, bo_t::i_buffer, bo_t::i_buffer_size, bo_t::p_buffer, and xrealloc().
Referenced by bo_add_16be(), bo_add_24be(), bo_add_bo(), bo_add_descr(), bo_add_fourcc(), bo_add_mem(), box_full_new(), GetAvcCTag(), GetD263Tag(), GetDamrTag(), GetESDS(), GetMoovBox(), GetSounBox(), GetSVQ3Tag(), GetTextBox(), and GetVideBox().
| static void bo_add_descr | ( | bo_t * | p_bo, | |
| uint8_t | tag, | |||
| uint32_t | i_size | |||
| ) | [static] |
| static void bo_add_fourcc | ( | bo_t * | p_bo, | |
| const char * | fcc | |||
| ) | [static] |
References bo_add_8().
Referenced by box_full_new(), box_new(), GetD263Tag(), GetDamrTag(), GetMoovBox(), GetSVQ3Tag(), and GetWaveTag().
| 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] |
| static void bo_init | ( | bo_t * | p_bo, | |
| int | i_size, | |||
| uint8_t * | p_buffer, | |||
| bool | b_grow | |||
| ) | [static] |
References __MAX, bo_t::b_grow, bo_t::i_buffer, bo_t::i_buffer_size, bo_t::p_buffer, and xmalloc().
| static block_t * bo_to_sout | ( | sout_instance_t * | p_sout, | |
| bo_t * | box | |||
| ) | [static] |
References block_New, bo_t::i_buffer, bo_t::p_buffer, and block_t::p_buffer.
Referenced by box_send().
| static void box_fix | ( | bo_t * | box | ) | [static] |
References bo_add_32be(), and bo_t::i_buffer.
Referenced by GetAvcCTag(), GetD263Tag(), GetDamrTag(), GetESDS(), GetMoovBox(), GetSounBox(), GetStblBox(), GetSVQ3Tag(), GetTextBox(), GetUdtaTag(), GetVideBox(), and GetWaveTag().
| static void box_free | ( | bo_t * | box | ) | [static] |
| static bo_t * box_full_new | ( | const char * | fcc, | |
| uint8_t | v, | |||
| uint32_t | f | |||
| ) | [static] |
References bo_add_24be(), bo_add_32be(), bo_add_8(), bo_add_fourcc(), and bo_init().
Referenced by GetESDS(), GetMoovBox(), and GetStblBox().
References bo_add_bo(), and box_free().
Referenced by GetMoovBox(), GetSounBox(), GetStblBox(), GetUdtaTag(), GetVideBox(), and GetWaveTag().
| static bo_t * box_new | ( | const char * | fcc | ) | [static] |
References bo_add_32be(), bo_add_fourcc(), and bo_init().
Referenced by GetAvcCTag(), GetD263Tag(), GetDamrTag(), GetMoovBox(), GetSounBox(), GetStblBox(), GetSVQ3Tag(), GetTextBox(), GetUdtaTag(), GetVideBox(), and GetWaveTag().
| static void box_send | ( | sout_mux_t * | p_mux, | |
| bo_t * | box | |||
| ) | [static] |
References bo_to_sout(), box_free(), sout_mux_t::p_access, sout_mux_t::p_sout, and sout_AccessOutWrite().
| 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 Control | ( | sout_mux_t * | p_mux, | |
| int | i_query, | |||
| va_list | args | |||
| ) | [static] |
References MUX_CAN_ADD_STREAM_WHILE_MUXING, MUX_GET_ADD_STREAM_WAIT, MUX_GET_MIME, VLC_EGENERIC, VLC_SUCCESS, and VLC_UNUSED.
| 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] |
References bo_add_16be(), bo_add_8(), bo_add_mem(), box_fix(), box_new(), mp4_stream_t::fmt, es_format_t::i_extra, and es_format_t::p_extra.
Referenced by GetVideBox().
| static bo_t* GetD263Tag | ( | void | ) | [static] |
References bo_add_16be(), bo_add_8(), bo_add_fourcc(), box_fix(), and box_new().
Referenced by GetVideBox().
| static bo_t* GetDamrTag | ( | mp4_stream_t * | p_stream | ) | [static] |
References bo_add_16be(), bo_add_8(), bo_add_fourcc(), box_fix(), box_new(), mp4_stream_t::fmt, es_format_t::i_codec, and VLC_CODEC_AMR_NB.
Referenced by GetSounBox().
| static int GetDescrLength | ( | int | i_size | ) | [static] |
Referenced by GetESDS().
| static bo_t* GetESDS | ( | mp4_stream_t * | p_stream | ) | [static] |
References es_format_t::audio, bo_add_16be(), bo_add_24be(), bo_add_32be(), bo_add_8(), bo_add_descr(), box_fix(), box_full_new(), mp4_stream_t::entry, mp4_stream_t::fmt, GetDescrLength(), es_format_t::i_cat, es_format_t::i_codec, mp4_stream_t::i_duration, mp4_stream_t::i_entry_count, es_format_t::i_extra, mp4_entry_t::i_length, audio_format_t::i_rate, mp4_entry_t::i_size, mp4_stream_t::i_track_id, es_format_t::p_extra, VIDEO_ES, VLC_CODEC_MP4A, VLC_CODEC_MP4V, VLC_CODEC_MPGA, and VLC_CODEC_MPGV.
Referenced by GetSounBox(), GetVideBox(), and GetWaveTag().
| static bo_t * GetMoovBox | ( | sout_mux_t * | p_mux | ) | [static] |
References __MAX, es_format_t::audio, AUDIO_ES, sout_mux_sys_t::b_64_ext, sout_mux_sys_t::b_mov, bo_add_16be(), bo_add_32be(), bo_add_64be(), bo_add_8(), bo_add_fourcc(), bo_add_mem(), box_fix(), box_full_new(), box_gather(), box_new(), mp4_stream_t::fmt, get_timestamp(), GetLang_1(), GetLang_2B(), GetLang_2T(), GetStblBox(), GetUdtaTag(), bo_t::i_buffer, es_format_t::i_cat, sout_mux_sys_t::i_dts_start, mp4_stream_t::i_dts_start, mp4_stream_t::i_duration, i_height, video_format_t::i_height, sout_mux_sys_t::i_nb_streams, audio_format_t::i_rate, video_format_t::i_sar_den, video_format_t::i_sar_num, mp4_stream_t::i_stco_pos, mp4_stream_t::i_track_id, video_format_t::i_width, msg_Dbg, sout_mux_t::p_sys, sout_mux_sys_t::pp_streams, iso639_lang_t::psz_iso639_1, iso639_lang_t::psz_iso639_2T, es_format_t::psz_language, SPU_ES, tk, es_format_t::video, and VIDEO_ES.
| static bo_t* GetSounBox | ( | sout_mux_t * | p_mux, | |
| mp4_stream_t * | p_stream | |||
| ) | [static] |
References es_format_t::audio, sout_mux_sys_t::b_mov, bo_add_16be(), bo_add_32be(), bo_add_8(), box_fix(), box_gather(), box_new(), mp4_stream_t::fmt, GetDamrTag(), GetESDS(), GetWaveTag(), audio_format_t::i_bitspersample, audio_format_t::i_channels, es_format_t::i_codec, audio_format_t::i_frame_length, audio_format_t::i_rate, sout_mux_t::p_sys, VLC_CODEC_AMR_NB, VLC_CODEC_AMR_WB, VLC_CODEC_MP4A, and VLC_CODEC_MPGA.
Referenced by GetStblBox().
| static bo_t* GetStblBox | ( | sout_mux_t * | p_mux, | |
| mp4_stream_t * | p_stream | |||
| ) | [static] |
References es_format_t::audio, AUDIO_ES, mp4_stream_t::b_stco64, BLOCK_FLAG_TYPE_I, bo_add_32be(), bo_add_64be(), bo_fix_32be(), box_fix(), box_full_new(), box_gather(), box_new(), mp4_stream_t::entry, mp4_stream_t::fmt, GetSounBox(), GetTextBox(), GetVideBox(), bo_t::i_buffer, es_format_t::i_cat, mp4_stream_t::i_entry_count, mp4_entry_t::i_flags, mp4_entry_t::i_length, mp4_entry_t::i_pos, sout_mux_sys_t::i_pos, audio_format_t::i_rate, mp4_entry_t::i_size, mp4_stream_t::i_stco_pos, msg_Dbg, sout_mux_t::p_sys, SPU_ES, and VIDEO_ES.
Referenced by GetMoovBox().
| static bo_t* GetSVQ3Tag | ( | mp4_stream_t * | p_stream | ) | [static] |
References bo_add_32be(), bo_add_8(), bo_add_fourcc(), bo_add_mem(), box_fix(), box_new(), mp4_stream_t::fmt, GetDWBE, es_format_t::i_extra, and es_format_t::p_extra.
Referenced by GetVideBox().
| static bo_t* GetTextBox | ( | void | ) | [static] |
References bo_add_16be(), bo_add_32be(), bo_add_64be(), bo_add_8(), bo_add_mem(), box_fix(), box_new(), and text.
Referenced by GetStblBox().
| static bo_t* GetUdtaTag | ( | sout_mux_t * | p_mux | ) | [static] |
References ADD_META_BOX, bo_add_16be(), bo_add_mem(), box_fix(), box_gather(), box_new(), mp4_stream_t::fmt, es_format_t::i_codec, sout_mux_sys_t::i_nb_streams, sout_instance_t::p_meta, sout_mux_t::p_sout, sout_mux_t::p_sys, sout_mux_sys_t::pp_streams, VLC_CODEC_MP4A, and VLC_CODEC_MP4V.
Referenced by GetMoovBox().
| static bo_t* GetVideBox | ( | mp4_stream_t * | p_stream | ) | [static] |
References bo_add_16be(), bo_add_32be(), bo_add_8(), box_fix(), box_gather(), box_new(), mp4_stream_t::fmt, GetAvcCTag(), GetD263Tag(), GetESDS(), GetSVQ3Tag(), es_format_t::i_codec, video_format_t::i_height, video_format_t::i_width, es_format_t::video, VLC_CODEC_H263, VLC_CODEC_H264, VLC_CODEC_MJPG, VLC_CODEC_MP4V, VLC_CODEC_MPGV, VLC_CODEC_SVQ1, VLC_CODEC_SVQ3, VLC_CODEC_YUYV, and VLC_CODEC_YV12.
Referenced by GetStblBox().
| static bo_t* GetWaveTag | ( | mp4_stream_t * | p_stream | ) | [static] |
References bo_add_32be(), bo_add_fourcc(), box_fix(), box_gather(), box_new(), and GetESDS().
Referenced by GetSounBox().
| static int Mux | ( | sout_mux_t * | p_mux | ) | [static] |
References __MAX, __MIN, block_FifoCount(), block_FifoGet(), block_FifoShow(), block_New, ConvertAVC1(), ConvertSUBT(), mp4_stream_t::entry, mp4_stream_t::fmt, block_t::i_buffer, es_format_t::i_cat, es_format_t::i_codec, block_t::i_dts, sout_mux_sys_t::i_dts_start, mp4_stream_t::i_dts_start, mp4_stream_t::i_duration, mp4_stream_t::i_entry_count, mp4_stream_t::i_entry_max, block_t::i_flags, mp4_entry_t::i_flags, mp4_stream_t::i_last_dts, mp4_entry_t::i_length, block_t::i_length, mp4_stream_t::i_length_neg, sout_mux_sys_t::i_pos, mp4_entry_t::i_pos, block_t::i_pts, mp4_entry_t::i_pts_dts, mp4_entry_t::i_size, msg_Dbg, msg_Warn, sout_mux_t::p_access, block_t::p_buffer, sout_input_t::p_fifo, sout_input_t::p_sys, sout_mux_t::p_sys, sout_mux_t::pp_inputs, sout_AccessOutWrite(), sout_MuxGetStream(), SPU_ES, VLC_CODEC_H264, VLC_CODEC_SUBT, VLC_SUCCESS, and xrealloc().
| 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:
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 |
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
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
}
1.5.6