* 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 <inttypes.h>
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
#ifdef HAVE_TIME_H
# include <time.h> /* time() */
#include <vlc_codecs.h> /* BITMAPINFOHEADER, WAVEFORMATEX */
-#include "iso_lang.h"
+#include <vlc_iso_lang.h>
#include "vlc_meta.h"
#include <vlc_charset.h>
#include <vlc_input.h>
vlc_module_begin();
set_shortname( "Matroska" );
- set_description( _("Matroska stream demuxer" ) );
+ set_description( N_("Matroska stream demuxer" ) );
set_capability( "demux", 50 );
set_callbacks( Open, Close );
set_category( CAT_INPUT );
psz_foo2[ 4 * i_level ] = '+';
psz_foo2[ 4 * i_level + 1 ] = ' ';
strcpy( &psz_foo2[ 4 * i_level + 2 ], psz_format );
- __msg_GenericVa( VLC_OBJECT(&demuxer), MSG_QUEUE_NORMAL, VLC_MSG_DBG, "mkv", psz_foo2, args );
+ __msg_GenericVa( VLC_OBJECT(&demuxer),VLC_MSG_DBG, "mkv", psz_foo2, args );
free( psz_foo2 );
va_end( args );
}
{
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 );
,b_pci_packet_set(false)
,p_ev(NULL)
{
- vlc_mutex_init( &demuxer, &lock_demuxer );
+ vlc_mutex_init( &lock_demuxer );
}
virtual ~demux_sys_t()
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* );
{
(*ppp_title)[i] = vlc_input_title_Duplicate( p_sys->titles[i] );
}
-
return VLC_SUCCESS;
}
return VLC_EGENERIC;
}
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" ) )
{
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' );
p_ev = (event_thread_t *) vlc_object_create( &demuxer, sizeof( event_thread_t ) );
p_ev->p_demux = &demuxer;
p_ev->b_die = false;
- vlc_mutex_init( p_ev, &p_ev->lock );
+ vlc_mutex_init( &p_ev->lock );
vlc_thread_create( p_ev, "mkv event thread handler", EventThread,
VLC_THREAD_PRIORITY_LOW, false );
}
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 )
{
}
/* 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 );
/*****************************************************************************
- * Divers
+ * Misc
*****************************************************************************/
void matroska_segment_c::IndexAppendCluster( KaxCluster *cluster )