Changeset acd09b4c95f13abdced07a7903f11e1217042573
- Timestamp:
- 07/01/08 18:47:35
(2 months ago)
- Author:
- Rémi Denis-Courmont <rdenis@simphalempin.com>
- git-committer:
- Rémi Denis-Courmont <rdenis@simphalempin.com> 1214930855 +0300
- git-parent:
[6ad63e8cf411092b7888d0d08ab618650a495ba5]
- git-author:
- Rémi Denis-Courmont <rdenis@simphalempin.com> 1214930486 +0300
- Message:
Revert "Remove the suxor thread"
This reverts commit 74cf34e6ae1258f4d680ef3f69e7cfa690ab6ef8.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r74cf34e |
racd09b4 |
|
| 1402 | 1402 | |
|---|
| 1403 | 1403 | /***************************************************************************** |
|---|
| | 1404 | * Helper thread for object variables callbacks. |
|---|
| | 1405 | * Only used to avoid deadlocks when using the video embedded mode. |
|---|
| | 1406 | *****************************************************************************/ |
|---|
| | 1407 | typedef struct suxor_thread_t |
|---|
| | 1408 | { |
|---|
| | 1409 | VLC_COMMON_MEMBERS |
|---|
| | 1410 | input_thread_t *p_input; |
|---|
| | 1411 | |
|---|
| | 1412 | } suxor_thread_t; |
|---|
| | 1413 | |
|---|
| | 1414 | static void SuxorRestartVideoES( suxor_thread_t *p_this ) |
|---|
| | 1415 | { |
|---|
| | 1416 | /* Now restart current video stream */ |
|---|
| | 1417 | int val = var_GetInteger( p_this->p_input, "video-es" ); |
|---|
| | 1418 | if( val >= 0 ) |
|---|
| | 1419 | { |
|---|
| | 1420 | var_SetInteger( p_this->p_input, "video-es", -VIDEO_ES ); |
|---|
| | 1421 | var_SetInteger( p_this->p_input, "video-es", val ); |
|---|
| | 1422 | } |
|---|
| | 1423 | |
|---|
| | 1424 | vlc_object_release( p_this->p_input ); |
|---|
| | 1425 | |
|---|
| | 1426 | vlc_object_release( p_this ); |
|---|
| | 1427 | } |
|---|
| | 1428 | |
|---|
| | 1429 | /***************************************************************************** |
|---|
| 1404 | 1430 | * object variables callbacks: a bunch of object variables are used by the |
|---|
| 1405 | 1431 | * interfaces to interact with the vout. |
|---|
| … | … | |
| 1489 | 1515 | if( val.i_int >= 0 ) |
|---|
| 1490 | 1516 | { |
|---|
| | 1517 | suxor_thread_t *p_suxor = |
|---|
| | 1518 | vlc_object_create( p_vout, sizeof(suxor_thread_t) ); |
|---|
| | 1519 | p_suxor->p_input = p_input; |
|---|
| 1491 | 1520 | p_vout->b_filter_change = true; |
|---|
| 1492 | | /* To all (embedded) video output developpers: |
|---|
| 1493 | | * Beware of callback loops if you listen on video-es. Really. |
|---|
| 1494 | | * You were warned. -- Courmisch */ |
|---|
| 1495 | | var_SetInteger( p_input, "video-es", -VIDEO_ES ); |
|---|
| 1496 | | var_Set( p_input, "video-es", val ); |
|---|
| 1497 | | } |
|---|
| | 1521 | vlc_object_yield( p_input ); |
|---|
| | 1522 | vlc_thread_create( p_suxor, "suxor", SuxorRestartVideoES, |
|---|
| | 1523 | VLC_THREAD_PRIORITY_LOW, false ); |
|---|
| | 1524 | } |
|---|
| | 1525 | |
|---|
| 1498 | 1526 | vlc_object_release( p_input ); |
|---|
| | 1527 | |
|---|
| 1499 | 1528 | return VLC_SUCCESS; |
|---|
| 1500 | 1529 | } |
|---|