X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fdemux%2Fmkv.cpp;h=70a55b6c0172238191a7ed859d47e3fde6260361;hb=975bd7b51a72dcb025885ddbc4862b333fdf26a6;hp=9820a2f6e2e8f1d86b93d123aba96c9784edd293;hpb=562773d60e1775780f5fb301670b8d515f0612d3;p=vlc diff --git a/modules/demux/mkv.cpp b/modules/demux/mkv.cpp index 9820a2f6e2..70a55b6c01 100644 --- a/modules/demux/mkv.cpp +++ b/modules/demux/mkv.cpp @@ -26,15 +26,18 @@ * Preamble *****************************************************************************/ +/* config.h may include inttypes.h, so make sure we define that option + * early enough. */ +#define __STDC_FORMAT_MACROS 1 +#define __STDC_CONSTANT_MACROS 1 + #ifdef HAVE_CONFIG_H # include "config.h" #endif -#define __STDC_FORMAT_MACROS 1 -#define __STDC_CONSTANT_MACROS 1 #include -#include +#include #include #ifdef HAVE_TIME_H @@ -1683,7 +1686,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* ); @@ -1695,7 +1698,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; @@ -2551,7 +2553,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" ) ) { @@ -2602,7 +2603,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' ); @@ -2795,7 +2795,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 ) { @@ -3053,7 +3053,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 ); @@ -5217,7 +5217,7 @@ void matroska_segment_c::InformationCreate( ) /***************************************************************************** - * Divers + * Misc *****************************************************************************/ void matroska_segment_c::IndexAppendCluster( KaxCluster *cluster )