shithub: aacdec

Download patch

ref: 6c6392f7709f2c6de0764ee09e79c722570b3740
parent: 42c2fe93a7e7ab1cc1e6b8578834355cefd0c7f1
author: menno <menno>
date: Fri Feb 6 07:47:04 EST 2004

more Final changes for version 2.0

--- a/AUTHORS
+++ b/AUTHORS
@@ -5,4 +5,9 @@
 Alexander Kurpiers (a.kurpiers(at)nt.tu-darmstadt.de)
  - HCR code
  - DRM stuff
- - lot's of bug fixes
\ No newline at end of file
+ - lot's of bug fixes
+
+Volker Fischer (v.fischer(at)nt.tu-darmstadt.de)
+ - DRM code
+ - lot's of bug fixes
+
--- a/NEWS
+++ b/NEWS
@@ -4,3 +4,4 @@
 
 25 July 2003
  - Release version with SBR decoding
+
--- a/common/mp4v2/Makefile.am
+++ b/common/mp4v2/Makefile.am
@@ -116,8 +116,7 @@
     qosqualifiers.cpp \
     qosqualifiers.h \
     rtphint.cpp \
-    rtphint.h \
-    systems.h
+    rtphint.h
 
 EXTRA_DIST = API_CHANGES \
     INTERNALS \
--- a/common/mp4v2/mp4.h
+++ b/common/mp4v2/mp4.h
@@ -3,21 +3,21 @@
  * License Version 1.1 (the "License"); you may not use this file
  * except in compliance with the License. You may obtain a copy of
  * the License at http://www.mozilla.org/MPL/
- * 
+ *
  * Software distributed under the License is distributed on an "AS
  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  * implied. See the License for the specific language governing
  * rights and limitations under the License.
- * 
+ *
  * The Original Code is MPEG4IP.
- * 
+ *
  * The Initial Developer of the Original Code is Cisco Systems Inc.
  * Portions created by Cisco Systems Inc. are
  * Copyright (C) Cisco Systems Inc. 2001.  All Rights Reserved.
- * 
- * Contributor(s): 
- *		Dave Mackie			dmackie@cisco.com
- *		Alix Marchandise-Franquet	alix@cisco.com
+ *
+ * Contributor(s):
+ *      Dave Mackie         dmackie@cisco.com
+ *      Alix Marchandise-Franquet   alix@cisco.com
  */
 
 #ifndef __MP4_INCLUDED__
@@ -24,9 +24,9 @@
 #define __MP4_INCLUDED__
 
 /* include system and project specific headers */
-#include "mpeg4ip.h"
+#include <mpeg4ip.h>
 
-#include <math.h>	/* to define float HUGE_VAL and/or NAN */
+#include <math.h>   /* to define float HUGE_VAL and/or NAN */
 #ifndef NAN
 #define NAN HUGE_VAL
 #endif
@@ -33,177 +33,177 @@
 
 #ifdef __cplusplus
 /* exploit C++ ability of default values for function parameters */
-#define DEFAULT(x)	=x
+#define DEFAULT(x)  =x
 #else
 #define DEFAULT(x)
 #endif
 
 /* MP4 API types */
-typedef void*		MP4FileHandle;
-typedef u_int32_t	MP4TrackId;
-typedef u_int32_t	MP4SampleId;
-typedef u_int64_t	MP4Timestamp;
-typedef u_int64_t	MP4Duration;
-typedef u_int32_t	MP4EditId;
+typedef void*       MP4FileHandle;
+typedef u_int32_t   MP4TrackId;
+typedef u_int32_t   MP4SampleId;
+typedef u_int64_t   MP4Timestamp;
+typedef u_int64_t   MP4Duration;
+typedef u_int32_t   MP4EditId;
 
 /* Invalid values for API types */
-#define MP4_INVALID_FILE_HANDLE	((MP4FileHandle)NULL)
-#define MP4_INVALID_TRACK_ID	((MP4TrackId)0)
-#define MP4_INVALID_SAMPLE_ID	((MP4SampleId)0)
-#define MP4_INVALID_TIMESTAMP	((MP4Timestamp)-1)
-#define MP4_INVALID_DURATION	((MP4Duration)-1)
-#define MP4_INVALID_EDIT_ID		((MP4EditId)0)
+#define MP4_INVALID_FILE_HANDLE ((MP4FileHandle)NULL)
+#define MP4_INVALID_TRACK_ID    ((MP4TrackId)0)
+#define MP4_INVALID_SAMPLE_ID   ((MP4SampleId)0)
+#define MP4_INVALID_TIMESTAMP   ((MP4Timestamp)-1)
+#define MP4_INVALID_DURATION    ((MP4Duration)-1)
+#define MP4_INVALID_EDIT_ID     ((MP4EditId)0)
 
 /* Macros to test for API type validity */
-#define MP4_IS_VALID_FILE_HANDLE(x)	((x) != MP4_INVALID_FILE_HANDLE) 
-#define MP4_IS_VALID_TRACK_ID(x)	((x) != MP4_INVALID_TRACK_ID) 
-#define MP4_IS_VALID_SAMPLE_ID(x)	((x) != MP4_INVALID_SAMPLE_ID) 
-#define MP4_IS_VALID_TIMESTAMP(x)	((x) != MP4_INVALID_TIMESTAMP) 
-#define MP4_IS_VALID_DURATION(x)	((x) != MP4_INVALID_DURATION) 
-#define MP4_IS_VALID_EDIT_ID(x)		((x) != MP4_INVALID_EDIT_ID) 
+#define MP4_IS_VALID_FILE_HANDLE(x) ((x) != MP4_INVALID_FILE_HANDLE)
+#define MP4_IS_VALID_TRACK_ID(x)    ((x) != MP4_INVALID_TRACK_ID)
+#define MP4_IS_VALID_SAMPLE_ID(x)   ((x) != MP4_INVALID_SAMPLE_ID)
+#define MP4_IS_VALID_TIMESTAMP(x)   ((x) != MP4_INVALID_TIMESTAMP)
+#define MP4_IS_VALID_DURATION(x)    ((x) != MP4_INVALID_DURATION)
+#define MP4_IS_VALID_EDIT_ID(x)     ((x) != MP4_INVALID_EDIT_ID)
 
 /* MP4 verbosity levels - e.g. MP4SetVerbosity() */
-#define MP4_DETAILS_ALL				0xFFFFFFFF
-#define MP4_DETAILS_ERROR			0x00000001
-#define MP4_DETAILS_WARNING			0x00000002
-#define MP4_DETAILS_READ			0x00000004
-#define MP4_DETAILS_WRITE			0x00000008
-#define MP4_DETAILS_FIND			0x00000010
-#define MP4_DETAILS_TABLE			0x00000020
-#define MP4_DETAILS_SAMPLE			0x00000040
-#define MP4_DETAILS_HINT			0x00000080
-#define MP4_DETAILS_ISMA			0x00000100
-#define MP4_DETAILS_EDIT			0x00000200
+#define MP4_DETAILS_ALL             0xFFFFFFFF
+#define MP4_DETAILS_ERROR           0x00000001
+#define MP4_DETAILS_WARNING         0x00000002
+#define MP4_DETAILS_READ            0x00000004
+#define MP4_DETAILS_WRITE           0x00000008
+#define MP4_DETAILS_FIND            0x00000010
+#define MP4_DETAILS_TABLE           0x00000020
+#define MP4_DETAILS_SAMPLE          0x00000040
+#define MP4_DETAILS_HINT            0x00000080
+#define MP4_DETAILS_ISMA            0x00000100
+#define MP4_DETAILS_EDIT            0x00000200
 
-#define MP4_DETAILS_READ_ALL		\
-	(MP4_DETAILS_READ | MP4_DETAILS_TABLE | MP4_DETAILS_SAMPLE)
-#define MP4_DETAILS_WRITE_ALL		\
-	(MP4_DETAILS_WRITE | MP4_DETAILS_TABLE | MP4_DETAILS_SAMPLE)
+#define MP4_DETAILS_READ_ALL        \
+    (MP4_DETAILS_READ | MP4_DETAILS_TABLE | MP4_DETAILS_SAMPLE)
+#define MP4_DETAILS_WRITE_ALL       \
+    (MP4_DETAILS_WRITE | MP4_DETAILS_TABLE | MP4_DETAILS_SAMPLE)
 
 /*
- * MP4 Known track type names - e.g. MP4GetNumberOfTracks(type) 
+ * MP4 Known track type names - e.g. MP4GetNumberOfTracks(type)
  *
- * Note this first group of track types should be created 
+ * Note this first group of track types should be created
  * via the MP4Add<Type>Track() functions, and not MP4AddTrack(type)
  */
-#define MP4_OD_TRACK_TYPE		"odsm"
-#define MP4_SCENE_TRACK_TYPE	"sdsm"
-#define MP4_AUDIO_TRACK_TYPE	"soun"
-#define MP4_VIDEO_TRACK_TYPE	"vide"
-#define MP4_HINT_TRACK_TYPE		"hint"
+#define MP4_OD_TRACK_TYPE       "odsm"
+#define MP4_SCENE_TRACK_TYPE    "sdsm"
+#define MP4_AUDIO_TRACK_TYPE    "soun"
+#define MP4_VIDEO_TRACK_TYPE    "vide"
+#define MP4_HINT_TRACK_TYPE     "hint"
 /*
- * This second set of track types should be created 
+ * This second set of track types should be created
  * via MP4AddSystemsTrack(type)
  */
-#define MP4_CLOCK_TRACK_TYPE	"crsm"
-#define MP4_MPEG7_TRACK_TYPE	"m7sm"
-#define MP4_OCI_TRACK_TYPE		"ocsm"
-#define MP4_IPMP_TRACK_TYPE		"ipsm"
-#define MP4_MPEGJ_TRACK_TYPE	"mjsm"
+#define MP4_CLOCK_TRACK_TYPE    "crsm"
+#define MP4_MPEG7_TRACK_TYPE    "m7sm"
+#define MP4_OCI_TRACK_TYPE      "ocsm"
+#define MP4_IPMP_TRACK_TYPE     "ipsm"
+#define MP4_MPEGJ_TRACK_TYPE    "mjsm"
 
 #define MP4_IS_VIDEO_TRACK_TYPE(type) \
-	(!strcasecmp(type, MP4_VIDEO_TRACK_TYPE))
+    (!strcasecmp(type, MP4_VIDEO_TRACK_TYPE))
 
 #define MP4_IS_AUDIO_TRACK_TYPE(type) \
-	(!strcasecmp(type, MP4_AUDIO_TRACK_TYPE))
+    (!strcasecmp(type, MP4_AUDIO_TRACK_TYPE))
 
 #define MP4_IS_OD_TRACK_TYPE(type) \
-	(!strcasecmp(type, MP4_OD_TRACK_TYPE))
+    (!strcasecmp(type, MP4_OD_TRACK_TYPE))
 
 #define MP4_IS_SCENE_TRACK_TYPE(type) \
-	(!strcasecmp(type, MP4_SCENE_TRACK_TYPE))
+    (!strcasecmp(type, MP4_SCENE_TRACK_TYPE))
 
 #define MP4_IS_HINT_TRACK_TYPE(type) \
-	(!strcasecmp(type, MP4_HINT_TRACK_TYPE))
+    (!strcasecmp(type, MP4_HINT_TRACK_TYPE))
 
 #define MP4_IS_SYSTEMS_TRACK_TYPE(type) \
-	(!strcasecmp(type, MP4_CLOCK_TRACK_TYPE) \
-	|| !strcasecmp(type, MP4_MPEG7_TRACK_TYPE) \
-	|| !strcasecmp(type, MP4_OCI_TRACK_TYPE) \
-	|| !strcasecmp(type, MP4_IPMP_TRACK_TYPE) \
-	|| !strcasecmp(type, MP4_MPEGJ_TRACK_TYPE))
+    (!strcasecmp(type, MP4_CLOCK_TRACK_TYPE) \
+    || !strcasecmp(type, MP4_MPEG7_TRACK_TYPE) \
+    || !strcasecmp(type, MP4_OCI_TRACK_TYPE) \
+    || !strcasecmp(type, MP4_IPMP_TRACK_TYPE) \
+    || !strcasecmp(type, MP4_MPEGJ_TRACK_TYPE))
 
 /* MP4 Audio track types - see MP4AddAudioTrack()*/
-#define MP4_INVALID_AUDIO_TYPE			0x00
-#define MP4_MPEG1_AUDIO_TYPE			0x6B
-#define MP4_MPEG2_AUDIO_TYPE			0x69
-#define MP4_MP3_AUDIO_TYPE				MP4_MPEG2_AUDIO_TYPE
-#define MP4_MPEG2_AAC_MAIN_AUDIO_TYPE	0x66
-#define MP4_MPEG2_AAC_LC_AUDIO_TYPE		0x67
-#define MP4_MPEG2_AAC_SSR_AUDIO_TYPE	0x68
-#define MP4_MPEG2_AAC_AUDIO_TYPE		MP4_MPEG2_AAC_MAIN_AUDIO_TYPE
-#define MP4_MPEG4_AUDIO_TYPE			0x40
-#define MP4_PRIVATE_AUDIO_TYPE			0xC0
-#define MP4_PCM16_LITTLE_ENDIAN_AUDIO_TYPE	0xE0	/* a private definition */
-#define MP4_VORBIS_AUDIO_TYPE			0xE1	/* a private definition */
-#define MP4_AC3_AUDIO_TYPE				0xE2	/* a private definition */
-#define MP4_ALAW_AUDIO_TYPE				0xE3	/* a private definition */
-#define MP4_ULAW_AUDIO_TYPE				0xE4	/* a private definition */
+#define MP4_INVALID_AUDIO_TYPE          0x00
+#define MP4_MPEG1_AUDIO_TYPE            0x6B
+#define MP4_MPEG2_AUDIO_TYPE            0x69
+#define MP4_MP3_AUDIO_TYPE              MP4_MPEG2_AUDIO_TYPE
+#define MP4_MPEG2_AAC_MAIN_AUDIO_TYPE   0x66
+#define MP4_MPEG2_AAC_LC_AUDIO_TYPE     0x67
+#define MP4_MPEG2_AAC_SSR_AUDIO_TYPE    0x68
+#define MP4_MPEG2_AAC_AUDIO_TYPE        MP4_MPEG2_AAC_MAIN_AUDIO_TYPE
+#define MP4_MPEG4_AUDIO_TYPE            0x40
+#define MP4_PRIVATE_AUDIO_TYPE          0xC0
+#define MP4_PCM16_LITTLE_ENDIAN_AUDIO_TYPE  0xE0    /* a private definition */
+#define MP4_VORBIS_AUDIO_TYPE           0xE1    /* a private definition */
+#define MP4_AC3_AUDIO_TYPE              0xE2    /* a private definition */
+#define MP4_ALAW_AUDIO_TYPE             0xE3    /* a private definition */
+#define MP4_ULAW_AUDIO_TYPE             0xE4    /* a private definition */
 #define MP4_G723_AUDIO_TYPE                             0xE5    /* a private definition */
 #define MP4_PCM16_BIG_ENDIAN_AUDIO_TYPE         0xE6 /* a private definition */
 
 /* MP4 MPEG-4 Audio types from 14496-3 Table 1.5.1 */
-#define MP4_MPEG4_INVALID_AUDIO_TYPE		0
-#define MP4_MPEG4_AAC_MAIN_AUDIO_TYPE		1
-#define MP4_MPEG4_AAC_LC_AUDIO_TYPE			2
-#define MP4_MPEG4_AAC_SSR_AUDIO_TYPE		3
-#define MP4_MPEG4_AAC_LTP_AUDIO_TYPE		4
-#define MP4_MPEG4_AAC_SCALABLE_AUDIO_TYPE	6
-#define MP4_MPEG4_CELP_AUDIO_TYPE			8
-#define MP4_MPEG4_HVXC_AUDIO_TYPE			9
-#define MP4_MPEG4_TTSI_AUDIO_TYPE			12
-#define MP4_MPEG4_MAIN_SYNTHETIC_AUDIO_TYPE	13
-#define MP4_MPEG4_WAVETABLE_AUDIO_TYPE		14
-#define MP4_MPEG4_MIDI_AUDIO_TYPE			15
-#define MP4_MPEG4_ALGORITHMIC_FX_AUDIO_TYPE	16
+#define MP4_MPEG4_INVALID_AUDIO_TYPE        0
+#define MP4_MPEG4_AAC_MAIN_AUDIO_TYPE       1
+#define MP4_MPEG4_AAC_LC_AUDIO_TYPE         2
+#define MP4_MPEG4_AAC_SSR_AUDIO_TYPE        3
+#define MP4_MPEG4_AAC_LTP_AUDIO_TYPE        4
+#define MP4_MPEG4_AAC_SCALABLE_AUDIO_TYPE   6
+#define MP4_MPEG4_CELP_AUDIO_TYPE           8
+#define MP4_MPEG4_HVXC_AUDIO_TYPE           9
+#define MP4_MPEG4_TTSI_AUDIO_TYPE           12
+#define MP4_MPEG4_MAIN_SYNTHETIC_AUDIO_TYPE 13
+#define MP4_MPEG4_WAVETABLE_AUDIO_TYPE      14
+#define MP4_MPEG4_MIDI_AUDIO_TYPE           15
+#define MP4_MPEG4_ALGORITHMIC_FX_AUDIO_TYPE 16
 
 /* MP4 Audio type utilities following common usage */
 #define MP4_IS_MP3_AUDIO_TYPE(type) \
-	((type) == MP4_MPEG1_AUDIO_TYPE || (type) == MP4_MPEG2_AUDIO_TYPE) 
+    ((type) == MP4_MPEG1_AUDIO_TYPE || (type) == MP4_MPEG2_AUDIO_TYPE)
 
 #define MP4_IS_MPEG2_AAC_AUDIO_TYPE(type) \
-	(((type) >= MP4_MPEG2_AAC_MAIN_AUDIO_TYPE \
-		&& (type) <= MP4_MPEG2_AAC_SSR_AUDIO_TYPE))
+    (((type) >= MP4_MPEG2_AAC_MAIN_AUDIO_TYPE \
+        && (type) <= MP4_MPEG2_AAC_SSR_AUDIO_TYPE))
 
 #define MP4_IS_MPEG4_AAC_AUDIO_TYPE(mpeg4Type) \
-	(((mpeg4Type) >= MP4_MPEG4_AAC_MAIN_AUDIO_TYPE \
-		&& (mpeg4Type) <= MP4_MPEG4_AAC_LTP_AUDIO_TYPE) \
-	  || (mpeg4Type) == MP4_MPEG4_AAC_SCALABLE_AUDIO_TYPE \
+    (((mpeg4Type) >= MP4_MPEG4_AAC_MAIN_AUDIO_TYPE \
+        && (mpeg4Type) <= MP4_MPEG4_AAC_LTP_AUDIO_TYPE) \
+      || (mpeg4Type) == MP4_MPEG4_AAC_SCALABLE_AUDIO_TYPE \
           || (mpeg4Type) == 17)
 
 #define MP4_IS_AAC_AUDIO_TYPE(type) \
-	(MP4_IS_MPEG2_AAC_AUDIO_TYPE(type) \
-	|| (type) == MP4_MPEG4_AUDIO_TYPE)
+    (MP4_IS_MPEG2_AAC_AUDIO_TYPE(type) \
+    || (type) == MP4_MPEG4_AUDIO_TYPE)
 
 /* MP4 Video track types - see MP4AddVideoTrack() */
-#define MP4_INVALID_VIDEO_TYPE			0x00
-#define MP4_MPEG1_VIDEO_TYPE			0x6A
-#define MP4_MPEG2_SIMPLE_VIDEO_TYPE		0x60
-#define MP4_MPEG2_MAIN_VIDEO_TYPE		0x61
-#define MP4_MPEG2_SNR_VIDEO_TYPE		0x62
-#define MP4_MPEG2_SPATIAL_VIDEO_TYPE	0x63
-#define MP4_MPEG2_HIGH_VIDEO_TYPE		0x64
-#define MP4_MPEG2_442_VIDEO_TYPE		0x65
-#define MP4_MPEG2_VIDEO_TYPE			MP4_MPEG2_MAIN_VIDEO_TYPE
-#define MP4_MPEG4_VIDEO_TYPE			0x20
-#define MP4_JPEG_VIDEO_TYPE				0x6C
-#define MP4_PRIVATE_VIDEO_TYPE			0xD0
-#define MP4_YUV12_VIDEO_TYPE			0xF0	/* a private definition */
-#define MP4_H264_VIDEO_TYPE				0xF1	/* a private definition */
-#define MP4_H263_VIDEO_TYPE				0xF2	/* a private definition */
-#define MP4_H261_VIDEO_TYPE				0xF3	/* a private definition */
+#define MP4_INVALID_VIDEO_TYPE          0x00
+#define MP4_MPEG1_VIDEO_TYPE            0x6A
+#define MP4_MPEG2_SIMPLE_VIDEO_TYPE     0x60
+#define MP4_MPEG2_MAIN_VIDEO_TYPE       0x61
+#define MP4_MPEG2_SNR_VIDEO_TYPE        0x62
+#define MP4_MPEG2_SPATIAL_VIDEO_TYPE    0x63
+#define MP4_MPEG2_HIGH_VIDEO_TYPE       0x64
+#define MP4_MPEG2_442_VIDEO_TYPE        0x65
+#define MP4_MPEG2_VIDEO_TYPE            MP4_MPEG2_MAIN_VIDEO_TYPE
+#define MP4_MPEG4_VIDEO_TYPE            0x20
+#define MP4_JPEG_VIDEO_TYPE             0x6C
+#define MP4_PRIVATE_VIDEO_TYPE          0xD0
+#define MP4_YUV12_VIDEO_TYPE            0xF0    /* a private definition */
+#define MP4_H264_VIDEO_TYPE             0xF1    /* a private definition */
+#define MP4_H263_VIDEO_TYPE             0xF2    /* a private definition */
+#define MP4_H261_VIDEO_TYPE             0xF3    /* a private definition */
 
 /* MP4 Video type utilities */
 #define MP4_IS_MPEG1_VIDEO_TYPE(type) \
-	((type) == MP4_MPEG1_VIDEO_TYPE)
+    ((type) == MP4_MPEG1_VIDEO_TYPE)
 
 #define MP4_IS_MPEG2_VIDEO_TYPE(type) \
-	(((type) >= MP4_MPEG2_SIMPLE_VIDEO_TYPE \
-		&& (type) <= MP4_MPEG2_442_VIDEO_TYPE) \
-	  || MP4_IS_MPEG1_VIDEO_TYPE(type))
+    (((type) >= MP4_MPEG2_SIMPLE_VIDEO_TYPE \
+        && (type) <= MP4_MPEG2_442_VIDEO_TYPE) \
+      || MP4_IS_MPEG1_VIDEO_TYPE(type))
 
 #define MP4_IS_MPEG4_VIDEO_TYPE(type) \
-	((type) == MP4_MPEG4_VIDEO_TYPE)
+    ((type) == MP4_MPEG4_VIDEO_TYPE)
 
 
 /* MP4 API declarations */
@@ -215,40 +215,40 @@
 /* file operations */
 
 MP4FileHandle MP4Create(
-	const char* fileName, 
-	u_int32_t verbosity DEFAULT(0),
-	bool use64bits DEFAULT(0),
-	bool useExtensibleFormat DEFAULT(0));
+    const char* fileName,
+    u_int32_t verbosity DEFAULT(0),
+    bool use64bits DEFAULT(0),
+    bool useExtensibleFormat DEFAULT(0));
 
 MP4FileHandle MP4Modify(
-	const char* fileName, 
-	u_int32_t verbosity DEFAULT(0),
-	bool useExtensibleFormat DEFAULT(0));
+    const char* fileName,
+    u_int32_t verbosity DEFAULT(0),
+    bool useExtensibleFormat DEFAULT(0));
 
 MP4FileHandle MP4Read(
-	const char* fileName, 
-	u_int32_t verbosity DEFAULT(0));
+    const char* fileName,
+    u_int32_t verbosity DEFAULT(0));
 
 bool MP4Close(
-	MP4FileHandle hFile);
+    MP4FileHandle hFile);
 
 bool MP4Optimize(
-	const char* existingFileName, 
-	const char* newFileName DEFAULT(NULL), 
-	u_int32_t verbosity DEFAULT(0));
+    const char* existingFileName,
+    const char* newFileName DEFAULT(NULL),
+    u_int32_t verbosity DEFAULT(0));
 
 bool MP4Dump(
-	MP4FileHandle hFile, 
-	FILE* pDumpFile DEFAULT(NULL), 
-	bool dumpImplicits DEFAULT(0));
+    MP4FileHandle hFile,
+    FILE* pDumpFile DEFAULT(NULL),
+    bool dumpImplicits DEFAULT(0));
 
 char* MP4Info(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId DEFAULT(MP4_INVALID_TRACK_ID));
+    MP4FileHandle hFile,
+    MP4TrackId trackId DEFAULT(MP4_INVALID_TRACK_ID));
 
 char* MP4FileInfo(
-	const char* fileName,
-	MP4TrackId trackId DEFAULT(MP4_INVALID_TRACK_ID));
+    const char* fileName,
+    MP4TrackId trackId DEFAULT(MP4_INVALID_TRACK_ID));
 
 /* file properties */
 
@@ -287,128 +287,128 @@
 /* generic file properties */
 
 u_int64_t MP4GetIntegerProperty(
-	MP4FileHandle hFile, 
-	const char* propName);
+    MP4FileHandle hFile,
+    const char* propName);
 
 float MP4GetFloatProperty(
-	MP4FileHandle hFile, 
-	const char* propName);
+    MP4FileHandle hFile,
+    const char* propName);
 
 const char* MP4GetStringProperty(
-	MP4FileHandle hFile, 
-	const char* propName);
+    MP4FileHandle hFile,
+    const char* propName);
 
 void MP4GetBytesProperty(
-	MP4FileHandle hFile, 
-	const char* propName,
-	u_int8_t** ppValue, 
-	u_int32_t* pValueSize);
+    MP4FileHandle hFile,
+    const char* propName,
+    u_int8_t** ppValue,
+    u_int32_t* pValueSize);
 
 bool MP4SetIntegerProperty(
-	MP4FileHandle hFile, 
-	const char* propName, 
-	int64_t value);
+    MP4FileHandle hFile,
+    const char* propName,
+    int64_t value);
 
 bool MP4SetFloatProperty(
-	MP4FileHandle hFile, 
-	const char* propName, 
-	float value);
+    MP4FileHandle hFile,
+    const char* propName,
+    float value);
 
 bool MP4SetStringProperty(
-	MP4FileHandle hFile, const char* propName, const char* value);
+    MP4FileHandle hFile, const char* propName, const char* value);
 
 bool MP4SetBytesProperty(
-	MP4FileHandle hFile, const char* propName, 
-	const u_int8_t* pValue, u_int32_t valueSize);
+    MP4FileHandle hFile, const char* propName,
+    const u_int8_t* pValue, u_int32_t valueSize);
 
 /* track operations */
 
 MP4TrackId MP4AddTrack(
-	MP4FileHandle hFile, 
-	const char* type);
+    MP4FileHandle hFile,
+    const char* type);
 
 MP4TrackId MP4AddSystemsTrack(
-	MP4FileHandle hFile, 
-	const char* type);
+    MP4FileHandle hFile,
+    const char* type);
 
 MP4TrackId MP4AddODTrack(
-	MP4FileHandle hFile);
+    MP4FileHandle hFile);
 
 MP4TrackId MP4AddSceneTrack(
-	MP4FileHandle hFile);
+    MP4FileHandle hFile);
 
 MP4TrackId MP4AddAudioTrack(
-	MP4FileHandle hFile, 
-	u_int32_t timeScale, 
-	MP4Duration sampleDuration,
-	u_int8_t audioType DEFAULT(MP4_MPEG4_AUDIO_TYPE));
+    MP4FileHandle hFile,
+    u_int32_t timeScale,
+    MP4Duration sampleDuration,
+    u_int8_t audioType DEFAULT(MP4_MPEG4_AUDIO_TYPE));
 
 MP4TrackId MP4AddEncAudioTrack(
-	MP4FileHandle hFile, 
-	u_int32_t timeScale, 
-	MP4Duration sampleDuration,
-	u_int8_t audioType DEFAULT(MP4_MPEG4_AUDIO_TYPE));
+    MP4FileHandle hFile,
+    u_int32_t timeScale,
+    MP4Duration sampleDuration,
+    u_int8_t audioType DEFAULT(MP4_MPEG4_AUDIO_TYPE));
 
 MP4TrackId MP4AddVideoTrack(
-	MP4FileHandle hFile, 
-	u_int32_t timeScale, 
-	MP4Duration sampleDuration,
-	u_int16_t width, 
-	u_int16_t height,
-	u_int8_t videoType DEFAULT(MP4_MPEG4_VIDEO_TYPE));
+    MP4FileHandle hFile,
+    u_int32_t timeScale,
+    MP4Duration sampleDuration,
+    u_int16_t width,
+    u_int16_t height,
+    u_int8_t videoType DEFAULT(MP4_MPEG4_VIDEO_TYPE));
 
 MP4TrackId MP4AddEncVideoTrack(
-	MP4FileHandle hFile, 
-	u_int32_t timeScale, 
-	MP4Duration sampleDuration,
-	u_int16_t width, 
-	u_int16_t height,
-	u_int8_t videoType DEFAULT(MP4_MPEG4_VIDEO_TYPE));
+    MP4FileHandle hFile,
+    u_int32_t timeScale,
+    MP4Duration sampleDuration,
+    u_int16_t width,
+    u_int16_t height,
+    u_int8_t videoType DEFAULT(MP4_MPEG4_VIDEO_TYPE));
 
 MP4TrackId MP4AddHintTrack(
-	MP4FileHandle hFile, 
-	MP4TrackId refTrackId);
+    MP4FileHandle hFile,
+    MP4TrackId refTrackId);
 
 MP4TrackId MP4CloneTrack(
-	MP4FileHandle srcFile, 
-	MP4TrackId srcTrackId,
-	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE));
+    MP4FileHandle srcFile,
+    MP4TrackId srcTrackId,
+    MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE));
 
 MP4TrackId MP4EncAndCloneTrack(
-	MP4FileHandle srcFile, 
-	MP4TrackId srcTrackId,
-	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE));
+    MP4FileHandle srcFile,
+    MP4TrackId srcTrackId,
+    MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE));
 
 MP4TrackId MP4CopyTrack(
-	MP4FileHandle srcFile, 
-	MP4TrackId srcTrackId,
-	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE), 
-	bool applyEdits DEFAULT(false));
+    MP4FileHandle srcFile,
+    MP4TrackId srcTrackId,
+    MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE),
+    bool applyEdits DEFAULT(false));
 
 MP4TrackId MP4EncAndCopyTrack(
-	MP4FileHandle srcFile, 
-	MP4TrackId srcTrackId,
-	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE), 
-	bool applyEdits DEFAULT(false));
+    MP4FileHandle srcFile,
+    MP4TrackId srcTrackId,
+    MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE),
+    bool applyEdits DEFAULT(false));
 
 bool MP4DeleteTrack(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 u_int32_t MP4GetNumberOfTracks(
-	MP4FileHandle hFile, 
-	const char* type DEFAULT(NULL),
-	u_int8_t subType DEFAULT(0));
+    MP4FileHandle hFile,
+    const char* type DEFAULT(NULL),
+    u_int8_t subType DEFAULT(0));
 
 MP4TrackId MP4FindTrackId(
-	MP4FileHandle hFile, 
-	u_int16_t index, 
-	const char* type DEFAULT(NULL),
-	u_int8_t subType DEFAULT(0));
+    MP4FileHandle hFile,
+    u_int16_t index,
+    const char* type DEFAULT(NULL),
+    u_int8_t subType DEFAULT(0));
 
 u_int16_t MP4FindTrackIndex(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 /* track properties */
 
@@ -415,506 +415,506 @@
 /* specific track properties */
 
 const char* MP4GetTrackType(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 MP4Duration MP4GetTrackDuration(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 u_int32_t MP4GetTrackTimeScale(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 bool MP4SetTrackTimeScale(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	u_int32_t value);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    u_int32_t value);
 
 // Should not be used, replace with MP4GetTrackEsdsObjectTypeId
 u_int8_t MP4GetTrackAudioType(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 u_int8_t MP4GetTrackAudioMpeg4Type(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 // Should not be used, replace with MP4GetTrackEsdsObjectTypeId
 u_int8_t MP4GetTrackVideoType(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 u_int8_t MP4GetTrackEsdsObjectTypeId(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 /* returns MP4_INVALID_DURATION if track samples do not have a fixed duration */
 MP4Duration MP4GetTrackFixedSampleDuration(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 u_int32_t MP4GetTrackBitRate(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 bool MP4GetTrackESConfiguration(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	u_int8_t** ppConfig, 
-	u_int32_t* pConfigSize);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    u_int8_t** ppConfig,
+    u_int32_t* pConfigSize);
 
 bool MP4SetTrackESConfiguration(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const u_int8_t* pConfig, 
-	u_int32_t configSize);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const u_int8_t* pConfig,
+    u_int32_t configSize);
 
 MP4SampleId MP4GetTrackNumberOfSamples(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 u_int16_t MP4GetTrackVideoWidth(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 u_int16_t MP4GetTrackVideoHeight(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 float MP4GetTrackVideoFrameRate(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 /* generic track properties */
 
 u_int64_t MP4GetTrackIntegerProperty(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const char* propName);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const char* propName);
 
 float MP4GetTrackFloatProperty(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const char* propName);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const char* propName);
 
 const char* MP4GetTrackStringProperty(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const char* propName);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const char* propName);
 
 void MP4GetTrackBytesProperty(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const char* propName,
-	u_int8_t** ppValue, 
-	u_int32_t* pValueSize);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const char* propName,
+    u_int8_t** ppValue,
+    u_int32_t* pValueSize);
 
 bool MP4SetTrackIntegerProperty(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const char* propName, 
-	int64_t value);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const char* propName,
+    int64_t value);
 
 bool MP4SetTrackFloatProperty(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const char* propName, 
-	float value);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const char* propName,
+    float value);
 
 bool MP4SetTrackStringProperty(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const char* propName, 
-	const char* value);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const char* propName,
+    const char* value);
 
 bool MP4SetTrackBytesProperty(
-	MP4FileHandle hFile, 
-	MP4TrackId trackId, 
-	const char* propName, 
-	const u_int8_t* pValue, 
-	u_int32_t valueSize);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const char* propName,
+    const u_int8_t* pValue,
+    u_int32_t valueSize);
 
 /* sample operations */
 
 bool MP4ReadSample(
-	/* input parameters */
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4SampleId sampleId,
-	/* input/output parameters */
-	u_int8_t** ppBytes, 
-	u_int32_t* pNumBytes, 
-	/* output parameters */
-	MP4Timestamp* pStartTime DEFAULT(NULL), 
-	MP4Duration* pDuration DEFAULT(NULL),
-	MP4Duration* pRenderingOffset DEFAULT(NULL), 
-	bool* pIsSyncSample DEFAULT(NULL));
+    /* input parameters */
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4SampleId sampleId,
+    /* input/output parameters */
+    u_int8_t** ppBytes,
+    u_int32_t* pNumBytes,
+    /* output parameters */
+    MP4Timestamp* pStartTime DEFAULT(NULL),
+    MP4Duration* pDuration DEFAULT(NULL),
+    MP4Duration* pRenderingOffset DEFAULT(NULL),
+    bool* pIsSyncSample DEFAULT(NULL));
 
 /* uses (unedited) time to specify sample instead of sample id */
 bool MP4ReadSampleFromTime(
-	/* input parameters */
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4Timestamp when,
-	/* input/output parameters */
-	u_int8_t** ppBytes, 
-	u_int32_t* pNumBytes, 
-	/* output parameters */
-	MP4Timestamp* pStartTime DEFAULT(NULL), 
-	MP4Duration* pDuration DEFAULT(NULL),
-	MP4Duration* pRenderingOffset DEFAULT(NULL), 
-	bool* pIsSyncSample DEFAULT(NULL));
+    /* input parameters */
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4Timestamp when,
+    /* input/output parameters */
+    u_int8_t** ppBytes,
+    u_int32_t* pNumBytes,
+    /* output parameters */
+    MP4Timestamp* pStartTime DEFAULT(NULL),
+    MP4Duration* pDuration DEFAULT(NULL),
+    MP4Duration* pRenderingOffset DEFAULT(NULL),
+    bool* pIsSyncSample DEFAULT(NULL));
 
 bool MP4WriteSample(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	const u_int8_t* pBytes, 
-	u_int32_t numBytes,
-	MP4Duration duration DEFAULT(MP4_INVALID_DURATION),
-	MP4Duration renderingOffset DEFAULT(0), 
-	bool isSyncSample DEFAULT(true));
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    const u_int8_t* pBytes,
+    u_int32_t numBytes,
+    MP4Duration duration DEFAULT(MP4_INVALID_DURATION),
+    MP4Duration renderingOffset DEFAULT(0),
+    bool isSyncSample DEFAULT(true));
 
 bool MP4CopySample(
-	MP4FileHandle srcFile,
-	MP4TrackId srcTrackId, 
-	MP4SampleId srcSampleId,
-	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE),
-	MP4TrackId dstTrackId DEFAULT(MP4_INVALID_TRACK_ID),
-	MP4Duration dstSampleDuration DEFAULT(MP4_INVALID_DURATION));
+    MP4FileHandle srcFile,
+    MP4TrackId srcTrackId,
+    MP4SampleId srcSampleId,
+    MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE),
+    MP4TrackId dstTrackId DEFAULT(MP4_INVALID_TRACK_ID),
+    MP4Duration dstSampleDuration DEFAULT(MP4_INVALID_DURATION));
 
 /* Note this function is not yet implemented */
 bool MP4ReferenceSample(
-	MP4FileHandle srcFile,
-	MP4TrackId srcTrackId, 
-	MP4SampleId srcSampleId,
-	MP4FileHandle dstFile,
-	MP4TrackId dstTrackId,
-	MP4Duration dstSampleDuration DEFAULT(MP4_INVALID_DURATION));
+    MP4FileHandle srcFile,
+    MP4TrackId srcTrackId,
+    MP4SampleId srcSampleId,
+    MP4FileHandle dstFile,
+    MP4TrackId dstTrackId,
+    MP4Duration dstSampleDuration DEFAULT(MP4_INVALID_DURATION));
 
 u_int32_t MP4GetSampleSize(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4SampleId sampleId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4SampleId sampleId);
 
 u_int32_t MP4GetTrackMaxSampleSize(
-	MP4FileHandle hFile,
-	MP4TrackId trackId); 
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 MP4SampleId MP4GetSampleIdFromTime(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4Timestamp when, 
-	bool wantSyncSample DEFAULT(false));
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4Timestamp when,
+    bool wantSyncSample DEFAULT(false));
 
 MP4Timestamp MP4GetSampleTime(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4SampleId sampleId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4SampleId sampleId);
 
 MP4Duration MP4GetSampleDuration(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4SampleId sampleId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4SampleId sampleId);
 
 MP4Duration MP4GetSampleRenderingOffset(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4SampleId sampleId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4SampleId sampleId);
 
 bool MP4SetSampleRenderingOffset(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4SampleId sampleId,
-	MP4Duration renderingOffset);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4SampleId sampleId,
+    MP4Duration renderingOffset);
 
 int8_t MP4GetSampleSync(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4SampleId sampleId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4SampleId sampleId);
 
 /* rtp hint track operations */
 
 bool MP4GetHintTrackRtpPayload(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	char** ppPayloadName DEFAULT(NULL),
-	u_int8_t* pPayloadNumber DEFAULT(NULL),
-	u_int16_t* pMaxPayloadSize DEFAULT(NULL),
-	char **ppEncodingParams DEFAULT(NULL));
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    char** ppPayloadName DEFAULT(NULL),
+    u_int8_t* pPayloadNumber DEFAULT(NULL),
+    u_int16_t* pMaxPayloadSize DEFAULT(NULL),
+    char **ppEncodingParams DEFAULT(NULL));
 
 #define MP4_SET_DYNAMIC_PAYLOAD 0xff
 
 bool MP4SetHintTrackRtpPayload(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	const char* pPayloadName,
-	u_int8_t* pPayloadNumber,
-	u_int16_t maxPayloadSize DEFAULT(0),
-	const char *encode_params DEFAULT(NULL),
-	bool include_rtp_map DEFAULT(true),
-	bool include_mpeg4_esid DEFAULT(true));
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    const char* pPayloadName,
+    u_int8_t* pPayloadNumber,
+    u_int16_t maxPayloadSize DEFAULT(0),
+    const char *encode_params DEFAULT(NULL),
+    bool include_rtp_map DEFAULT(true),
+    bool include_mpeg4_esid DEFAULT(true));
 
 const char* MP4GetSessionSdp(
-	MP4FileHandle hFile);
+    MP4FileHandle hFile);
 
 bool MP4SetSessionSdp(
-	MP4FileHandle hFile,
-	const char* sdpString);
+    MP4FileHandle hFile,
+    const char* sdpString);
 
 bool MP4AppendSessionSdp(
-	MP4FileHandle hFile,
-	const char* sdpString);
+    MP4FileHandle hFile,
+    const char* sdpString);
 
 const char* MP4GetHintTrackSdp(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId);
 
 bool MP4SetHintTrackSdp(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	const char* sdpString);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    const char* sdpString);
 
 bool MP4AppendHintTrackSdp(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	const char* sdpString);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    const char* sdpString);
 
 MP4TrackId MP4GetHintTrackReferenceTrackId(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId);
 
 bool MP4ReadRtpHint(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	MP4SampleId hintSampleId,
-	u_int16_t* pNumPackets DEFAULT(NULL));
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    MP4SampleId hintSampleId,
+    u_int16_t* pNumPackets DEFAULT(NULL));
 
 u_int16_t MP4GetRtpHintNumberOfPackets(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId);
 
 int8_t MP4GetRtpPacketBFrame(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	u_int16_t packetIndex);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    u_int16_t packetIndex);
 
 int32_t MP4GetRtpPacketTransmitOffset(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	u_int16_t packetIndex);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    u_int16_t packetIndex);
 
 bool MP4ReadRtpPacket(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	u_int16_t packetIndex,
-	u_int8_t** ppBytes, 
-	u_int32_t* pNumBytes,
-	u_int32_t ssrc DEFAULT(0),
-	bool includeHeader DEFAULT(true),
-	bool includePayload DEFAULT(true));
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    u_int16_t packetIndex,
+    u_int8_t** ppBytes,
+    u_int32_t* pNumBytes,
+    u_int32_t ssrc DEFAULT(0),
+    bool includeHeader DEFAULT(true),
+    bool includePayload DEFAULT(true));
 
 MP4Timestamp MP4GetRtpTimestampStart(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId);
 
 bool MP4SetRtpTimestampStart(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	MP4Timestamp rtpStart);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    MP4Timestamp rtpStart);
 
 bool MP4AddRtpHint(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId);
 
 bool MP4AddRtpVideoHint(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	bool isBframe DEFAULT(false), 
-	u_int32_t timestampOffset DEFAULT(0));
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    bool isBframe DEFAULT(false),
+    u_int32_t timestampOffset DEFAULT(0));
 
 bool MP4AddRtpPacket(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	bool setMbit DEFAULT(false),
-	int32_t transmitOffset DEFAULT(0));
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    bool setMbit DEFAULT(false),
+    int32_t transmitOffset DEFAULT(0));
 
 bool MP4AddRtpImmediateData(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	const u_int8_t* pBytes,
-	u_int32_t numBytes);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    const u_int8_t* pBytes,
+    u_int32_t numBytes);
 
 bool MP4AddRtpSampleData(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	MP4SampleId sampleId,
-	u_int32_t dataOffset,
-	u_int32_t dataLength);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    MP4SampleId sampleId,
+    u_int32_t dataOffset,
+    u_int32_t dataLength);
 
 bool MP4AddRtpESConfigurationPacket(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId);
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId);
 
 bool MP4WriteRtpHint(
-	MP4FileHandle hFile,
-	MP4TrackId hintTrackId,
-	MP4Duration duration,
-	bool isSyncSample DEFAULT(true));
+    MP4FileHandle hFile,
+    MP4TrackId hintTrackId,
+    MP4Duration duration,
+    bool isSyncSample DEFAULT(true));
 
 /* ISMA specific utilities */
 
-bool MP4MakeIsmaCompliant(const char* fileName, 
-	u_int32_t verbosity DEFAULT(0),
-	bool addIsmaComplianceSdp DEFAULT(true));
+bool MP4MakeIsmaCompliant(const char* fileName,
+    u_int32_t verbosity DEFAULT(0),
+    bool addIsmaComplianceSdp DEFAULT(true));
 
 char* MP4MakeIsmaSdpIod(
-	u_int8_t videoProfile,
-	u_int32_t videoBitrate,
-	u_int8_t* videoConfig,
-	u_int32_t videoConfigLength,
-	u_int8_t audioProfile,
-	u_int32_t audioBitrate,
-	u_int8_t* audioConfig,
-	u_int32_t audioConfigLength,
-	u_int32_t verbosity DEFAULT(0));
+    u_int8_t videoProfile,
+    u_int32_t videoBitrate,
+    u_int8_t* videoConfig,
+    u_int32_t videoConfigLength,
+    u_int8_t audioProfile,
+    u_int32_t audioBitrate,
+    u_int8_t* audioConfig,
+    u_int32_t audioConfigLength,
+    u_int32_t verbosity DEFAULT(0));
 
 /* edit list */
 
-/* NOTE this section of functionality 
- * has not yet been fully tested 
+/* NOTE this section of functionality
+ * has not yet been fully tested
  */
 
 MP4EditId MP4AddTrackEdit(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId DEFAULT(MP4_INVALID_EDIT_ID),
-	MP4Timestamp startTime DEFAULT(0),
-	MP4Duration duration DEFAULT(0),
-	bool dwell DEFAULT(false));
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId DEFAULT(MP4_INVALID_EDIT_ID),
+    MP4Timestamp startTime DEFAULT(0),
+    MP4Duration duration DEFAULT(0),
+    bool dwell DEFAULT(false));
 
 bool MP4DeleteTrackEdit(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId);
 
 u_int32_t MP4GetTrackNumberOfEdits(
-	MP4FileHandle hFile,
-	MP4TrackId trackId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId);
 
 MP4Timestamp MP4GetTrackEditStart(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId);
 
 MP4Duration MP4GetTrackEditTotalDuration(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId DEFAULT(MP4_INVALID_EDIT_ID));
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId DEFAULT(MP4_INVALID_EDIT_ID));
 
 MP4Timestamp MP4GetTrackEditMediaStart(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId);
 
 bool MP4SetTrackEditMediaStart(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId,
-	MP4Timestamp startTime);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId,
+    MP4Timestamp startTime);
 
 MP4Duration MP4GetTrackEditDuration(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId);
 
 bool MP4SetTrackEditDuration(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId,
-	MP4Duration duration);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId,
+    MP4Duration duration);
 
 int8_t MP4GetTrackEditDwell(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId);
 
 bool MP4SetTrackEditDwell(
-	MP4FileHandle hFile,
-	MP4TrackId trackId,
-	MP4EditId editId,
-	bool dwell);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4EditId editId,
+    bool dwell);
 
 bool MP4ReadSampleFromEditTime(
-	/* input parameters */
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4Timestamp when, 
-	/* input/output parameters */
-	u_int8_t** ppBytes, 
-	u_int32_t* pNumBytes, 
-	/* output parameters */
-	MP4Timestamp* pStartTime DEFAULT(NULL), 
-	MP4Duration* pDuration DEFAULT(NULL),
-	MP4Duration* pRenderingOffset DEFAULT(NULL), 
-	bool* pIsSyncSample DEFAULT(NULL));
+    /* input parameters */
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4Timestamp when,
+    /* input/output parameters */
+    u_int8_t** ppBytes,
+    u_int32_t* pNumBytes,
+    /* output parameters */
+    MP4Timestamp* pStartTime DEFAULT(NULL),
+    MP4Duration* pDuration DEFAULT(NULL),
+    MP4Duration* pRenderingOffset DEFAULT(NULL),
+    bool* pIsSyncSample DEFAULT(NULL));
 
 MP4SampleId MP4GetSampleIdFromEditTime(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4Timestamp when, 
-	MP4Timestamp* pStartTime DEFAULT(NULL), 
-	MP4Duration* pDuration DEFAULT(NULL));
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4Timestamp when,
+    MP4Timestamp* pStartTime DEFAULT(NULL),
+    MP4Duration* pDuration DEFAULT(NULL));
 
 /* time conversion utilties */
 
 /* predefined values for timeScale parameter below */
-#define MP4_SECONDS_TIME_SCALE		1
+#define MP4_SECONDS_TIME_SCALE      1
 #define MP4_MILLISECONDS_TIME_SCALE 1000
 #define MP4_MICROSECONDS_TIME_SCALE 1000000
-#define MP4_NANOSECONDS_TIME_SCALE 	1000000000
+#define MP4_NANOSECONDS_TIME_SCALE  1000000000
 
-#define MP4_SECS_TIME_SCALE 	MP4_SECONDS_TIME_SCALE
-#define MP4_MSECS_TIME_SCALE	MP4_MILLISECONDS_TIME_SCALE
-#define MP4_USECS_TIME_SCALE	MP4_MICROSECONDS_TIME_SCALE
-#define MP4_NSECS_TIME_SCALE	MP4_NANOSECONDS_TIME_SCALE
+#define MP4_SECS_TIME_SCALE     MP4_SECONDS_TIME_SCALE
+#define MP4_MSECS_TIME_SCALE    MP4_MILLISECONDS_TIME_SCALE
+#define MP4_USECS_TIME_SCALE    MP4_MICROSECONDS_TIME_SCALE
+#define MP4_NSECS_TIME_SCALE    MP4_NANOSECONDS_TIME_SCALE
 
 u_int64_t MP4ConvertFromMovieDuration(
-	MP4FileHandle hFile,
-	MP4Duration duration,
-	u_int32_t timeScale);
+    MP4FileHandle hFile,
+    MP4Duration duration,
+    u_int32_t timeScale);
 
 u_int64_t MP4ConvertFromTrackTimestamp(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4Timestamp timeStamp,
-	u_int32_t timeScale);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4Timestamp timeStamp,
+    u_int32_t timeScale);
 
 MP4Timestamp MP4ConvertToTrackTimestamp(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	u_int64_t timeStamp,
-	u_int32_t timeScale);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    u_int64_t timeStamp,
+    u_int32_t timeScale);
 
 u_int64_t MP4ConvertFromTrackDuration(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	MP4Duration duration,
-	u_int32_t timeScale);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    MP4Duration duration,
+    u_int32_t timeScale);
 
 MP4Duration MP4ConvertToTrackDuration(
-	MP4FileHandle hFile,
-	MP4TrackId trackId, 
-	u_int64_t duration,
-	u_int32_t timeScale);
+    MP4FileHandle hFile,
+    MP4TrackId trackId,
+    u_int64_t duration,
+    u_int32_t timeScale);
 
 char* MP4BinaryToBase16(
-	const u_int8_t* pData, 
-	u_int32_t dataSize);
+    const u_int8_t* pData,
+    u_int32_t dataSize);
 
 char* MP4BinaryToBase64(
-	const u_int8_t* pData, 
-	u_int32_t dataSize);
+    const u_int8_t* pData,
+    u_int32_t dataSize);
 
 /* iTunes metadata handling */
 bool MP4MetadataDelete(MP4FileHandle hFile);
@@ -968,8 +968,8 @@
 typedef int64_t (*MP4FilesizeCallback)(void *userData);
 
 MP4FileHandle MP4CreateCb(u_int32_t verbosity,
-	                      bool use64bits,
-	                      bool useExtensibleFormat,
+                          bool use64bits,
+                          bool useExtensibleFormat,
                           MP4OpenCallback MP4fopen,
                           MP4CloseCallback MP4fclose,
                           MP4ReadCallback MP4fread,
--- a/common/mp4v2/mpeg4ip.h
+++ b/common/mp4v2/mpeg4ip.h
@@ -3,20 +3,20 @@
  * License Version 1.1 (the "License"); you may not use this file
  * except in compliance with the License. You may obtain a copy of
  * the License at http://www.mozilla.org/MPL/
- * 
+ *
  * Software distributed under the License is distributed on an "AS
  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  * implied. See the License for the specific language governing
  * rights and limitations under the License.
- * 
+ *
  * The Original Code is MPEG4IP.
- * 
+ *
  * The Initial Developer of the Original Code is Cisco Systems Inc.
  * Portions created by Cisco Systems Inc. are
  * Copyright (C) Cisco Systems Inc. 2000, 2001.  All Rights Reserved.
- * 
- * Contributor(s): 
- *		Dave Mackie		dmackie@cisco.com
+ *
+ * Contributor(s):
+ *      Dave Mackie     dmackie@cisco.com
  */
 
 #ifndef __MPEG4IP_INCLUDED__
@@ -24,6 +24,7 @@
 
 /* project wide applicable stuff here */
 
+#include <stdio.h>
 #include <systems.h>
 
 #ifndef FALSE