Changeset c7cd0ac4979a796904402309a4978de7416286ec
- Timestamp:
- 06/17/08 12:27:34
(3 months ago)
- Author:
- Pierre d'Herbemont <pdherbemont@videolan.org>
- git-committer:
- Pierre d'Herbemont <pdherbemont@videolan.org> 1213698454 +0200
- git-parent:
[c351872b520541b73d547bc9003b6c68ddd1b941]
- git-author:
- Pierre d'Herbemont <pdherbemont@videolan.org> 1213698360 +0200
- Message:
input: Attempt to fix variables deadlocks.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| rbbc37b5 |
rc7cd0ac |
|
| 1551 | 1551 | |
|---|
| 1552 | 1552 | /* Switch to play */ |
|---|
| 1553 | | input_ChangeState( p_input, PLAYING_S); |
|---|
| | 1553 | input_ChangeStateWithVarCallback( p_input, PLAYING_S, false ); |
|---|
| 1554 | 1554 | |
|---|
| 1555 | 1555 | /* */ |
|---|
| … | … | |
| 1581 | 1581 | |
|---|
| 1582 | 1582 | /* Switch to new state */ |
|---|
| 1583 | | input_ChangeState( p_input, state); |
|---|
| | 1583 | input_ChangeStateWithVarCallback( p_input, state, false ); |
|---|
| 1584 | 1584 | |
|---|
| 1585 | 1585 | /* */ |
|---|
| … | … | |
| 1592 | 1592 | |
|---|
| 1593 | 1593 | /* Correct "state" value */ |
|---|
| 1594 | | input_ChangeState( p_input, p_input->i_state ); |
|---|
| | 1594 | input_ChangeStateWithVarCallback( p_input, p_input->i_state, false ); |
|---|
| 1595 | 1595 | } |
|---|
| 1596 | 1596 | else if( val.i_int != PLAYING_S && val.i_int != PAUSE_S ) |
|---|
| r65340ca |
rc7cd0ac |
|
| 385 | 385 | void MRLSplit( char *, const char **, const char **, char ** ); |
|---|
| 386 | 386 | |
|---|
| 387 | | static inline void input_ChangeState( input_thread_t *p_input, int state ) |
|---|
| | 387 | static inline void input_ChangeStateWithVarCallback( input_thread_t *p_input, int state, bool callback ) |
|---|
| 388 | 388 | { |
|---|
| 389 | 389 | bool changed = (p_input->i_state != state); |
|---|
| 390 | | var_SetInteger( p_input, "state", p_input->i_state = state ); |
|---|
| | 390 | if( callback ) |
|---|
| | 391 | var_SetInteger( p_input, "state", p_input->i_state = state ); |
|---|
| | 392 | else |
|---|
| | 393 | { |
|---|
| | 394 | vlc_value_t val; |
|---|
| | 395 | val.i_int = PLAYING_S; |
|---|
| | 396 | var_Change( p_input, "state", VLC_VAR_SETVALUE, &val, NULL ); |
|---|
| | 397 | } |
|---|
| 391 | 398 | if( changed ) |
|---|
| 392 | 399 | { |
|---|
| … | … | |
| 397 | 404 | } |
|---|
| 398 | 405 | } |
|---|
| | 406 | |
|---|
| | 407 | static inline void input_ChangeState( input_thread_t *p_input, int state ) |
|---|
| | 408 | { |
|---|
| | 409 | input_ChangeStateWithVarCallback( p_input, state, true ); |
|---|
| | 410 | } |
|---|
| | 411 | |
|---|
| 399 | 412 | |
|---|
| 400 | 413 | /* Access */ |
|---|