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 *)
static void Close (vlc_object_t *)
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 (demux_t *p_demux, 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)

#define AC3_PKT_LENGTH   (1536)

#define AC3_PTS_OFFSET   (9)

#define CHUNK_PEEK_COUNT   (3)

#define CHUNK_SIZE   ( 128 * 1024 )

#define DTIVO_PTS_OFFSET   (6)

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

#define SA_PTS_OFFSET   (9)

#define SERIES1_PES_LENGTH   (11)

#define SERIES2_PES_LENGTH   (16)

#define TIVO_PART_LENGTH   ( 0x20000000 )

#define TIVO_PES_FILEID   ( 0xf5467abd )

#define TY_ES_GROUP   (1)

#define VIDEO_PES_LENGTH   (16)

#define VIDEO_PTS_OFFSET   (9)

#define XDS_MAX_DATA_SIZE   (32)


Enumeration Type Documentation

enum tivo_audio_t

Enumerator:
TIVO_AUDIO_UNKNOWN 
TIVO_AUDIO_AC3 
TIVO_AUDIO_MPEG 

enum tivo_series_t

Enumerator:
TIVO_SERIES_UNKNOWN 
TIVO_SERIES1 
TIVO_SERIES2 

enum tivo_type_t

Enumerator:
TIVO_TYPE_UNKNOWN 
TIVO_TYPE_SA 
TIVO_TYPE_DTIVO 

enum xds_class_t

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 

enum xds_meta_program_rating_t

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  )  [static]

static int Control ( demux_t ,
int  ,
va_list   
) [static]

static int Demux ( demux_t  )  [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]

static int get_chunk_header ( demux_t  )  [static]

static mtime_t get_pts ( const uint8_t *  buf  )  [static]

static int Open ( vlc_object_t  )  [static]

static ty_rec_hdr_t * parse_chunk_headers ( demux_t p_demux,
const uint8_t *  p_buf,
int  i_num_recs,
int *  pi_payload_size 
) [static]

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 ,
uint64_t   
) [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  )  [static]

static void XdsInit ( xds_t  )  [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]


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 Wed Aug 13 08:03:31 2008 for VLC by  doxygen 1.5.1