Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
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-1.1
Commits
42a0d047
Commit
42a0d047
authored
Apr 20, 2008
by
Rafaël Carré
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Attach the sout object to libvlc
parent
fb388c46
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
32 deletions
+12
-32
src/input/input.c
src/input/input.c
+12
-32
No files found.
src/input/input.c
View file @
42a0d047
...
...
@@ -1413,32 +1413,20 @@ static sout_instance_t *SoutFind( vlc_object_t *p_parent, input_item_t *p_item,
* XXX it might be unusable but this will be checked later */
if
(
b_keep_sout
)
{
/* Remove the sout from the playlist garbage collector */
/* FIXME: we don't want to depend on the playlist, sout
* should be attached to libvlc */
playlist_t
*
p_playlist
=
vlc_object_find
(
p_parent
,
VLC_OBJECT_PLAYLIST
,
FIND_PARENT
);
if
(
p_playlist
)
p_sout
=
vlc_object_find
(
p_parent
->
p_libvlc
,
VLC_OBJECT_SOUT
,
FIND_CHILD
);
if
(
p_sout
)
{
vlc_mutex_lock
(
&
p_playlist
->
gc_lock
);
p_sout
=
vlc_object_find
(
p_playlist
,
VLC_OBJECT_SOUT
,
FIND_CHILD
);
if
(
p_sout
)
if
(
p_sout
->
p_parent
!=
VLC_OBJECT
(
p_sout
->
p_libvlc
)
)
{
if
(
p_sout
->
p_parent
!=
VLC_OBJECT
(
p_playlist
)
)
{
vlc_object_release
(
p_sout
);
p_sout
=
NULL
;
}
else
{
vlc_object_detach
(
p_sout
);
/* Remove it from the GC */
vlc_object_release
(
p_sout
);
}
vlc_object_release
(
p_sout
);
p_sout
=
NULL
;
}
else
{
vlc_object_detach
(
p_sout
);
/* Remove it from the GC */
vlc_object_release
(
p_sout
);
}
vlc_mutex_unlock
(
&
p_playlist
->
gc_lock
);
vlc_object_release
(
p_playlist
);
}
}
...
...
@@ -1450,16 +1438,8 @@ static sout_instance_t *SoutFind( vlc_object_t *p_parent, input_item_t *p_item,
static
void
SoutKeep
(
sout_instance_t
*
p_sout
)
{
/* FIXME: we don't want to depend on the playlist, sout
* should be attached to libvlc */
playlist_t
*
p_playlist
=
vlc_object_find
(
p_sout
,
VLC_OBJECT_PLAYLIST
,
FIND_PARENT
);
if
(
!
p_playlist
)
return
;
msg_Dbg
(
p_sout
,
"sout has been kept"
);
vlc_object_attach
(
p_sout
,
p_playlist
);
pl_Release
(
p_sout
);
vlc_object_attach
(
p_sout
,
p_sout
->
p_libvlc
);
}
/*****************************************************************************
...
...
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