X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fdemux%2Fmkv.cpp;h=39408e7136067eced09e36c085f97d0e1e1746e8;hb=a5c83dda798f93cc7a76bbb50d89352117e6ec46;hp=23fe44f385178b4e6485cba18fdcd7dd72c6e4b4;hpb=94f55c6038a3f727f3de61099167a44dfd9f2cd6;p=vlc diff --git a/modules/demux/mkv.cpp b/modules/demux/mkv.cpp index 23fe44f385..39408e7136 100644 --- a/modules/demux/mkv.cpp +++ b/modules/demux/mkv.cpp @@ -37,7 +37,7 @@ #include -#include +#include #include #ifdef HAVE_TIME_H @@ -1051,10 +1051,7 @@ public: { for( size_t i_track = 0; i_track < tracks.size(); i_track++ ) { - if ( tracks[i_track]->p_compression_data ) - { - delete tracks[i_track]->p_compression_data; - } + delete tracks[i_track]->p_compression_data; es_format_Clean( &tracks[i_track]->fmt ); free( tracks[i_track]->p_extra_data ); free( tracks[i_track]->psz_codec ); @@ -1686,7 +1683,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_GET_TITLE_INFO: - if( p_sys->titles.size() ) + if( p_sys->titles.size() > 1 || ( p_sys->titles.size() == 1 && p_sys->titles[0]->i_seekpoint > 0 ) ) { input_title_t ***ppp_title = (input_title_t***)va_arg( args, input_title_t*** ); int *pi_int = (int*)va_arg( args, int* ); @@ -1698,7 +1695,6 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { (*ppp_title)[i] = vlc_input_title_Duplicate( p_sys->titles[i] ); } - return VLC_SUCCESS; } return VLC_EGENERIC; @@ -2554,7 +2550,6 @@ bool matroska_segment_c::Select( mtime_t i_start_time ) } tracks[i_track]->fmt.audio.i_blockalign = ( tracks[i_track]->fmt.audio.i_bitspersample + 7 ) / 8 * tracks[i_track]->fmt.audio.i_channels; } -#if 0 /* disabled due to the potential "S_KATE" namespace issue */ else if( !strcmp( tracks[i_track]->psz_codec, "S_KATE" ) ) { @@ -2605,7 +2600,6 @@ bool matroska_segment_c::Select( mtime_t i_start_time ) i_extra += i_size[i]; } } -#endif else if( !strcmp( tracks[i_track]->psz_codec, "S_TEXT/UTF8" ) ) { tracks[i_track]->fmt.i_codec = VLC_FOURCC( 's', 'u', 'b', 't' ); @@ -2798,7 +2792,7 @@ int demux_sys_t::EventThread( vlc_object_t *p_this ) var_AddCallback( p_ev->p_libvlc, "key-action", EventKey, p_ev ); /* main loop */ - while( !p_ev->b_die ) + while( vlc_object_alive (p_ev) ) { if ( !p_sys->b_pci_packet_set ) { @@ -3056,7 +3050,7 @@ int demux_sys_t::EventThread( vlc_object_t *p_this ) } /* VOUT part */ - if( p_vout && p_vout->b_die ) + if( p_vout && !vlc_object_alive (p_vout) ) { var_DelCallback( p_vout, "mouse-moved", EventMouse, p_ev ); var_DelCallback( p_vout, "mouse-clicked", EventMouse, p_ev ); @@ -5220,7 +5214,7 @@ void matroska_segment_c::InformationCreate( ) /***************************************************************************** - * Divers + * Misc *****************************************************************************/ void matroska_segment_c::IndexAppendCluster( KaxCluster *cluster )