Changeset acd09b4c95f13abdced07a7903f11e1217042573

Show
Ignore:
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
  • src/video_output/video_output.c

    r74cf34e racd09b4  
    14021402 
    14031403/***************************************************************************** 
     1404 * Helper thread for object variables callbacks. 
     1405 * Only used to avoid deadlocks when using the video embedded mode. 
     1406 *****************************************************************************/ 
     1407typedef struct suxor_thread_t 
     1408{ 
     1409    VLC_COMMON_MEMBERS 
     1410    input_thread_t *p_input; 
     1411 
     1412} suxor_thread_t; 
     1413 
     1414static 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/***************************************************************************** 
    14041430 * object variables callbacks: a bunch of object variables are used by the 
    14051431 * interfaces to interact with the vout. 
     
    14891515    if( val.i_int >= 0 ) 
    14901516    { 
     1517        suxor_thread_t *p_suxor = 
     1518            vlc_object_create( p_vout, sizeof(suxor_thread_t) ); 
     1519        p_suxor->p_input = p_input; 
    14911520        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 
    14981526    vlc_object_release( p_input ); 
     1527 
    14991528    return VLC_SUCCESS; 
    15001529}