ty.c File Reference

Include dependency graph for ty.c:


Data Structures

struct  ty_rec_hdr_t
struct  ty_seq_table_t
struct  xds_packet_t
struct  xds_meta_program_t
struct  xds_meta_t
struct  xds_t
struct  demux_sys_t

Defines

#define SERIES1_PES_LENGTH   (11)
#define SERIES2_PES_LENGTH   (16)
#define AC3_PES_LENGTH   (14)
#define VIDEO_PES_LENGTH   (16)
#define DTIVO_PTS_OFFSET   (6)
#define SA_PTS_OFFSET   (9)
#define AC3_PTS_OFFSET   (9)
#define VIDEO_PTS_OFFSET   (9)
#define AC3_PKT_LENGTH   (1536)
#define CHUNK_PEEK_COUNT   (3)
#define TIVO_PES_FILEID   ( 0xf5467abd )
#define TIVO_PART_LENGTH   ( 0x20000000 )
#define CHUNK_SIZE   ( 128 * 1024 )
#define XDS_MAX_DATA_SIZE   (32)
#define TY_ES_GROUP   (1)
#define E2(c, u1, u2)   case c: dst[i_dst++] = u1; dst[i_dst++] = u2; break

Enumerations

enum  tivo_type_t { TIVO_TYPE_UNKNOWN, TIVO_TYPE_SA, TIVO_TYPE_DTIVO }
enum  tivo_series_t { TIVO_SERIES_UNKNOWN, TIVO_SERIES1, TIVO_SERIES2 }
enum  tivo_audio_t { TIVO_AUDIO_UNKNOWN, TIVO_AUDIO_AC3, TIVO_AUDIO_MPEG }
enum  xds_class_t {
  XDS_CLASS_CURRENT = 0, XDS_CLASS_FUTURE = 1, XDS_CLASS_CHANNEL = 2, XDS_CLASS_MISCELLANEOUS = 3,
  XDS_CLASS_PUBLIC_SERVICE = 4, XDS_CLASS_RESERVED = 5, XDS_CLASS_UNDEFINED = 6, XDS_CLASS_OTHER = 7,
  XDS_MAX_CLASS_COUNT
}
enum  xds_meta_program_rating_t { XDS_META_PROGRAM_RATING_NONE, XDS_META_PROGRAM_RATING_MPAA, XDS_META_PROGRAM_RATING_TPG }

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 *)
static int Control (demux_t *, int, va_list)
static int get_chunk_header (demux_t *)
static mtime_t get_pts (const uint8_t *buf)
static int find_es_header (const uint8_t *header, const uint8_t *buffer, int i_search_len)
static int ty_stream_seek_pct (demux_t *p_demux, double seek_pct)
static int ty_stream_seek_time (demux_t *, uint64_t)
static ty_rec_hdr_tparse_chunk_headers (const uint8_t *p_buf, int i_num_recs, int *pi_payload_size)
static int probe_stream (demux_t *p_demux)
static void analyze_chunk (demux_t *p_demux, const uint8_t *p_chunk)
static void parse_master (demux_t *p_demux)
static int DemuxRecVideo (demux_t *p_demux, ty_rec_hdr_t *rec_hdr, block_t *p_block_in)
static int DemuxRecAudio (demux_t *p_demux, ty_rec_hdr_t *rec_hdr, block_t *p_block_in)
static int DemuxRecCc (demux_t *p_demux, ty_rec_hdr_t *rec_hdr, block_t *p_block_in)
static void DemuxDecodeXds (demux_t *p_demux, uint8_t d1, uint8_t d2)
static void XdsInit (xds_t *)
static void XdsExit (xds_t *)
static int check_sync_pes (demux_t *p_demux, block_t *p_block, int32_t offset, int32_t rec_len)
static void XdsStringUtf8 (char dst[2 *32+1], const uint8_t *p_src, int i_src)
static bool XdsChangeString (xds_t *h, char **ppsz_dst, const char *psz_new)
static void XdsDecodeCurrentFuture (xds_t *h, xds_packet_t *pk)
static void XdsDecodeChannel (xds_t *h, xds_packet_t *pk)
static void XdsDecode (xds_t *h, xds_packet_t *pk)
static void XdsParse (xds_t *h, uint8_t d1, uint8_t d2)

Variables

static const uint8_t ty_VideoPacket [] = { 0x00, 0x00, 0x01, 0xe0 }
static const uint8_t ty_MPEGAudioPacket [] = { 0x00, 0x00, 0x01, 0xc0 }
static const uint8_t ty_AC3AudioPacket [] = { 0x00, 0x00, 0x01, 0xbd }

Define Documentation

#define AC3_PES_LENGTH   (14)

Referenced by analyze_chunk().

#define AC3_PKT_LENGTH   (1536)

Referenced by DemuxRecAudio().

#define AC3_PTS_OFFSET   (9)

Referenced by analyze_chunk().

#define CHUNK_PEEK_COUNT   (3)

Referenced by probe_stream().

#define CHUNK_SIZE   ( 128 * 1024 )

#define DTIVO_PTS_OFFSET   (6)

Referenced by analyze_chunk().

#define E2 ( c,
u1,
u2   )     case c: dst[i_dst++] = u1; dst[i_dst++] = u2; break

#define SA_PTS_OFFSET   (9)

Referenced by analyze_chunk(), and DemuxRecAudio().

#define SERIES1_PES_LENGTH   (11)

Referenced by analyze_chunk().

#define SERIES2_PES_LENGTH   (16)

Referenced by analyze_chunk().

#define TIVO_PART_LENGTH   ( 0x20000000 )

#define TIVO_PES_FILEID   ( 0xf5467abd )

Referenced by analyze_chunk(), and get_chunk_header().

#define TY_ES_GROUP   (1)

Referenced by DemuxDecodeXds(), and DemuxRecVideo().

#define VIDEO_PES_LENGTH   (16)

Referenced by DemuxRecVideo().

#define VIDEO_PTS_OFFSET   (9)

Referenced by DemuxRecVideo().

#define XDS_MAX_DATA_SIZE   (32)

Referenced by XdsParse().


Enumeration Type Documentation

Enumerator:
TIVO_AUDIO_UNKNOWN 
TIVO_AUDIO_AC3 
TIVO_AUDIO_MPEG 

Enumerator:
TIVO_SERIES_UNKNOWN 
TIVO_SERIES1 
TIVO_SERIES2 

Enumerator:
TIVO_TYPE_UNKNOWN 
TIVO_TYPE_SA 
TIVO_TYPE_DTIVO 

Enumerator:
XDS_CLASS_CURRENT 
XDS_CLASS_FUTURE 
XDS_CLASS_CHANNEL 
XDS_CLASS_MISCELLANEOUS 
XDS_CLASS_PUBLIC_SERVICE 
XDS_CLASS_RESERVED 
XDS_CLASS_UNDEFINED 
XDS_CLASS_OTHER 
XDS_MAX_CLASS_COUNT 

Enumerator:
XDS_META_PROGRAM_RATING_NONE 
XDS_META_PROGRAM_RATING_MPAA 
XDS_META_PROGRAM_RATING_TPG 


Function Documentation

static void analyze_chunk ( demux_t p_demux,
const uint8_t *  p_chunk 
) [static]

static int check_sync_pes ( demux_t p_demux,
block_t p_block,
int32_t  offset,
int32_t  rec_len 
) [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 void DemuxDecodeXds ( demux_t p_demux,
uint8_t  d1,
uint8_t  d2 
) [static]

static int DemuxRecAudio ( demux_t p_demux,
ty_rec_hdr_t rec_hdr,
block_t p_block_in 
) [static]

static int DemuxRecCc ( demux_t p_demux,
ty_rec_hdr_t rec_hdr,
block_t p_block_in 
) [static]

static int DemuxRecVideo ( demux_t p_demux,
ty_rec_hdr_t rec_hdr,
block_t p_block_in 
) [static]

static int find_es_header ( const uint8_t *  header,
const uint8_t *  buffer,
int  i_search_len 
) [static]

References count.

Referenced by analyze_chunk(), DemuxRecAudio(), and DemuxRecVideo().

static int get_chunk_header ( demux_t p_demux  )  [static]

static mtime_t get_pts ( const uint8_t *  buf  )  [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 ty_rec_hdr_t * parse_chunk_headers ( const uint8_t *  p_buf,
int  i_num_recs,
int *  pi_payload_size 
) [static]

References i, ty_rec_hdr_t::rec_type, and U64_AT().

Referenced by analyze_chunk(), and get_chunk_header().

static void parse_master ( demux_t p_demux  )  [static]

static int probe_stream ( demux_t p_demux  )  [static]

static int ty_stream_seek_pct ( demux_t p_demux,
double  seek_pct 
) [static]

static int ty_stream_seek_time ( demux_t p_demux,
uint64_t  l_seek_time 
) [static]

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 

static bool XdsChangeString ( xds_t h,
char **  ppsz_dst,
const char *  psz_new 
) [static]

static void XdsDecode ( xds_t h,
xds_packet_t pk 
) [static]

static void XdsDecodeChannel ( xds_t h,
xds_packet_t pk 
) [static]

static void XdsDecodeCurrentFuture ( xds_t h,
xds_packet_t pk 
) [static]

static void XdsExit ( xds_t h  )  [static]

static void XdsInit ( xds_t h  )  [static]

static void XdsParse ( xds_t h,
uint8_t  d1,
uint8_t  d2 
) [static]

static void XdsStringUtf8 ( char  dst[2 *32+1],
const uint8_t *  p_src,
int  i_src 
) [static]

References dst, E2, and i.

Referenced by XdsDecodeChannel(), and XdsDecodeCurrentFuture().


Variable Documentation

const uint8_t ty_AC3AudioPacket[] = { 0x00, 0x00, 0x01, 0xbd } [static]

const uint8_t ty_MPEGAudioPacket[] = { 0x00, 0x00, 0x01, 0xc0 } [static]

const uint8_t ty_VideoPacket[] = { 0x00, 0x00, 0x01, 0xe0 } [static]


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