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
99f6722d
Commit
99f6722d
authored
Jan 01, 2008
by
Pierre d'Herbemont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert [23949].
parent
054a2b06
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
48 additions
and
80 deletions
+48
-80
include/vlc_events.h
include/vlc_events.h
+0
-1
include/vlc_input.h
include/vlc_input.h
+1
-3
modules/demux/playlist/asx.c
modules/demux/playlist/asx.c
+2
-2
modules/demux/playlist/b4s.c
modules/demux/playlist/b4s.c
+1
-1
modules/demux/playlist/dvb.c
modules/demux/playlist/dvb.c
+1
-1
modules/demux/playlist/gvp.c
modules/demux/playlist/gvp.c
+1
-1
modules/demux/playlist/ifo.c
modules/demux/playlist/ifo.c
+1
-1
modules/demux/playlist/itml.c
modules/demux/playlist/itml.c
+1
-1
modules/demux/playlist/m3u.c
modules/demux/playlist/m3u.c
+1
-1
modules/demux/playlist/pls.c
modules/demux/playlist/pls.c
+2
-2
modules/demux/playlist/podcast.c
modules/demux/playlist/podcast.c
+1
-1
modules/demux/playlist/qtl.c
modules/demux/playlist/qtl.c
+2
-2
modules/demux/playlist/sgimb.c
modules/demux/playlist/sgimb.c
+1
-1
modules/demux/playlist/shoutcast.c
modules/demux/playlist/shoutcast.c
+2
-2
modules/demux/playlist/xspf.c
modules/demux/playlist/xspf.c
+19
-33
modules/misc/lua/vlc.c
modules/misc/lua/vlc.c
+1
-1
src/playlist/item.c
src/playlist/item.c
+11
-16
src/playlist/loadsave.c
src/playlist/loadsave.c
+0
-10
No files found.
include/vlc_events.h
View file @
99f6722d
...
@@ -140,7 +140,6 @@ typedef struct vlc_event_t
...
@@ -140,7 +140,6 @@ typedef struct vlc_event_t
struct
vlc_input_item_subitem_added
struct
vlc_input_item_subitem_added
{
{
input_item_t
*
p_new_child
;
input_item_t
*
p_new_child
;
vlc_bool_t
b_node
;
}
input_item_subitem_added
;
}
input_item_subitem_added
;
struct
vlc_input_item_duration_changed
struct
vlc_input_item_duration_changed
{
{
...
...
include/vlc_input.h
View file @
99f6722d
...
@@ -125,8 +125,7 @@ static inline void input_item_SetName( input_item_t *p_item, const char *psz_nam
...
@@ -125,8 +125,7 @@ static inline void input_item_SetName( input_item_t *p_item, const char *psz_nam
* It is not the input item's responsability to keep all the ref of
* It is not the input item's responsability to keep all the ref of
* the input item children. */
* the input item children. */
static
inline
void
input_ItemAddSubItem
(
input_item_t
*
p_parent
,
static
inline
void
input_ItemAddSubItem
(
input_item_t
*
p_parent
,
input_item_t
*
p_child
,
input_item_t
*
p_child
)
vlc_bool_t
b_node
)
{
{
vlc_event_t
event
;
vlc_event_t
event
;
...
@@ -135,7 +134,6 @@ static inline void input_ItemAddSubItem( input_item_t *p_parent,
...
@@ -135,7 +134,6 @@ static inline void input_ItemAddSubItem( input_item_t *p_parent,
/* Notify interested third parties */
/* Notify interested third parties */
event
.
type
=
vlc_InputItemSubItemAdded
;
event
.
type
=
vlc_InputItemSubItemAdded
;
event
.
u
.
input_item_subitem_added
.
p_new_child
=
p_child
;
event
.
u
.
input_item_subitem_added
.
p_new_child
=
p_child
;
event
.
u
.
input_item_subitem_added
.
b_node
=
b_node
;
vlc_event_send
(
&
p_parent
->
event_manager
,
&
event
);
vlc_event_send
(
&
p_parent
->
event_manager
,
&
event
);
}
}
...
...
modules/demux/playlist/asx.c
View file @
99f6722d
...
@@ -457,7 +457,7 @@ static int Demux( demux_t *p_demux )
...
@@ -457,7 +457,7 @@ static int Demux( demux_t *p_demux )
psz_string
[
i_strlen
]
=
'\0'
;
psz_string
[
i_strlen
]
=
'\0'
;
p_input
=
input_ItemNew
(
p_playlist
,
psz_string
,
psz_title_asx
);
p_input
=
input_ItemNew
(
p_playlist
,
psz_string
,
psz_title_asx
);
input_ItemCopyOptions
(
p_current_input
,
p_input
);
input_ItemCopyOptions
(
p_current_input
,
p_input
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
free
(
psz_string
);
free
(
psz_string
);
}
}
else
continue
;
else
continue
;
...
@@ -526,7 +526,7 @@ static int Demux( demux_t *p_demux )
...
@@ -526,7 +526,7 @@ static int Demux( demux_t *p_demux )
if
(
psz_copyright_entry
)
input_item_SetCopyright
(
p_entry
,
psz_copyright_entry
);
if
(
psz_copyright_entry
)
input_item_SetCopyright
(
p_entry
,
psz_copyright_entry
);
if
(
psz_moreinfo_entry
)
input_item_SetURL
(
p_entry
,
psz_moreinfo_entry
);
if
(
psz_moreinfo_entry
)
input_item_SetURL
(
p_entry
,
psz_moreinfo_entry
);
if
(
psz_abstract_entry
)
input_item_SetDescription
(
p_entry
,
psz_abstract_entry
);
if
(
psz_abstract_entry
)
input_item_SetDescription
(
p_entry
,
psz_abstract_entry
);
input_ItemAddSubItem
(
p_current_input
,
p_entry
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_entry
);
vlc_gc_decref
(
p_entry
);
vlc_gc_decref
(
p_entry
);
}
}
...
...
modules/demux/playlist/b4s.c
View file @
99f6722d
...
@@ -265,7 +265,7 @@ static int Demux( demux_t *p_demux )
...
@@ -265,7 +265,7 @@ static int Demux( demux_t *p_demux )
if
(
psz_bitrate
)
if
(
psz_bitrate
)
msg_Err
(
p_playlist
,
"Unsupported meta bitrate"
);
msg_Err
(
p_playlist
,
"Unsupported meta bitrate"
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
FREENULL
(
psz_name
);
FREENULL
(
psz_name
);
FREENULL
(
psz_mrl
);
FREENULL
(
psz_mrl
);
...
...
modules/demux/playlist/dvb.c
View file @
99f6722d
...
@@ -118,7 +118,7 @@ static int Demux( demux_t *p_demux )
...
@@ -118,7 +118,7 @@ static int Demux( demux_t *p_demux )
EnsureUTF8
(
ppsz_options
[
i
]
);
EnsureUTF8
(
ppsz_options
[
i
]
);
input_ItemAddOption
(
p_input
,
ppsz_options
[
i
]
);
input_ItemAddOption
(
p_input
,
ppsz_options
[
i
]
);
}
}
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
while
(
i_options
--
)
free
(
ppsz_options
[
i_options
]
);
while
(
i_options
--
)
free
(
ppsz_options
[
i_options
]
);
if
(
ppsz_options
)
free
(
ppsz_options
);
if
(
ppsz_options
)
free
(
ppsz_options
);
...
...
modules/demux/playlist/gvp.c
View file @
99f6722d
...
@@ -209,7 +209,7 @@ static int Demux( demux_t *p_demux )
...
@@ -209,7 +209,7 @@ static int Demux( demux_t *p_demux )
SADD_INFO
(
"gvp_version"
,
psz_version
);
SADD_INFO
(
"gvp_version"
,
psz_version
);
SADD_INFO
(
"docid"
,
psz_docid
);
SADD_INFO
(
"docid"
,
psz_docid
);
SADD_INFO
(
"description"
,
psz_description
);
SADD_INFO
(
"description"
,
psz_description
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
}
}
...
...
modules/demux/playlist/ifo.c
View file @
99f6722d
...
@@ -91,7 +91,7 @@ static int Demux( demux_t *p_demux )
...
@@ -91,7 +91,7 @@ static int Demux( demux_t *p_demux )
snprintf
(
psz_url
,
len
+
1
,
"dvd://%s"
,
p_demux
->
psz_path
);
snprintf
(
psz_url
,
len
+
1
,
"dvd://%s"
,
p_demux
->
psz_path
);
p_input
=
input_ItemNewExt
(
p_playlist
,
psz_url
,
psz_url
,
0
,
NULL
,
-
1
);
p_input
=
input_ItemNewExt
(
p_playlist
,
psz_url
,
psz_url
,
0
,
NULL
,
-
1
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
HANDLE_PLAY_AND_RELEASE
;
HANDLE_PLAY_AND_RELEASE
;
...
...
modules/demux/playlist/itml.c
View file @
99f6722d
...
@@ -374,7 +374,7 @@ static vlc_bool_t parse_track_dict COMPLEX_INTERFACE
...
@@ -374,7 +374,7 @@ static vlc_bool_t parse_track_dict COMPLEX_INTERFACE
p_new_input
=
input_ItemNewExt
(
p_playlist
,
psz_uri
,
p_new_input
=
input_ItemNewExt
(
p_playlist
,
psz_uri
,
NULL
,
0
,
NULL
,
-
1
);
NULL
,
0
,
NULL
,
-
1
);
input_ItemAddSubItem
(
p_input_item
,
p_new_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_input_item
,
p_new_input
);
/* add meta info */
/* add meta info */
add_meta
(
p_new_input
,
p_track
);
add_meta
(
p_new_input
,
p_track
);
...
...
modules/demux/playlist/m3u.c
View file @
99f6722d
...
@@ -192,7 +192,7 @@ static int Demux( demux_t *p_demux )
...
@@ -192,7 +192,7 @@ static int Demux( demux_t *p_demux )
if
(
psz_artist
&&
*
psz_artist
)
if
(
psz_artist
&&
*
psz_artist
)
input_ItemAddInfo
(
p_input
,
_
(
VLC_META_INFO_CAT
),
input_ItemAddInfo
(
p_input
,
_
(
VLC_META_INFO_CAT
),
_
(
VLC_META_ARTIST
),
"%s"
,
psz_artist
);
_
(
VLC_META_ARTIST
),
"%s"
,
psz_artist
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
free
(
psz_mrl
);
free
(
psz_mrl
);
}
}
...
...
modules/demux/playlist/pls.c
View file @
99f6722d
...
@@ -161,7 +161,7 @@ static int Demux( demux_t *p_demux )
...
@@ -161,7 +161,7 @@ static int Demux( demux_t *p_demux )
p_input
=
input_ItemNewExt
(
p_playlist
,
psz_mrl
,
psz_name
,
p_input
=
input_ItemNewExt
(
p_playlist
,
psz_mrl
,
psz_name
,
0
,
NULL
,
-
1
);
0
,
NULL
,
-
1
);
input_ItemCopyOptions
(
p_current_input
,
p_input
);
input_ItemCopyOptions
(
p_current_input
,
p_input
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
}
}
else
else
...
@@ -221,7 +221,7 @@ static int Demux( demux_t *p_demux )
...
@@ -221,7 +221,7 @@ static int Demux( demux_t *p_demux )
{
{
p_input
=
input_ItemNewExt
(
p_playlist
,
psz_mrl
,
psz_name
,
0
,
NULL
,
-
1
);
p_input
=
input_ItemNewExt
(
p_playlist
,
psz_mrl
,
psz_name
,
0
,
NULL
,
-
1
);
input_ItemCopyOptions
(
p_current_input
,
p_input
);
input_ItemCopyOptions
(
p_current_input
,
p_input
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
free
(
psz_mrl_orig
);
free
(
psz_mrl_orig
);
psz_mrl
=
NULL
;
psz_mrl
=
NULL
;
...
...
modules/demux/playlist/podcast.c
View file @
99f6722d
...
@@ -288,7 +288,7 @@ static int Demux( demux_t *p_demux )
...
@@ -288,7 +288,7 @@ static int Demux( demux_t *p_demux )
"%s bytes"
,
"%s bytes"
,
psz_item_size
);
psz_item_size
);
}
}
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
FREENULL
(
psz_item_name
);
FREENULL
(
psz_item_name
);
FREENULL
(
psz_item_mrl
);
FREENULL
(
psz_item_mrl
);
...
...
modules/demux/playlist/qtl.c
View file @
99f6722d
...
@@ -356,13 +356,13 @@ static int Demux( demux_t *p_demux )
...
@@ -356,13 +356,13 @@ static int Demux( demux_t *p_demux )
p_input, "QuickTime Media Link", _(type), "%s", field ) ; }
p_input, "QuickTime Media Link", _(type), "%s", field ) ; }
SADD_INFO
(
"href"
,
psz_href
);
SADD_INFO
(
"href"
,
psz_href
);
SADD_INFO
(
"mime type"
,
psz_mimetype
);
SADD_INFO
(
"mime type"
,
psz_mimetype
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
if
(
psz_qtnext
)
if
(
psz_qtnext
)
{
{
p_input
=
input_ItemNewExt
(
p_sys
->
p_playlist
,
p_input
=
input_ItemNewExt
(
p_sys
->
p_playlist
,
psz_qtnext
,
NULL
,
0
,
NULL
,
-
1
);
psz_qtnext
,
NULL
,
0
,
NULL
,
-
1
);
input_ItemAddSubItem
(
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
}
}
}
}
...
...
modules/demux/playlist/sgimb.c
View file @
99f6722d
...
@@ -404,7 +404,7 @@ static int Demux ( demux_t *p_demux )
...
@@ -404,7 +404,7 @@ static int Demux ( demux_t *p_demux )
free
(
psz_option
);
free
(
psz_option
);
}
}
input_ItemAddSubItem
(
p_current_input
,
p_child
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_current_input
,
p_child
);
vlc_gc_decref
(
p_child
);
vlc_gc_decref
(
p_child
);
HANDLE_PLAY_AND_RELEASE
HANDLE_PLAY_AND_RELEASE
return
0
;
/* Needed for correct operation of go back */
return
0
;
/* Needed for correct operation of go back */
...
...
modules/demux/playlist/shoutcast.c
View file @
99f6722d
...
@@ -235,7 +235,7 @@ static int DemuxGenre( demux_t *p_demux )
...
@@ -235,7 +235,7 @@ static int DemuxGenre( demux_t *p_demux )
input_ItemCopyOptions
(
p_sys
->
p_current_input
,
input_ItemCopyOptions
(
p_sys
->
p_current_input
,
p_input
);
p_input
);
free
(
psz_mrl
);
free
(
psz_mrl
);
input_ItemAddSubItem
(
p_sys
->
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_sys
->
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
FREENULL
(
psz_name
);
FREENULL
(
psz_name
);
}
}
...
@@ -423,7 +423,7 @@ static int DemuxStation( demux_t *p_demux )
...
@@ -423,7 +423,7 @@ static int DemuxStation( demux_t *p_demux )
input_item_SetNowPlaying
(
p_input
,
psz_ct
);
input_item_SetNowPlaying
(
p_input
,
psz_ct
);
if
(
psz_rt
)
if
(
psz_rt
)
input_item_SetRating
(
p_input
,
psz_rt
);
input_item_SetRating
(
p_input
,
psz_rt
);
input_ItemAddSubItem
(
p_sys
->
p_current_input
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_sys
->
p_current_input
,
p_input
);
vlc_gc_decref
(
p_input
);
vlc_gc_decref
(
p_input
);
FREENULL
(
psz_name
);
FREENULL
(
psz_name
);
FREENULL
(
psz_mt
);
FREENULL
(
psz_mt
);
...
...
modules/demux/playlist/xspf.c
View file @
99f6722d
...
@@ -125,8 +125,9 @@ int Demux( demux_t *p_demux )
...
@@ -125,8 +125,9 @@ int Demux( demux_t *p_demux )
{
{
input_item_t
*
p_new_input
=
p_demux
->
p_sys
->
pp_tracklist
[
i
];
input_item_t
*
p_new_input
=
p_demux
->
p_sys
->
pp_tracklist
[
i
];
if
(
p_new_input
)
if
(
p_new_input
)
input_ItemAddSubItem
(
p_current_input
,
p_new_input
,
VLC_FALSE
);
{
vlc_gc_decref
(
p_new_input
);
input_ItemAddSubItem
(
p_current_input
,
p_new_input
);
}
}
}
HANDLE_PLAY_AND_RELEASE
;
HANDLE_PLAY_AND_RELEASE
;
...
@@ -488,9 +489,13 @@ static vlc_bool_t parse_track_node COMPLEX_INTERFACE
...
@@ -488,9 +489,13 @@ static vlc_bool_t parse_track_node COMPLEX_INTERFACE
if
(
!
strcmp
(
psz_name
,
psz_element
)
)
if
(
!
strcmp
(
psz_name
,
psz_element
)
)
{
{
FREE_ATT
();
FREE_ATT
();
if
(
p_demux
->
p_sys
->
i_identifier
==
-
1
||
if
(
p_demux
->
p_sys
->
i_identifier
<
p_demux
->
p_sys
->
i_identifier
==
p_demux
->
p_sys
->
i_tracklist_entries
)
p_demux
->
p_sys
->
i_tracklist_entries
)
{
p_demux
->
p_sys
->
pp_tracklist
[
p_demux
->
p_sys
->
i_identifier
]
=
p_new_input
;
}
else
{
{
if
(
p_demux
->
p_sys
->
i_identifier
>
if
(
p_demux
->
p_sys
->
i_identifier
>
p_demux
->
p_sys
->
i_tracklist_entries
)
p_demux
->
p_sys
->
i_tracklist_entries
)
...
@@ -502,13 +507,6 @@ static vlc_bool_t parse_track_node COMPLEX_INTERFACE
...
@@ -502,13 +507,6 @@ static vlc_bool_t parse_track_node COMPLEX_INTERFACE
p_demux
->
p_sys
->
i_tracklist_entries
,
p_demux
->
p_sys
->
i_tracklist_entries
,
p_demux
->
p_sys
->
i_tracklist_entries
,
p_demux
->
p_sys
->
i_tracklist_entries
,
p_new_input
);
p_new_input
);
p_demux
->
p_sys
->
i_identifier
=
-
1
;
}
else
{
msg_Err
(
p_demux
,
"Invalid identifier %d"
,
p_demux
->
p_sys
->
i_identifier
);
p_demux
->
p_sys
->
i_identifier
=
-
1
;
return
VLC_FALSE
;
}
}
return
VLC_TRUE
;
return
VLC_TRUE
;
}
}
...
@@ -538,29 +536,19 @@ static vlc_bool_t parse_track_node COMPLEX_INTERFACE
...
@@ -538,29 +536,19 @@ static vlc_bool_t parse_track_node COMPLEX_INTERFACE
if
(
psz_uri
)
if
(
psz_uri
)
{
{
if
(
(
p_demux
->
p_sys
->
psz_base
||
if
(
p_demux
->
p_sys
->
psz_base
&&
strrchr
(
p_demux
->
psz_path
,
DIR_SEP_CHAR
)
)
&&
!
strstr
(
psz_uri
,
"://"
)
)
!
strstr
(
psz_uri
,
"://"
)
)
{
{
char
*
psz_baseref
=
p_demux
->
p_sys
->
psz_base
;
char
*
psz_tmp
=
malloc
(
size_t
i_baselen
;
strlen
(
p_demux
->
p_sys
->
psz_base
)
+
if
(
psz_baseref
)
strlen
(
psz_uri
)
+
1
);
i_baselen
=
strlen
(
psz_baseref
);
else
{
psz_baseref
=
p_demux
->
psz_path
;
i_baselen
=
strrchr
(
psz_baseref
,
DIR_SEP_CHAR
)
-
psz_baseref
+
1
;
}
char
*
psz_tmp
=
malloc
(
i_baselen
+
strlen
(
psz_uri
)
+
1
);
if
(
!
psz_tmp
)
if
(
!
psz_tmp
)
{
{
msg_Err
(
p_demux
,
"out of memory"
);
msg_Err
(
p_demux
,
"out of memory"
);
return
VLC_FALSE
;
return
VLC_FALSE
;
}
}
s
trncpy
(
psz_tmp
,
psz_baseref
,
i_baselen
);
s
printf
(
psz_tmp
,
"%s%s"
,
strcpy
(
psz_tmp
+
i_baselen
,
psz_uri
);
p_demux
->
p_sys
->
psz_base
,
psz_uri
);
free
(
psz_uri
);
free
(
psz_uri
);
psz_uri
=
psz_tmp
;
psz_uri
=
psz_tmp
;
}
}
...
@@ -579,8 +567,7 @@ static vlc_bool_t parse_track_node COMPLEX_INTERFACE
...
@@ -579,8 +567,7 @@ static vlc_bool_t parse_track_node COMPLEX_INTERFACE
return
VLC_FALSE
;
return
VLC_FALSE
;
}
}
}
}
else
if
(
!
strcmp
(
p_handler
->
name
,
"identifier"
)
&&
else
if
(
!
strcmp
(
p_handler
->
name
,
"identifier"
)
)
*
psz_value
>=
'0'
&&
*
psz_value
<=
'9'
)
{
{
p_demux
->
p_sys
->
i_identifier
=
atoi
(
psz_value
);
p_demux
->
p_sys
->
i_identifier
=
atoi
(
psz_value
);
}
}
...
@@ -725,11 +712,11 @@ static vlc_bool_t parse_extension_node COMPLEX_INTERFACE
...
@@ -725,11 +712,11 @@ static vlc_bool_t parse_extension_node COMPLEX_INTERFACE
msg_Warn
(
p_demux
,
"<node> requires
\"
title
\"
attribute"
);
msg_Warn
(
p_demux
,
"<node> requires
\"
title
\"
attribute"
);
return
VLC_FALSE
;
return
VLC_FALSE
;
}
}
p_new_input
=
input_ItemNewWithType
(
VLC_OBJECT
(
p_playlist
),
"vlc:no
p"
,
p_new_input
=
input_ItemNewWithType
(
VLC_OBJECT
(
p_playlist
),
"vlc:ski
p"
,
psz_title
,
0
,
NULL
,
-
1
,
ITEM_TYPE_DIRECTORY
);
psz_title
,
0
,
NULL
,
-
1
,
ITEM_TYPE_DIRECTORY
);
if
(
p_new_input
)
if
(
p_new_input
)
{
{
input_ItemAddSubItem
(
p_input_item
,
p_new_input
,
VLC_TRUE
);
input_ItemAddSubItem
(
p_input_item
,
p_new_input
);
p_input_item
=
p_new_input
;
p_input_item
=
p_new_input
;
}
}
free
(
psz_title
);
free
(
psz_title
);
...
@@ -904,9 +891,8 @@ static vlc_bool_t parse_extitem_node COMPLEX_INTERFACE
...
@@ -904,9 +891,8 @@ static vlc_bool_t parse_extitem_node COMPLEX_INTERFACE
p_new_input
=
p_demux
->
p_sys
->
pp_tracklist
[
i_href
];
p_new_input
=
p_demux
->
p_sys
->
pp_tracklist
[
i_href
];
if
(
p_new_input
)
if
(
p_new_input
)
{
{
input_ItemAddSubItem
(
p_input_item
,
p_new_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_input_item
,
p_new_input
);
p_demux
->
p_sys
->
pp_tracklist
[
i_href
]
=
NULL
;
p_demux
->
p_sys
->
pp_tracklist
[
i_href
]
=
NULL
;
vlc_gc_decref
(
p_new_input
);
}
}
/* kludge for #1293 - XTAG sends ENDELEM for self closing tag */
/* kludge for #1293 - XTAG sends ENDELEM for self closing tag */
...
...
modules/misc/lua/vlc.c
View file @
99f6722d
...
@@ -743,7 +743,7 @@ int __vlclua_playlist_add_internal( vlc_object_t *p_this, lua_State *L,
...
@@ -743,7 +743,7 @@ int __vlclua_playlist_add_internal( vlc_object_t *p_this, lua_State *L,
/* Append item to playlist */
/* Append item to playlist */
if
(
p_parent
)
/* Add to node */
if
(
p_parent
)
/* Add to node */
input_ItemAddSubItem
(
p_parent
,
p_input
,
VLC_FALSE
);
input_ItemAddSubItem
(
p_parent
,
p_input
);
else
if
(
b_play
)
/* Play */
else
if
(
b_play
)
/* Play */
playlist_AddInput
(
p_playlist
,
p_input
,
playlist_AddInput
(
p_playlist
,
p_input
,
PLAYLIST_APPEND
|
PLAYLIST_GO
,
PLAYLIST_APPEND
|
PLAYLIST_GO
,
...
...
src/playlist/item.c
View file @
99f6722d
...
@@ -45,11 +45,10 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
...
@@ -45,11 +45,10 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
input_item_t
*
p_parent
,
*
p_child
;
input_item_t
*
p_parent
,
*
p_child
;
playlist_item_t
*
p_child_in_category
;
playlist_item_t
*
p_child_in_category
;
playlist_item_t
*
p_item_in_category
;
playlist_item_t
*
p_item_in_category
;
vlc_bool_t
b_play
,
b_node
;
vlc_bool_t
b_play
;
p_parent
=
p_event
->
p_obj
;
p_parent
=
p_event
->
p_obj
;
p_child
=
p_event
->
u
.
input_item_subitem_added
.
p_new_child
;
p_child
=
p_event
->
u
.
input_item_subitem_added
.
p_new_child
;
b_node
=
p_event
->
u
.
input_item_subitem_added
.
b_node
;
PL_LOCK
;
PL_LOCK
;
b_play
=
var_CreateGetBool
(
p_playlist
,
"playlist-autostart"
);
b_play
=
var_CreateGetBool
(
p_playlist
,
"playlist-autostart"
);
...
@@ -65,6 +64,7 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
...
@@ -65,6 +64,7 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
if
(
!
p_child_in_category
)
if
(
!
p_child_in_category
)
{
{
/* Then, transform to a node if needed */
p_item_in_category
=
playlist_ItemFindFromInputAndRoot
(
p_item_in_category
=
playlist_ItemFindFromInputAndRoot
(
p_playlist
,
p_parent
->
i_id
,
p_playlist
,
p_parent
->
i_id
,
p_playlist
->
p_root_category
,
p_playlist
->
p_root_category
,
...
@@ -78,24 +78,18 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
...
@@ -78,24 +78,18 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
b_play
=
b_play
&&
p_item_in_category
==
p_playlist
->
status
.
p_item
;
b_play
=
b_play
&&
p_item_in_category
==
p_playlist
->
status
.
p_item
;
/* If you want to use vlc_input_item_subitem_added event,
/* If this item is already a node don't transform it */
* you must explicitely create nodes */
if
(
p_item_in_category
->
i_children
==
-
1
)
assert
(
p_item_in_category
->
i_children
!=
-
1
);
{
p_item_in_category
=
playlist_ItemToNode
(
p_playlist
,
p_item_in_category
,
VLC_TRUE
);
p_item_in_category
->
p_input
->
i_type
=
ITEM_TYPE_PLAYLIST
;
}
playlist_BothAddInput
(
p_playlist
,
p_child
,
p_item_in_category
,
playlist_BothAddInput
(
p_playlist
,
p_child
,
p_item_in_category
,
PLAYLIST_APPEND
|
PLAYLIST_SPREPARSE
,
PLAYLIST_END
,
PLAYLIST_APPEND
|
PLAYLIST_SPREPARSE
,
PLAYLIST_END
,
NULL
,
NULL
,
VLC_TRUE
);
NULL
,
NULL
,
VLC_TRUE
);
if
(
b_node
)
{
playlist_item_t
*
p_pl_item
,
*
p_new_pl_item
;
p_pl_item
=
playlist_ItemFindFromInputAndRoot
(
p_playlist
,
p_child
->
i_id
,
p_playlist
->
p_root_category
,
VLC_FALSE
);
p_new_pl_item
=
playlist_ItemToNode
(
p_playlist
,
p_pl_item
,
VLC_TRUE
);
p_new_pl_item
->
p_input
->
i_type
=
ITEM_TYPE_NODE
;
}
if
(
b_play
)
if
(
b_play
)
{
{
playlist_Control
(
p_playlist
,
PLAYLIST_VIEWPLAY
,
playlist_Control
(
p_playlist
,
PLAYLIST_VIEWPLAY
,
...
@@ -418,6 +412,7 @@ playlist_item_t * playlist_NodeAddInput( playlist_t *p_playlist,
...
@@ -418,6 +412,7 @@ playlist_item_t * playlist_NodeAddInput( playlist_t *p_playlist,
/**
/**
* Transform an item to a node. Return the node in the category tree, or NULL
* Transform an item to a node. Return the node in the category tree, or NULL
* if not found there
* if not found there
* This function must be entered without the playlist lock
*/
*/
playlist_item_t
*
playlist_ItemToNode
(
playlist_t
*
p_playlist
,
playlist_item_t
*
playlist_ItemToNode
(
playlist_t
*
p_playlist
,
playlist_item_t
*
p_item
,
playlist_item_t
*
p_item
,
...
...
src/playlist/loadsave.c
View file @
99f6722d
...
@@ -96,7 +96,6 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
...
@@ -96,7 +96,6 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
{
{
playlist_t
*
p_playlist
=
user_data
;
playlist_t
*
p_playlist
=
user_data
;
input_item_t
*
p_item
=
p_event
->
u
.
input_item_subitem_added
.
p_new_child
;
input_item_t
*
p_item
=
p_event
->
u
.
input_item_subitem_added
.
p_new_child
;
vlc_bool_t
b_node
=
p_event
->
u
.
input_item_subitem_added
.
b_node
;
/* The media library input has one and only one option: "meta-file"
/* The media library input has one and only one option: "meta-file"
* So we remove that unneeded option. */
* So we remove that unneeded option. */
...
@@ -108,15 +107,6 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
...
@@ -108,15 +107,6 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
playlist_AddInput
(
p_playlist
,
p_item
,
PLAYLIST_APPEND
,
PLAYLIST_END
,
playlist_AddInput
(
p_playlist
,
p_item
,
PLAYLIST_APPEND
,
PLAYLIST_END
,
VLC_FALSE
,
VLC_FALSE
);
VLC_FALSE
,
VLC_FALSE
);
if
(
b_node
)
{
playlist_item_t
*
p_pl_item
,
*
p_new_pl_item
;
p_pl_item
=
playlist_ItemFindFromInputAndRoot
(
p_playlist
,
p_item
->
i_id
,
p_playlist
->
p_root_category
,
VLC_FALSE
);
p_new_pl_item
=
playlist_ItemToNode
(
p_playlist
,
p_pl_item
,
VLC_FALSE
);
p_new_pl_item
->
p_input
->
i_type
=
ITEM_TYPE_NODE
;
}
}
}
int
playlist_MLLoad
(
playlist_t
*
p_playlist
)
int
playlist_MLLoad
(
playlist_t
*
p_playlist
)
...
...
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