Changeset 2d80aa6cd0dcb0030603d8ccbeb78f47e10d2f98

Show
Ignore:
Timestamp:
28/06/03 23:18:58 (5 years ago)
Author:
Laurent Aimar <fenrir@videolan.org>
git-committer:
Laurent Aimar <fenrir@videolan.org> 1056835138 +0000
git-parent:

[4101032f15bb226d75753f45ed836428aec1725f]

git-author:
Laurent Aimar <fenrir@videolan.org> 1056835138 +0000
Message:

video_output.c: should fix playback of file with multiple video track,

and usage of display in stream output.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/video_output/video_output.c

    r51c3c7d r2d80aa6  
    66 ***************************************************************************** 
    77 * Copyright (C) 2000-2001 VideoLAN 
    8  * $Id: video_output.c,v 1.227 2003/06/26 12:19:59 sam Exp $ 
     8 * $Id: video_output.c,v 1.228 2003/06/28 21:18:58 fenrir Exp $ 
    99 * 
    1010 * Authors: Vincent Seguin <seguin@via.ecp.fr> 
     
    8080        { 
    8181            vlc_object_t *p_input; 
    82             char *psz_sout = config_GetPsz( p_this, "sout" ); 
    8382 
    8483            p_input = vlc_object_find( p_this, VLC_OBJECT_INPUT, FIND_PARENT ); 
    8584 
    86             if( p_input && (!psz_sout || !*psz_sout)
     85            if( p_input
    8786            { 
    8887                vlc_object_detach( p_vout ); 
    8988                vlc_object_attach( p_vout, p_input ); 
     89 
     90                vlc_object_release( p_input ); 
    9091            } 
    9192            else 
    9293            { 
    9394                vlc_object_detach( p_vout ); 
    94                 vlc_object_release( p_vout ); 
     95                /* vlc_object_release( p_vout ); */ 
    9596                vout_Destroy( p_vout ); 
    9697            } 
    97             if( psz_sout ) free( psz_sout ); 
    98             if( p_input ) vlc_object_release( p_input ); 
    99         } 
    100  
     98        } 
    10199        return NULL; 
    102100    } 
     
    120118                p_vout = vlc_object_find( p_input, VLC_OBJECT_VOUT, 
    121119                                          FIND_CHILD ); 
     120                /* only first children of p_input for unused vout */ 
     121                if( p_vout && p_vout->p_parent != p_input ) 
     122                { 
     123                    vlc_object_release( p_vout ); 
     124                    p_vout = NULL; 
     125                } 
    122126                vlc_object_release( p_input ); 
    123127            }