Mercurial > mplayer.hg
annotate asxparser.h @ 11810:8cce53dd235f
Have the MOV demuxer recognize and display (via MPINFO) registered ISO
and other major brands instead of the usual "Unknown major brand" from
only having "isom" defined.
patch by Shan <sweber@slingshot.co.nz>, approved by Alex
author | diego |
---|---|
date | Tue, 20 Jan 2004 04:59:48 +0000 |
parents | 1f6ae3d15f19 |
children | 75327b24e06f |
rev | line source |
---|---|
4043
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
1 |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
2 |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
3 typedef struct _ASX_Parser_t ASX_Parser_t; |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
4 |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
5 typedef struct { |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
6 char* buffer; |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
7 int line; |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
8 } ASX_LineSave_t; |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
9 |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
10 struct _ASX_Parser_t { |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
11 int line; // Curent line |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
12 ASX_LineSave_t *ret_stack; |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
13 int ret_stack_size; |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
14 char* last_body; |
4309 | 15 int deep; |
4043
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
16 }; |
25590564842f
tree-based playlist parser code by Alban Bedel <albeu@free.fr>
arpi
parents:
diff
changeset
|
17 |
8170 | 18 ASX_Parser_t* |
19 asx_parser_new(void); | |
20 | |
21 void | |
22 asx_parser_free(ASX_Parser_t* parser); | |
23 | |
24 /* | |
25 * Return -1 on error, 0 when nothing is found, 1 on sucess | |
26 */ | |
27 int | |
28 asx_get_element(ASX_Parser_t* parser,char** _buffer, | |
29 char** _element,char** _body,char*** _attribs); | |
30 | |
31 int | |
32 asx_parse_attribs(ASX_Parser_t* parser,char* buffer,char*** _attribs); | |
33 | |
34 /////// Attribs utils | |
35 | |
36 char* | |
37 asx_get_attrib(char* attrib,char** attribs); | |
38 | |
39 int | |
40 asx_attrib_to_enum(char* val,char** valid_vals); | |
41 | |
42 #define asx_free_attribs(a) asx_list_free((void***)&a,free) | |
43 | |
44 ////// List utils | |
45 | |
46 typedef void (*ASX_FreeFunc)(void* arg); | |
47 | |
48 void | |
49 asx_list_free(void* list_ptr,ASX_FreeFunc free_func); |