Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
e9363530
Commit
e9363530
authored
Nov 26, 2012
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
playlist: fix vout destruction on stop
parent
6e9f6517
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
7 deletions
+7
-7
src/playlist/thread.c
src/playlist/thread.c
+7
-7
No files found.
src/playlist/thread.c
View file @
e9363530
...
...
@@ -479,7 +479,7 @@ static void LoopInput( playlist_t *p_playlist )
vlc_cond_wait
(
&
p_sys
->
signal
,
&
p_sys
->
lock
);
}
static
void
LoopRequest
(
playlist_t
*
p_playlist
)
static
void
LoopRequest
(
playlist_t
*
p_playlist
,
int
i_status
)
{
playlist_private_t
*
p_sys
=
pl_priv
(
p_playlist
);
assert
(
!
p_sys
->
p_input
);
...
...
@@ -490,9 +490,6 @@ static void LoopRequest( playlist_t *p_playlist )
* - Request, running requested -> start new item
* - Request, stopped requested -> collect garbage
*/
const
int
i_status
=
p_sys
->
request
.
b_request
?
p_sys
->
request
.
i_status
:
p_sys
->
status
.
i_status
;
if
(
i_status
==
PLAYLIST_STOPPED
)
{
p_sys
->
status
.
i_status
=
PLAYLIST_STOPPED
;
...
...
@@ -536,8 +533,11 @@ static void *Thread ( void *data )
if
(
p_sys
->
killed
)
break
;
/* THE END */
/* Destroy any video display if the playlist is stopped */
if
(
p_sys
->
status
.
i_status
==
PLAYLIST_STOPPED
const
int
status
=
p_sys
->
request
.
b_request
?
p_sys
->
request
.
i_status
:
p_sys
->
status
.
i_status
;
/* Destroy any video display if the playlist is supposed to stop */
if
(
status
==
PLAYLIST_STOPPED
&&
input_resource_HasVout
(
p_sys
->
p_input_resource
)
)
{
PL_UNLOCK
;
/* Mind: NO LOCKS while manipulating input resources! */
...
...
@@ -546,7 +546,7 @@ static void *Thread ( void *data )
continue
;
/* lost lock = lost state */
}
LoopRequest
(
p_playlist
);
LoopRequest
(
p_playlist
,
status
);
}
p_sys
->
status
.
i_status
=
PLAYLIST_STOPPED
;
playlist_Unlock
(
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