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
c7cd0ac4
Commit
c7cd0ac4
authored
Jun 17, 2008
by
Pierre d'Herbemont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
input: Attempt to fix variables deadlocks.
parent
c351872b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
5 deletions
+18
-5
src/input/input.c
src/input/input.c
+3
-3
src/input/input_internal.h
src/input/input_internal.h
+15
-2
No files found.
src/input/input.c
View file @
c7cd0ac4
...
...
@@ -1550,7 +1550,7 @@ static bool Control( input_thread_t *p_input, int i_type,
b_force_update
=
true
;
/* Switch to play */
input_ChangeState
(
p_input
,
PLAYING_S
);
input_ChangeState
WithVarCallback
(
p_input
,
PLAYING_S
,
false
);
/* */
if
(
!
i_ret
)
...
...
@@ -1580,7 +1580,7 @@ static bool Control( input_thread_t *p_input, int i_type,
}
/* Switch to new state */
input_ChangeState
(
p_input
,
state
);
input_ChangeState
WithVarCallback
(
p_input
,
state
,
false
);
/* */
if
(
!
i_ret
)
...
...
@@ -1591,7 +1591,7 @@ static bool Control( input_thread_t *p_input, int i_type,
b_force_update
=
true
;
/* Correct "state" value */
input_ChangeState
(
p_input
,
p_input
->
i_stat
e
);
input_ChangeState
WithVarCallback
(
p_input
,
p_input
->
i_state
,
fals
e
);
}
else
if
(
val
.
i_int
!=
PLAYING_S
&&
val
.
i_int
!=
PAUSE_S
)
{
...
...
src/input/input_internal.h
View file @
c7cd0ac4
...
...
@@ -384,10 +384,17 @@ int subtitles_Filter( const char *);
void
MRLSplit
(
char
*
,
const
char
**
,
const
char
**
,
char
**
);
static
inline
void
input_ChangeState
(
input_thread_t
*
p_input
,
int
state
)
static
inline
void
input_ChangeState
WithVarCallback
(
input_thread_t
*
p_input
,
int
state
,
bool
callback
)
{
bool
changed
=
(
p_input
->
i_state
!=
state
);
var_SetInteger
(
p_input
,
"state"
,
p_input
->
i_state
=
state
);
if
(
callback
)
var_SetInteger
(
p_input
,
"state"
,
p_input
->
i_state
=
state
);
else
{
vlc_value_t
val
;
val
.
i_int
=
PLAYING_S
;
var_Change
(
p_input
,
"state"
,
VLC_VAR_SETVALUE
,
&
val
,
NULL
);
}
if
(
changed
)
{
vlc_event_t
event
;
...
...
@@ -397,6 +404,12 @@ static inline void input_ChangeState( input_thread_t *p_input, int state )
}
}
static
inline
void
input_ChangeState
(
input_thread_t
*
p_input
,
int
state
)
{
input_ChangeStateWithVarCallback
(
p_input
,
state
,
true
);
}
/* Access */
#define access_New( a, b, c, d ) __access_New(VLC_OBJECT(a), b, c, d )
...
...
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