comparison demuxer.h @ 1485:b895f95e7657

AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
author arpi
date Sat, 11 Aug 2001 20:37:33 +0000
parents a90d889eb649
children 71424eb2b282
comparison
equal deleted inserted replaced
1484:14af3106c359 1485:b895f95e7657
20 20
21 // Holds one packet/frame/whatever 21 // Holds one packet/frame/whatever
22 typedef struct demux_packet_st { 22 typedef struct demux_packet_st {
23 int len; 23 int len;
24 float pts; 24 float pts;
25 off_t pos; // pozicio indexben (AVI) ill. fileban (MPG) 25 off_t pos; // position in index (AVI) or file (MPG)
26 unsigned char* buffer; 26 unsigned char* buffer;
27 int flags; // keyframe, etc 27 int flags; // keyframe, etc
28 struct demux_packet_st* next; 28 struct demux_packet_st* next;
29 } demux_packet_t; 29 } demux_packet_t;
30 30
57 stream_t *stream; 57 stream_t *stream;
58 int synced; // stream synced (used by mpeg) 58 int synced; // stream synced (used by mpeg)
59 off_t filepos; // input stream current pos. 59 off_t filepos; // input stream current pos.
60 int type; // demuxer type: mpeg PS, mpeg ES, avi, avi-ni, avi-nini, asf 60 int type; // demuxer type: mpeg PS, mpeg ES, avi, avi-ni, avi-nini, asf
61 int file_format; // file format: mpeg/avi/asf 61 int file_format; // file format: mpeg/avi/asf
62 // int time_src;// time source (pts/file/bps)
63 off_t movi_start; 62 off_t movi_start;
64 off_t movi_end; 63 off_t movi_end;
65 // 64 //
66 demux_stream_t *audio; 65 demux_stream_t *audio; // audio buffer/demuxer
67 demux_stream_t *video; 66 demux_stream_t *video; // video buffer/demuxer
68 demux_stream_t *sub; 67 demux_stream_t *sub; // dvd subtitle buffer/demuxer
69
70 // index:
71 // AVIINDEXENTRY* idx;
72 // FIXME: off_t???
73 void* idx;
74 int idx_size;
75 int idx_pos;
76 int idx_pos_a;
77 int idx_pos_v;
78 int idx_offset; // ennyit kell hozzaadni az index offset ertekekhez
79 68
80 // stream headers: 69 // stream headers:
81 // sh_audio_t* a_streams[256]; 70 void* a_streams[256]; // audio streams (sh_audio_t)
82 // sh_video_t* v_streams[256]; 71 void* v_streams[256]; // video sterams (sh_video_t)
83 void* a_streams[256]; 72 char s_streams[32]; // dvd subtitles (flag)
84 void* v_streams[256]; 73
85 char s_streams[32]; // dvd subtitles 74 void* priv; // fileformat-dependent data
86 } demuxer_t; 75 } demuxer_t;
87 76
88 inline static demux_packet_t* new_demux_packet(int len){ 77 inline static demux_packet_t* new_demux_packet(int len){
89 demux_packet_t* dp=malloc(sizeof(demux_packet_t)); 78 demux_packet_t* dp=malloc(sizeof(demux_packet_t));
90 dp->len=len; 79 dp->len=len;