comparison libmpdemux/demuxer.h @ 21005:78d74a06b827

new DEMUXER_CTRL_IDENTIFY_PROGRAM to identify programs (a+v+s)
author nicodvb
date Sat, 18 Nov 2006 14:31:31 +0000
parents 7c91b80cabc1
children c9795699c414
comparison
equal deleted inserted replaced
21004:b407596e083e 21005:78d74a06b827
77 #define DEMUXER_CTRL_GET_TIME_LENGTH 10 77 #define DEMUXER_CTRL_GET_TIME_LENGTH 10
78 #define DEMUXER_CTRL_GET_PERCENT_POS 11 78 #define DEMUXER_CTRL_GET_PERCENT_POS 11
79 #define DEMUXER_CTRL_SWITCH_AUDIO 12 79 #define DEMUXER_CTRL_SWITCH_AUDIO 12
80 #define DEMUXER_CTRL_RESYNC 13 80 #define DEMUXER_CTRL_RESYNC 13
81 #define DEMUXER_CTRL_SWITCH_VIDEO 14 81 #define DEMUXER_CTRL_SWITCH_VIDEO 14
82 #define DEMUXER_CTRL_IDENTIFY_PROGRAM 15
82 83
83 // Holds one packet/frame/whatever 84 // Holds one packet/frame/whatever
84 typedef struct demux_packet_st { 85 typedef struct demux_packet_st {
85 int len; 86 int len;
86 double pts; 87 double pts;
195 196
196 void* priv; // fileformat-dependent data 197 void* priv; // fileformat-dependent data
197 char** info; 198 char** info;
198 } demuxer_t; 199 } demuxer_t;
199 200
201 typedef struct {
202 int progid; //program id
203 int aid, vid, sid; //audio, video and subtitle id
204 } demux_program_t;
205
200 inline static demux_packet_t* new_demux_packet(int len){ 206 inline static demux_packet_t* new_demux_packet(int len){
201 demux_packet_t* dp=(demux_packet_t*)malloc(sizeof(demux_packet_t)); 207 demux_packet_t* dp=(demux_packet_t*)malloc(sizeof(demux_packet_t));
202 dp->len=len; 208 dp->len=len;
203 dp->next=NULL; 209 dp->next=NULL;
204 // still using 0 by default in case there is some code that uses 0 for both 210 // still using 0 by default in case there is some code that uses 0 for both