From e5643437c50e07aca699315cc462d8a15f0904c3 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Mon, 3 Feb 2014 11:00:11 -0800 Subject: [PATCH] libmkv: Use uint64_t instead of UInt64. The rest of the code uses stdint types and this makes porting easier. Change-Id: Ie2f565f6a919199f0145b6aea97bb7588548e97d --- third_party/libmkv/WebMElement.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/third_party/libmkv/WebMElement.c b/third_party/libmkv/WebMElement.c index 3ab3880..6c3670a 100644 --- a/third_party/libmkv/WebMElement.c +++ b/third_party/libmkv/WebMElement.c @@ -11,6 +11,7 @@ #include "EbmlIDs.h" #include "WebMElement.h" #include +#include "vpx/vpx_integer.h" #define kVorbisPrivateMaxSize 4000 @@ -43,12 +44,12 @@ void writeSimpleBlock(EbmlGlobal *glob, unsigned char trackNumber, short timeCod Ebml_Write(glob, data, dataLength); } -static UInt64 generateTrackID(unsigned int trackNumber) { - UInt64 t = time(NULL) * trackNumber; - UInt64 r = rand(); +static uint64_t generateTrackID(unsigned int trackNumber) { + uint64_t t = time(NULL) * trackNumber; + uint64_t r = rand(); r = r << 32; r += rand(); - UInt64 rval = t ^ r; + uint64_t rval = t ^ r; return rval; } @@ -59,7 +60,7 @@ void writeVideoTrack(EbmlGlobal *glob, unsigned int trackNumber, EbmlLoc start; Ebml_StartSubElement(glob, &start, TrackEntry); Ebml_SerializeUnsigned(glob, TrackNumber, trackNumber); - UInt64 trackID = generateTrackID(trackNumber); + uint64_t trackID = generateTrackID(trackNumber); Ebml_SerializeUnsigned(glob, TrackUID, trackID); Ebml_SerializeString(glob, CodecName, "VP8"); // TODO shouldn't be fixed @@ -82,7 +83,7 @@ void writeAudioTrack(EbmlGlobal *glob, unsigned int trackNumber, EbmlLoc start; Ebml_StartSubElement(glob, &start, TrackEntry); Ebml_SerializeUnsigned(glob, TrackNumber, trackNumber); - UInt64 trackID = generateTrackID(trackNumber); + uint64_t trackID = generateTrackID(trackNumber); Ebml_SerializeUnsigned(glob, TrackUID, trackID); Ebml_SerializeUnsigned(glob, TrackType, 2); // audio is always 2 // I am using defaults for thesed required fields -- 2.7.4