ts.c File Reference

Include dependency graph for ts.c:


Data Structures

struct  decoder_config_descriptor_t
struct  sl_config_descriptor_t
struct  es_mpeg4_descriptor_t
struct  iod_descriptor_t
struct  ts_prg_psi_t
struct  ts_psi_t
struct  ts_es_t
struct  ts_pid_t
struct  demux_sys_t
struct  ts_teletext_page_t

Defines

#define PMT_TEXT   N_("Extra PMT")
#define PMT_LONGTEXT
#define PID_TEXT   N_("Set id of ES to PID")
#define PID_LONGTEXT
#define TSOUT_TEXT   N_("Fast udp streaming")
#define TSOUT_LONGTEXT
#define MTUOUT_TEXT   N_("MTU for out mode")
#define MTUOUT_LONGTEXT   N_("MTU for out mode.")
#define CSA_TEXT   N_("CSA ck")
#define CSA_LONGTEXT   N_("Control word for the CSA encryption algorithm")
#define CSA2_TEXT   N_("Second CSA Key")
#define CSA2_LONGTEXT
#define SILENT_TEXT   N_("Silent mode")
#define SILENT_LONGTEXT   N_("Do not complain on encrypted PES.")
#define CAPMT_SYSID_TEXT   N_("CAPMT System ID")
#define CAPMT_SYSID_LONGTEXT   N_("Only forward descriptors from this SysID to the CAM.")
#define CPKT_TEXT   N_("Packet size in bytes to decrypt")
#define CPKT_LONGTEXT
#define TSDUMP_TEXT   N_("Filename of dump")
#define TSDUMP_LONGTEXT   N_("Specify a filename where to dump the TS in.")
#define APPEND_TEXT   N_("Append")
#define APPEND_LONGTEXT
#define DUMPSIZE_TEXT   N_("Dump buffer size")
#define DUMPSIZE_LONGTEXT
#define SPLIT_ES_TEXT   N_("Separate sub-streams")
#define SPLIT_ES_LONGTEXT
#define TS_USER_PMT_NUMBER   (0)
#define TS_PACKET_SIZE_188   188
#define TS_PACKET_SIZE_192   192
#define TS_PACKET_SIZE_204   204
#define TS_PACKET_SIZE_MAX   204
#define TS_TOPFIELD_HEADER   1320
#define es_descr   p_iod->es_descr[i_es_index]
#define dec_descr   es_descr.dec_descr
#define sl_descr   es_descr.sl_descr
#define es_descr   p_iod->es_descr[i]

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 Demux (demux_t *p_demux)
static int DemuxFile (demux_t *p_demux)
static int Control (demux_t *p_demux, int i_query, va_list args)
static void PIDInit (ts_pid_t *pid, bool b_psi, ts_psi_t *p_owner)
static void PIDClean (es_out_t *out, ts_pid_t *pid)
static int PIDFillFormat (ts_pid_t *pid, int i_stream_type)
static void PATCallBack (demux_t *, dvbpsi_pat_t *)
static void PMTCallBack (demux_t *p_demux, dvbpsi_pmt_t *p_pmt)
static int ChangeKeyCallback (vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
static int PIDGet (block_t *p)
static bool GatherPES (demux_t *p_demux, ts_pid_t *pid, block_t *p_bk)
static void PCRHandle (demux_t *p_demux, ts_pid_t *, block_t *)
static iod_descriptor_tIODNew (int, uint8_t *)
static void IODFree (iod_descriptor_t *)
static int UserPmt (demux_t *p_demux, const char *)
static int DVBEventInformation (demux_t *p_demux, int64_t *pi_time, int64_t *pi_length)
static void ParsePES (demux_t *p_demux, ts_pid_t *pid)
static int IODDescriptorLength (int *pi_data, uint8_t **pp_data)
static int IODGetByte (int *pi_data, uint8_t **pp_data)
static int IODGetWord (int *pi_data, uint8_t **pp_data)
static int IODGet3Bytes (int *pi_data, uint8_t **pp_data)
static uint32_t IODGetDWord (int *pi_data, uint8_t **pp_data)
static char * IODGetURL (int *pi_data, uint8_t **pp_data)
static bool ProgramIsSelected (demux_t *p_demux, uint16_t i_pgrm)
static void ValidateDVBMeta (demux_t *p_demux, int i_pid)
static dvbpsi_descriptor_t * PMTEsFindDescriptor (const dvbpsi_pmt_es_t *p_es, int i_tag)
static bool PMTEsHasRegistration (demux_t *p_demux, const dvbpsi_pmt_es_t *p_es, const char *psz_tag)
static void PMTSetupEsISO14496 (demux_t *p_demux, ts_pid_t *pid, const ts_prg_psi_t *prg, const dvbpsi_pmt_es_t *p_es)
static void PMTSetupEsTeletext (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)
static void PMTSetupEsDvbSubtitle (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)
static void PMTSetupEs0x06 (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)
static void PMTSetupEs0xEA (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)
static void PMTSetupEs0xD1 (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)
static void PMTSetupEs0xA0 (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)
static void PMTSetupEsHDMV (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)
static void PMTSetupEsRegistration (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)
static void PMTParseEsIso639 (demux_t *p_demux, ts_pid_t *pid, const dvbpsi_pmt_es_t *p_es)

Variables

static const char *const ppsz_teletext_type []

Define Documentation

#define APPEND_LONGTEXT

Value:

N_( \
    "If the file exists and this option is selected, the existing file " \
    "will not be overwritten." )

#define APPEND_TEXT   N_("Append")

#define CAPMT_SYSID_LONGTEXT   N_("Only forward descriptors from this SysID to the CAM.")

#define CAPMT_SYSID_TEXT   N_("CAPMT System ID")

#define CPKT_LONGTEXT

Value:

N_("Specify the size of the TS packet to decrypt. " \
    "The decryption routines subtract the TS-header from the value before " \
    "decrypting. " )

#define CPKT_TEXT   N_("Packet size in bytes to decrypt")

#define CSA2_LONGTEXT

Value:

N_("The even CSA encryption key. This must be a " \
  "16 char string (8 hexadecimal bytes).")

#define CSA2_TEXT   N_("Second CSA Key")

#define CSA_LONGTEXT   N_("Control word for the CSA encryption algorithm")

#define CSA_TEXT   N_("CSA ck")

#define dec_descr   es_descr.dec_descr

Referenced by IODNew().

#define DUMPSIZE_LONGTEXT

Value:

N_( \
    "Tweak the buffer size for reading and writing an integer number of packets." \
    "Specify the size of the buffer here and not the number of packets." )

#define DUMPSIZE_TEXT   N_("Dump buffer size")

#define es_descr   p_iod->es_descr[i]

#define es_descr   p_iod->es_descr[i_es_index]

Referenced by IODFree(), and IODNew().

#define MTUOUT_LONGTEXT   N_("MTU for out mode.")

#define MTUOUT_TEXT   N_("MTU for out mode")

#define PID_LONGTEXT

Value:

N_("Set the internal ID of each elementary stream" \
                       " handled by VLC to the same value as the PID in" \
                       " the TS stream, instead of 1, 2, 3, etc. Useful to" \
                       " do \'#duplicate{..., select=\"es=<pid>\"}\'.")

#define PID_TEXT   N_("Set id of ES to PID")

#define PMT_LONGTEXT

Value:

N_( \
  "Allows a user to specify an extra pmt (pmt_pid=pid:stream_type[,...])." )

#define PMT_TEXT   N_("Extra PMT")

#define SILENT_LONGTEXT   N_("Do not complain on encrypted PES.")

#define SILENT_TEXT   N_("Silent mode")

#define sl_descr   es_descr.sl_descr

Referenced by IODNew().

#define SPLIT_ES_LONGTEXT

Value:

N_( \
    "Separate teletex/dvbs pages into independant ES. " \
    "It can be usefull to turn off this option when using stream output." )

#define SPLIT_ES_TEXT   N_("Separate sub-streams")

#define TS_PACKET_SIZE_188   188

Referenced by GatherPES().

#define TS_PACKET_SIZE_192   192

#define TS_PACKET_SIZE_204   204

#define TS_PACKET_SIZE_MAX   204

#define TS_TOPFIELD_HEADER   1320

#define TS_USER_PMT_NUMBER   (0)

Referenced by PMTCallBack(), and UserPmt().

#define TSDUMP_LONGTEXT   N_("Specify a filename where to dump the TS in.")

#define TSDUMP_TEXT   N_("Filename of dump")

#define TSOUT_LONGTEXT

Value:

N_( \
  "Sends TS to specific ip:port by udp (you must know what you are doing).")

#define TSOUT_TEXT   N_("Fast udp streaming")


Function Documentation

static int ChangeKeyCallback ( vlc_object_t p_this,
char const *  psz_cmd,
vlc_value_t  oldval,
vlc_value_t  newval,
void *  p_data 
) [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 ( demux_t p_demux,
int  i_query,
va_list  args 
) [static]

static int Demux ( demux_t p_demux  )  [static]

static int DemuxFile ( demux_t p_demux  )  [static]

static int DVBEventInformation ( demux_t p_demux,
int64_t *  pi_time,
int64_t *  pi_length 
) [static]

static bool GatherPES ( demux_t p_demux,
ts_pid_t pid,
block_t p_bk 
) [static]

static int IODDescriptorLength ( int *  pi_data,
uint8_t **  pp_data 
) [static]

Referenced by IODNew().

static void IODFree ( iod_descriptor_t p_iod  )  [static]

References es_descr, i, and iod_descriptor_t::psz_url.

Referenced by PIDClean(), and PMTCallBack().

static int IODGet3Bytes ( int *  pi_data,
uint8_t **  pp_data 
) [static]

References IODGetByte().

Referenced by IODNew().

static int IODGetByte ( int *  pi_data,
uint8_t **  pp_data 
) [static]

static uint32_t IODGetDWord ( int *  pi_data,
uint8_t **  pp_data 
) [static]

References IODGetWord().

Referenced by IODNew().

static char* IODGetURL ( int *  pi_data,
uint8_t **  pp_data 
) [static]

References i, and IODGetByte().

Referenced by IODNew().

static int IODGetWord ( int *  pi_data,
uint8_t **  pp_data 
) [static]

References IODGetByte().

Referenced by IODGetDWord(), and IODNew().

static iod_descriptor_t * IODNew ( int  i_data,
uint8_t *  p_data 
) [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

static void ParsePES ( demux_t p_demux,
ts_pid_t pid 
) [static]

static void PATCallBack ( demux_t p_demux,
dvbpsi_pat_t *  p_pat 
) [static]

static void PCRHandle ( demux_t p_demux,
ts_pid_t pid,
block_t p_bk 
) [static]

static void PIDClean ( es_out_t out,
ts_pid_t pid 
) [static]

static int PIDFillFormat ( ts_pid_t pid,
int  i_stream_type 
) [static]

static int PIDGet ( block_t p  )  [inline, static]

References block_t::p_buffer.

Referenced by Demux().

static void PIDInit ( ts_pid_t pid,
bool  b_psi,
ts_psi_t p_owner 
) [static]

static void PMTCallBack ( demux_t p_demux,
dvbpsi_pmt_t *  p_pmt 
) [static]

static dvbpsi_descriptor_t* PMTEsFindDescriptor ( const dvbpsi_pmt_es_t *  p_es,
int  i_tag 
) [static]

static bool PMTEsHasRegistration ( demux_t p_demux,
const dvbpsi_pmt_es_t *  p_es,
const char *  psz_tag 
) [static]

static void PMTParseEsIso639 ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEs0x06 ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEs0xA0 ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEs0xD1 ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEs0xEA ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEsDvbSubtitle ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEsHDMV ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEsISO14496 ( demux_t p_demux,
ts_pid_t pid,
const ts_prg_psi_t prg,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEsRegistration ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static void PMTSetupEsTeletext ( demux_t p_demux,
ts_pid_t pid,
const dvbpsi_pmt_es_t *  p_es 
) [static]

static bool ProgramIsSelected ( demux_t p_demux,
uint16_t  i_pgrm 
) [static]

static int UserPmt ( demux_t p_demux,
const char *  psz_fmt 
) [static]

static void ValidateDVBMeta ( demux_t p_demux,
int  i_pid 
) [static]

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 


Variable Documentation

const char* const ppsz_teletext_type[] [static]

Initial value:

 {
 "",
 N_("Teletext"),
 N_("Teletext subtitles"),
 N_("Teletext: additional information"),
 N_("Teletext: program schedule"),
 N_("Teletext subtitles: hearing impaired")
}

Referenced by PMTSetupEsTeletext().


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