Mercurial > mplayer.hg
annotate asxparser.h @ 11330:a974c00c779d
Removed temporary .cpp file used during the Matroska test. Updated the libebml and libmatroska requirements to at least v0.6.0 for both. There have been changes in the lacing code, and users WILL come and complain why mplayer, linked against older versions, will have issues playing newer files.
author | mosu |
---|---|
date | Thu, 30 Oct 2003 14:57:06 +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); |