/*****************************************************************************
* mkv.cpp : matroska demuxer
*****************************************************************************
- * Copyright (C) 2003-2004 the VideoLAN team
+ * Copyright (C) 2003-2005, 2008 the VideoLAN team
* $Id$
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
* early enough. */
#define __STDC_FORMAT_MACROS 1
#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
#ifdef HAVE_CONFIG_H
# include "config.h"
# include <time.h> /* time() */
#endif
-
-#include <vlc_codecs.h> /* BITMAPINFOHEADER, WAVEFORMATEX */
-#include <vlc_iso_lang.h>
-#include "vlc_meta.h"
+#include <vlc_meta.h>
#include <vlc_charset.h>
#include <vlc_input.h>
#include <vlc_demux.h>
#include <vector>
#include <algorithm>
-#ifdef HAVE_DIRENT_H
-# include <dirent.h>
-#endif
-
/* libebml and matroska */
#include "ebml/EbmlHead.h"
#include "ebml/EbmlSubHead.h"
#include "ebml/StdIOCallback.h"
-#include "vlc_keys.h"
+#include <vlc_keys.h>
extern "C" {
#include "../mp4/libmp4.h"
# include <zlib.h>
#endif
+#define MKV_DEBUG 0
+
#define MATROSKA_COMPRESSION_NONE -1
#define MATROSKA_COMPRESSION_ZLIB 0
#define MATROSKA_COMPRESSION_BLIB 1
using namespace LIBMATROSKA_NAMESPACE;
using namespace std;
+void BlockDecode( demux_t *p_demux, KaxBlock *block, KaxSimpleBlock *simpleblock,
+ mtime_t i_pts, mtime_t i_duration, bool f_mandatory );
+
class attachment_c
{
public:
char *psz_codec;
bool b_dts_only;
+ bool b_pts_only;
uint64_t i_default_duration;
float f_timecodescale;