Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
d80344c3
Commit
d80344c3
authored
Jul 15, 2009
by
Rémi Duraffort
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
itml: cleaning and factorize.
parent
854946f1
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
23 deletions
+19
-23
modules/demux/playlist/itml.c
modules/demux/playlist/itml.c
+19
-23
No files found.
modules/demux/playlist/itml.c
View file @
d80344c3
...
...
@@ -31,12 +31,12 @@
#include <vlc_common.h>
#include <vlc_demux.h>
#include <vlc_xml.h>
#include <vlc_strings.h>
#include <vlc_url.h>
#include "playlist.h"
#include "vlc_xml.h"
#include "vlc_strings.h"
#include "vlc_url.h"
#include "itml.h"
#include "playlist.h"
struct
demux_sys_t
{
...
...
@@ -135,8 +135,8 @@ static bool parse_plist_node( demux_t *p_demux, input_item_t *p_input_item,
xml_elem_hnd_t
*
p_handlers
)
{
VLC_UNUSED
(
p_track
);
VLC_UNUSED
(
psz_element
);
char
*
psz_name
=
NULL
;
char
*
psz_value
=
NULL
;
char
*
psz_name
;
char
*
psz_value
;
bool
b_version_found
=
false
;
/* read all playlist attributes */
...
...
@@ -187,6 +187,7 @@ static bool parse_dict( demux_t *p_demux, input_item_t *p_input_item,
char
*
psz_value
=
NULL
;
char
*
psz_key
=
NULL
;
xml_elem_hnd_t
*
p_handler
=
NULL
;
bool
b_ret
=
false
;
while
(
xml_ReaderRead
(
p_xml_reader
)
==
1
)
{
...
...
@@ -202,8 +203,7 @@ static bool parse_dict( demux_t *p_demux, input_item_t *p_input_item,
if
(
!
psz_name
||
!*
psz_name
)
{
msg_Err
(
p_demux
,
"invalid xml stream"
);
FREE_ATT_KEY
();
return
false
;
goto
end
;
}
/* choose handler */
for
(
p_handler
=
p_handlers
;
...
...
@@ -212,8 +212,7 @@ static bool parse_dict( demux_t *p_demux, input_item_t *p_input_item,
if
(
!
p_handler
->
name
)
{
msg_Err
(
p_demux
,
"unexpected element <%s>"
,
psz_name
);
FREE_ATT_KEY
();
return
false
;
goto
end
;
}
FREE_NAME
();
/* complex content is parsed in a separate function */
...
...
@@ -231,8 +230,7 @@ static bool parse_dict( demux_t *p_demux, input_item_t *p_input_item,
}
else
{
FREE_ATT_KEY
();
return
false
;
goto
end
;
}
}
break
;
...
...
@@ -244,8 +242,7 @@ static bool parse_dict( demux_t *p_demux, input_item_t *p_input_item,
if
(
!
psz_value
)
{
msg_Err
(
p_demux
,
"invalid xml stream"
);
FREE_ATT_KEY
();
return
false
;
goto
end
;
}
break
;
...
...
@@ -255,14 +252,13 @@ static bool parse_dict( demux_t *p_demux, input_item_t *p_input_item,
if
(
!
psz_name
)
{
msg_Err
(
p_demux
,
"invalid xml stream"
);
FREE_ATT_KEY
();
return
false
;
goto
end
;
}
/* leave if the current parent node <track> is terminated */
if
(
!
strcmp
(
psz_name
,
psz_element
)
)
{
FREE_ATT_KEY
()
;
return
true
;
b_ret
=
true
;
goto
end
;
}
/* there MUST have been a start tag for that element name */
if
(
!
p_handler
||
!
p_handler
->
name
...
...
@@ -270,8 +266,7 @@ static bool parse_dict( demux_t *p_demux, input_item_t *p_input_item,
{
msg_Err
(
p_demux
,
"there's no open element left for <%s>"
,
psz_name
);
FREE_ATT_KEY
();
return
false
;
goto
end
;
}
/* special case: key */
if
(
!
strcmp
(
p_handler
->
name
,
"key"
)
)
...
...
@@ -290,14 +285,15 @@ static bool parse_dict( demux_t *p_demux, input_item_t *p_input_item,
default:
/* unknown/unexpected xml node */
msg_Err
(
p_demux
,
"unexpected xml node %i"
,
i_node
);
FREE_ATT_KEY
();
return
false
;
goto
end
;
}
FREE_NAME
();
}
msg_Err
(
p_demux
,
"unexpected end of xml data"
);
end:
FREE_ATT_KEY
();
return
false
;
return
b_ret
;
}
static
bool
parse_plist_dict
(
demux_t
*
p_demux
,
input_item_t
*
p_input_item
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment