Mercurial > mplayer.hg
comparison libmpdemux/demuxer.h @ 25657:dfeb8ea2a7a8
Add demuxer interface for attachments.
author | eugeni |
---|---|
date | Sat, 12 Jan 2008 01:12:36 +0000 |
parents | f94eee219ee0 |
children | f0d45f8866e8 |
comparison
equal
deleted
inserted
replaced
25656:00e4d59a0be4 | 25657:dfeb8ea2a7a8 |
---|---|
172 { | 172 { |
173 uint64_t start, end; | 173 uint64_t start, end; |
174 char* name; | 174 char* name; |
175 } demux_chapter_t; | 175 } demux_chapter_t; |
176 | 176 |
177 typedef struct demux_attachment_s | |
178 { | |
179 char* name; | |
180 char* type; | |
181 void* data; | |
182 unsigned int data_size; | |
183 } demux_attachment_t; | |
184 | |
177 typedef struct demuxer_st { | 185 typedef struct demuxer_st { |
178 demuxer_desc_t *desc; ///< Demuxer description structure | 186 demuxer_desc_t *desc; ///< Demuxer description structure |
179 off_t filepos; // input stream current pos. | 187 off_t filepos; // input stream current pos. |
180 off_t movi_start; | 188 off_t movi_start; |
181 off_t movi_end; | 189 off_t movi_end; |
197 void *s_streams[MAX_S_STREAMS]; // dvd subtitles (flag) | 205 void *s_streams[MAX_S_STREAMS]; // dvd subtitles (flag) |
198 | 206 |
199 demux_chapter_t* chapters; | 207 demux_chapter_t* chapters; |
200 int num_chapters; | 208 int num_chapters; |
201 | 209 |
210 demux_attachment_t* attachments; | |
211 int num_attachments; | |
212 | |
202 void* priv; // fileformat-dependent data | 213 void* priv; // fileformat-dependent data |
203 char** info; | 214 char** info; |
204 } demuxer_t; | 215 } demuxer_t; |
205 | 216 |
206 typedef struct { | 217 typedef struct { |
382 extern int demuxer_type_by_filename(char* filename); | 393 extern int demuxer_type_by_filename(char* filename); |
383 | 394 |
384 extern void demuxer_help(void); | 395 extern void demuxer_help(void); |
385 extern int get_demuxer_type_from_name(char *demuxer_name, int *force); | 396 extern int get_demuxer_type_from_name(char *demuxer_name, int *force); |
386 | 397 |
398 int demuxer_add_attachment(demuxer_t* demuxer, const char* name, | |
399 const char* type, const void* data, size_t size); | |
400 | |
387 int demuxer_add_chapter(demuxer_t* demuxer, const char* name, uint64_t start, uint64_t end); | 401 int demuxer_add_chapter(demuxer_t* demuxer, const char* name, uint64_t start, uint64_t end); |
388 int demuxer_seek_chapter(demuxer_t *demuxer, int chapter, int mode, float *seek_pts, int *num_chapters, char **chapter_name); | 402 int demuxer_seek_chapter(demuxer_t *demuxer, int chapter, int mode, float *seek_pts, int *num_chapters, char **chapter_name); |
389 | 403 |
390 /// Get current chapter index if available. | 404 /// Get current chapter index if available. |
391 int demuxer_get_current_chapter(demuxer_t *demuxer); | 405 int demuxer_get_current_chapter(demuxer_t *demuxer); |