dd5510750a
Upstream hash: a58c32339e06e5d672a58cdd5844cea0a661e735 Changes from upstream since last update: a58c323 mkvmuxer: Add codec id constant for VP10. 714f3c4 mkvparser: validate results in EBMLHeader::Parse. cec98d4 mkvparser: Correct the ReadID implementation. eb36ae4 Merge changes I029a268e,Ia272b150,I5c4d1bbc,Ia47a2478,I3a2e2226 229f493 Merge "mkvparser: Segment::AppendCluster asserts to error checks." 287faf9 Merge "mkvparser: Segment::DoLoadClusterUnknownSize asserts to error checks." 1a87b59 Merge "mkvparser: Segment assert clean up." d26ec69 mkvparser: Cluster::Parse clean up. f2029be mkvparser: Disallow EBML IDs equal to 0. 19f5694 mkvparser: Cluster::Load clean up. 27a07c1 mkvparser: Segment::Load asserts to error checks. d0313dd mkvparser: Segment::PreloadCluster asserts to error checks. b108695 mkvparser: Segment::AppendCluster asserts to error checks. 4630f80 mkvparser: Segment::DoLoadClusterUnknownSize asserts to error checks. 841a9b5 mkvparser: Segment assert clean up. 8c4ca2e Merge "mkvparser: Make mkvparser namespace usage uniform." 49ae6f0 Merge "mkvparser: Fix include order." 0735bb5 mkvparser: Make mkvparser namespace usage uniform. 93b24c4 mkvparser: Fix include order. a57d660 sample_muxer: fix Segment memory leak on error 1c5bd94 mkvparser: Cues, change asserts to error checks. 7f77201 Merge "mkvparser: Add ReadID." 795fd56 mkvparser: set kMaxAllocSize explicitly 23bb18b mkvparser: Add ReadID. 7b57e37 mkvparser: add SafeArrayAlloc. 83a1f68 mkvparser: Remove buf_t typedef. 5074714 Merge changes Ia1265a63,I799d54df,Icfc582e4,I3425f608 b181105 Merge changes Ie4318152,I1e65f30f 06b4337 Block::Parse: replace pos asserts w/checks b366a98 Cluster::ParseBlockGroup: replace pos asserts w/checks 2857b23 Tags::*::Parse: replace pos asserts w/checks f1b2cfa Chapters::*::Parse: replace pos asserts w/checks ca80629 Merge "mkvparser: Cues::PreloadCuePoint now returns bool." 6b4b297 Block::Parse: use int64 to aggregate laced frame sizes c0d2c98 UnserializeFloat: check result for Inf/NaN 1a6dc4f mkvparser: Cues::PreloadCuePoint now returns bool. 275ac22 mkvparser: Cluster::Create clean up. 064f2ee Segment::PreloadCluster(): return a bool status 3778408 Segment::AppendCluster(): return a bool status e86d046 mkvparser: check Cluster::Create() return f9885b5 mkvparser: check allocations 21ee398 mkvparser: Segment::Load fail w/missing info/tracks 08fb654 Merge changes I264e68b2,Ife6190a4,Ibf37245f,I06efadb5,I88b5dfec, ... c896095 mkvparser/Cluster: convert asserts to failure returns 680b4bf mkvparser/Tracks: convert asserts to failure returns 5889e6c mkvparser/Track: convert asserts to failure returns 5135c4c mkvparser/ContentEncoding: convert asserts to failure returns b0e4f32 mkvparser/Cues: convert asserts to failure returns 13ccc7f mkvparser/UnserializeInt: fix sign flip db3f9bb mkvparser/SeekHead: convert asserts to failure returns 8de3654 mkvparser/Segment: convert asserts to failure returns fa2aa7d SeekHead::Parse(): fix assertion failure d9bdade sample{,_muxer}: check SegmentInfo::GetInfo() return 07a9cf7 Merge "mkvparser: Remove some asserts." c56ee29 mkvparser: Remove some asserts. d901324 Merge "mkvparser: Remove some asserts from SegmentInfo::Parse." 7f7d898 Fix case sensitivity issue in iosbuild.sh. 42fe2cd mkvparser: Remove some asserts from SegmentInfo::Parse. 8bccd9c Merge "mkvparser: avoid rollover in UnserializeInt()." 7a2fa0d mkvparser: avoid rollover in UnserializeInt(). 44f5ce6 mkvparser: Disallow durations in seconds greater than LONG_LONG_MAX. b521e30 Merge "mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes." 7680e2a mkvparser: Check for errors in Match(). 39a315f mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes. f250ace mkvparser: Handle invalid lengths and rollover in ParseElementHeader(). cd96a76 mkvparser: Avoid rollover/truncation in UnserializeString(). 8e8b3db Merge "mkvparser: Add error checking in Block::Parse." 82b7e5f sample: correct mbstowcs() error check 04d7809 sample: check allocation return 986b64b mkvparser: Add error checking in Block::Parse. Change-Id: I39beef84962d6341f8ce53be06807b3e2068f777
156 lines
4.1 KiB
C++
156 lines
4.1 KiB
C++
// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
|
|
//
|
|
// Use of this source code is governed by a BSD-style license
|
|
// that can be found in the LICENSE file in the root of the source
|
|
// tree. An additional intellectual property rights grant can be found
|
|
// in the file PATENTS. All contributing project authors may
|
|
// be found in the AUTHORS file in the root of the source tree.
|
|
|
|
#ifndef WEBMIDS_HPP
|
|
#define WEBMIDS_HPP
|
|
|
|
namespace mkvmuxer {
|
|
|
|
enum MkvId {
|
|
kMkvEBML = 0x1A45DFA3,
|
|
kMkvEBMLVersion = 0x4286,
|
|
kMkvEBMLReadVersion = 0x42F7,
|
|
kMkvEBMLMaxIDLength = 0x42F2,
|
|
kMkvEBMLMaxSizeLength = 0x42F3,
|
|
kMkvDocType = 0x4282,
|
|
kMkvDocTypeVersion = 0x4287,
|
|
kMkvDocTypeReadVersion = 0x4285,
|
|
kMkvVoid = 0xEC,
|
|
kMkvSignatureSlot = 0x1B538667,
|
|
kMkvSignatureAlgo = 0x7E8A,
|
|
kMkvSignatureHash = 0x7E9A,
|
|
kMkvSignaturePublicKey = 0x7EA5,
|
|
kMkvSignature = 0x7EB5,
|
|
kMkvSignatureElements = 0x7E5B,
|
|
kMkvSignatureElementList = 0x7E7B,
|
|
kMkvSignedElement = 0x6532,
|
|
// segment
|
|
kMkvSegment = 0x18538067,
|
|
// Meta Seek Information
|
|
kMkvSeekHead = 0x114D9B74,
|
|
kMkvSeek = 0x4DBB,
|
|
kMkvSeekID = 0x53AB,
|
|
kMkvSeekPosition = 0x53AC,
|
|
// Segment Information
|
|
kMkvInfo = 0x1549A966,
|
|
kMkvTimecodeScale = 0x2AD7B1,
|
|
kMkvDuration = 0x4489,
|
|
kMkvDateUTC = 0x4461,
|
|
kMkvTitle = 0x7BA9,
|
|
kMkvMuxingApp = 0x4D80,
|
|
kMkvWritingApp = 0x5741,
|
|
// Cluster
|
|
kMkvCluster = 0x1F43B675,
|
|
kMkvTimecode = 0xE7,
|
|
kMkvPrevSize = 0xAB,
|
|
kMkvBlockGroup = 0xA0,
|
|
kMkvBlock = 0xA1,
|
|
kMkvBlockDuration = 0x9B,
|
|
kMkvReferenceBlock = 0xFB,
|
|
kMkvLaceNumber = 0xCC,
|
|
kMkvSimpleBlock = 0xA3,
|
|
kMkvBlockAdditions = 0x75A1,
|
|
kMkvBlockMore = 0xA6,
|
|
kMkvBlockAddID = 0xEE,
|
|
kMkvBlockAdditional = 0xA5,
|
|
kMkvDiscardPadding = 0x75A2,
|
|
// Track
|
|
kMkvTracks = 0x1654AE6B,
|
|
kMkvTrackEntry = 0xAE,
|
|
kMkvTrackNumber = 0xD7,
|
|
kMkvTrackUID = 0x73C5,
|
|
kMkvTrackType = 0x83,
|
|
kMkvFlagEnabled = 0xB9,
|
|
kMkvFlagDefault = 0x88,
|
|
kMkvFlagForced = 0x55AA,
|
|
kMkvFlagLacing = 0x9C,
|
|
kMkvDefaultDuration = 0x23E383,
|
|
kMkvMaxBlockAdditionID = 0x55EE,
|
|
kMkvName = 0x536E,
|
|
kMkvLanguage = 0x22B59C,
|
|
kMkvCodecID = 0x86,
|
|
kMkvCodecPrivate = 0x63A2,
|
|
kMkvCodecName = 0x258688,
|
|
kMkvCodecDelay = 0x56AA,
|
|
kMkvSeekPreRoll = 0x56BB,
|
|
// video
|
|
kMkvVideo = 0xE0,
|
|
kMkvFlagInterlaced = 0x9A,
|
|
kMkvStereoMode = 0x53B8,
|
|
kMkvAlphaMode = 0x53C0,
|
|
kMkvPixelWidth = 0xB0,
|
|
kMkvPixelHeight = 0xBA,
|
|
kMkvPixelCropBottom = 0x54AA,
|
|
kMkvPixelCropTop = 0x54BB,
|
|
kMkvPixelCropLeft = 0x54CC,
|
|
kMkvPixelCropRight = 0x54DD,
|
|
kMkvDisplayWidth = 0x54B0,
|
|
kMkvDisplayHeight = 0x54BA,
|
|
kMkvDisplayUnit = 0x54B2,
|
|
kMkvAspectRatioType = 0x54B3,
|
|
kMkvFrameRate = 0x2383E3,
|
|
// end video
|
|
// audio
|
|
kMkvAudio = 0xE1,
|
|
kMkvSamplingFrequency = 0xB5,
|
|
kMkvOutputSamplingFrequency = 0x78B5,
|
|
kMkvChannels = 0x9F,
|
|
kMkvBitDepth = 0x6264,
|
|
// end audio
|
|
// ContentEncodings
|
|
kMkvContentEncodings = 0x6D80,
|
|
kMkvContentEncoding = 0x6240,
|
|
kMkvContentEncodingOrder = 0x5031,
|
|
kMkvContentEncodingScope = 0x5032,
|
|
kMkvContentEncodingType = 0x5033,
|
|
kMkvContentCompression = 0x5034,
|
|
kMkvContentCompAlgo = 0x4254,
|
|
kMkvContentCompSettings = 0x4255,
|
|
kMkvContentEncryption = 0x5035,
|
|
kMkvContentEncAlgo = 0x47E1,
|
|
kMkvContentEncKeyID = 0x47E2,
|
|
kMkvContentSignature = 0x47E3,
|
|
kMkvContentSigKeyID = 0x47E4,
|
|
kMkvContentSigAlgo = 0x47E5,
|
|
kMkvContentSigHashAlgo = 0x47E6,
|
|
kMkvContentEncAESSettings = 0x47E7,
|
|
kMkvAESSettingsCipherMode = 0x47E8,
|
|
kMkvAESSettingsCipherInitData = 0x47E9,
|
|
// end ContentEncodings
|
|
// Cueing Data
|
|
kMkvCues = 0x1C53BB6B,
|
|
kMkvCuePoint = 0xBB,
|
|
kMkvCueTime = 0xB3,
|
|
kMkvCueTrackPositions = 0xB7,
|
|
kMkvCueTrack = 0xF7,
|
|
kMkvCueClusterPosition = 0xF1,
|
|
kMkvCueBlockNumber = 0x5378,
|
|
// Chapters
|
|
kMkvChapters = 0x1043A770,
|
|
kMkvEditionEntry = 0x45B9,
|
|
kMkvChapterAtom = 0xB6,
|
|
kMkvChapterUID = 0x73C4,
|
|
kMkvChapterStringUID = 0x5654,
|
|
kMkvChapterTimeStart = 0x91,
|
|
kMkvChapterTimeEnd = 0x92,
|
|
kMkvChapterDisplay = 0x80,
|
|
kMkvChapString = 0x85,
|
|
kMkvChapLanguage = 0x437C,
|
|
kMkvChapCountry = 0x437E,
|
|
// Tags
|
|
kMkvTags = 0x1254C367,
|
|
kMkvTag = 0x7373,
|
|
kMkvSimpleTag = 0x67C8,
|
|
kMkvTagName = 0x45A3,
|
|
kMkvTagString = 0x4487
|
|
};
|
|
|
|
} // end namespace mkvmuxer
|
|
|
|
#endif // WEBMIDS_HPP
|