Diff
Modified: trunk/Source/WebCore/ChangeLog (236963 => 236964)
--- trunk/Source/WebCore/ChangeLog 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/ChangeLog 2018-10-09 16:54:32 UTC (rev 236964)
@@ -1,3 +1,27 @@
+2018-10-09 Jer Noble <jer.no...@apple.com>
+
+ ISOTrackEncryptionBox returns incorrect defaultKeyID
+ https://bugs.webkit.org/show_bug.cgi?id=190368
+
+ Reviewed by Eric Carlson.
+
+ Test: TestWebKitAPI.ISOBox.ISOProtectionSchemeInfoBox
+
+ ISOTrackEncryptionBox::parse() increments the data offset by an incorrect amount.
+
+ Drive-by fix: add EXPORT macros to all the ISO box classes so that tests can be written in TestWebKitAPI.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/iso/ISOBox.h:
+ * platform/graphics/iso/ISOOriginalFormatBox.h:
+ * platform/graphics/iso/ISOProtectionSchemeInfoBox.h:
+ * platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.h:
+ * platform/graphics/iso/ISOSchemeInformationBox.h:
+ * platform/graphics/iso/ISOSchemeTypeBox.h:
+ * platform/graphics/iso/ISOTrackEncryptionBox.cpp:
+ (WebCore::ISOTrackEncryptionBox::parse):
+ * platform/graphics/iso/ISOTrackEncryptionBox.h:
+
2018-10-09 Youenn Fablet <you...@apple.com>
Add support for IceCandidate stats
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (236963 => 236964)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2018-10-09 16:54:32 UTC (rev 236964)
@@ -4011,6 +4011,13 @@
CD5896E21CD2B15100B3BCC8 /* WebPlaybackControlsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = CD5896E01CD2B15100B3BCC8 /* WebPlaybackControlsManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
CD5D27781E8318E000D80A3D /* WebCoreDecompressionSession.h in Headers */ = {isa = PBXBuildFile; fileRef = CD5D27761E8318E000D80A3D /* WebCoreDecompressionSession.h */; };
CD5E5B5F1A15CE54000C609E /* PageConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = CD5E5B5E1A15CE54000C609E /* PageConfiguration.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ CD5FF4972162E2B7004BD86F /* ISOTrackEncryptionBox.h in Headers */ = {isa = PBXBuildFile; fileRef = CD871C661FB52B6800F0B965 /* ISOTrackEncryptionBox.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ CD5FF4992162E2BE004BD86F /* ISOBox.h in Headers */ = {isa = PBXBuildFile; fileRef = CD871C621FB52B6500F0B965 /* ISOBox.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ CD5FF49A2162E4A6004BD86F /* ISOSchemeInformationBox.h in Headers */ = {isa = PBXBuildFile; fileRef = CD871C641FB52B6700F0B965 /* ISOSchemeInformationBox.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ CD5FF49B2162E4B7004BD86F /* ISOSchemeTypeBox.h in Headers */ = {isa = PBXBuildFile; fileRef = CD871C5C1FB52B6300F0B965 /* ISOSchemeTypeBox.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ CD5FF49C2162E4CF004BD86F /* ISOProtectionSystemSpecificHeaderBox.h in Headers */ = {isa = PBXBuildFile; fileRef = 12F75A9A86EA03DAF24B7971 /* ISOProtectionSystemSpecificHeaderBox.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ CD5FF49D2162E4DB004BD86F /* ISOProtectionSchemeInfoBox.h in Headers */ = {isa = PBXBuildFile; fileRef = CD871C601FB52B6500F0B965 /* ISOProtectionSchemeInfoBox.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ CD5FF49E2162E4E8004BD86F /* ISOOriginalFormatBox.h in Headers */ = {isa = PBXBuildFile; fileRef = CD871C671FB52B6800F0B965 /* ISOOriginalFormatBox.h */; settings = {ATTRIBUTES = (Private, ); }; };
CD61FE681794AADB004101EB /* MediaSourceRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = B1A942E215B5CE2200D525D1 /* MediaSourceRegistry.h */; };
CD62FB961AF018E70012ED7D /* GenericTaskQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CD62FB941AF018E70012ED7D /* GenericTaskQueue.h */; settings = {ATTRIBUTES = (Private, ); }; };
CD641EB31818F5ED00EE4C41 /* MediaSourcePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = CD641EB11818F5ED00EE4C41 /* MediaSourcePrivate.h */; };
@@ -28724,6 +28731,13 @@
11310CF120BA4A1B0065A8D0 /* Invalidation.h in Headers */,
2D0B4AAB18DA1CCD00434DE1 /* IOSurface.h in Headers */,
1C21E57D183ED1FF001C289D /* IOSurfacePool.h in Headers */,
+ CD5FF4992162E2BE004BD86F /* ISOBox.h in Headers */,
+ CD5FF49E2162E4E8004BD86F /* ISOOriginalFormatBox.h in Headers */,
+ CD5FF49D2162E4DB004BD86F /* ISOProtectionSchemeInfoBox.h in Headers */,
+ CD5FF49C2162E4CF004BD86F /* ISOProtectionSystemSpecificHeaderBox.h in Headers */,
+ CD5FF49A2162E4A6004BD86F /* ISOSchemeInformationBox.h in Headers */,
+ CD5FF49B2162E4B7004BD86F /* ISOSchemeTypeBox.h in Headers */,
+ CD5FF4972162E2B7004BD86F /* ISOTrackEncryptionBox.h in Headers */,
71247E381FEA5F86008C08CE /* IterationCompositeOperation.h in Headers */,
7C30D9841F815AEC00268356 /* JSAbortController.h in Headers */,
7C30D9861F815AEC00268356 /* JSAbortSignal.h in Headers */,
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOBox.h (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOBox.h 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOBox.h 2018-10-09 16:54:32 UTC (rev 236964)
@@ -35,7 +35,7 @@
namespace WebCore {
-class ISOBox {
+class WEBCORE_EXPORT ISOBox {
public:
virtual ~ISOBox() = default;
@@ -75,7 +75,7 @@
Vector<uint8_t> m_extendedType;
};
-class ISOFullBox : public ISOBox {
+class WEBCORE_EXPORT ISOFullBox : public ISOBox {
public:
uint8_t version() const { return m_version; }
uint32_t flags() const { return m_flags; }
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOOriginalFormatBox.h (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOOriginalFormatBox.h 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOOriginalFormatBox.h 2018-10-09 16:54:32 UTC (rev 236964)
@@ -29,7 +29,7 @@
namespace WebCore {
-class ISOOriginalFormatBox : public ISOBox {
+class WEBCORE_EXPORT ISOOriginalFormatBox : public ISOBox {
public:
static FourCC boxTypeName() { return "frma"; }
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSchemeInfoBox.cpp (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSchemeInfoBox.cpp 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSchemeInfoBox.cpp 2018-10-09 16:54:32 UTC (rev 236964)
@@ -37,10 +37,10 @@
bool ISOProtectionSchemeInfoBox::parse(DataView& view, unsigned& offset)
{
unsigned localOffset = offset;
- if (!ISOFullBox::parse(view, localOffset))
+ if (!ISOBox::parse(view, localOffset))
return false;
- if (m_originalFormatBox.read(view, localOffset))
+ if (!m_originalFormatBox.read(view, localOffset))
return false;
if (localOffset - offset == m_size) {
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSchemeInfoBox.h (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSchemeInfoBox.h 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSchemeInfoBox.h 2018-10-09 16:54:32 UTC (rev 236964)
@@ -32,10 +32,11 @@
class ISOSchemeTypeBox;
class ISOSchemeInformationBox;
-class ISOProtectionSchemeInfoBox : public ISOFullBox {
+class WEBCORE_EXPORT ISOProtectionSchemeInfoBox : public ISOBox {
public:
static FourCC boxTypeName() { return "sinf"; }
+ const ISOOriginalFormatBox& originalFormatBox() const { return m_originalFormatBox; }
const ISOSchemeTypeBox* schemeTypeBox() const { return m_schemeTypeBox.get(); }
const ISOSchemeInformationBox* schemeInformationBox() const { return m_schemeInformationBox.get(); }
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.h (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.h 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.h 2018-10-09 16:54:32 UTC (rev 236964)
@@ -31,7 +31,7 @@
namespace WebCore {
-class ISOProtectionSystemSpecificHeaderBox : public ISOFullBox {
+class WEBCORE_EXPORT ISOProtectionSystemSpecificHeaderBox : public ISOFullBox {
public:
using KeyID = Vector<uint8_t>;
static FourCC boxTypeName() { return "pssh"; }
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOSchemeInformationBox.h (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOSchemeInformationBox.h 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOSchemeInformationBox.h 2018-10-09 16:54:32 UTC (rev 236964)
@@ -29,7 +29,7 @@
namespace WebCore {
-class ISOSchemeInformationBox : public ISOBox {
+class WEBCORE_EXPORT ISOSchemeInformationBox : public ISOBox {
public:
static FourCC boxTypeName() { return "schi"; }
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOSchemeTypeBox.h (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOSchemeTypeBox.h 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOSchemeTypeBox.h 2018-10-09 16:54:32 UTC (rev 236964)
@@ -29,7 +29,7 @@
namespace WebCore {
-class ISOSchemeTypeBox : public ISOFullBox {
+class WEBCORE_EXPORT ISOSchemeTypeBox : public ISOFullBox {
public:
static FourCC boxTypeName() { return "schm"; }
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOTrackEncryptionBox.cpp (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOTrackEncryptionBox.cpp 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOTrackEncryptionBox.cpp 2018-10-09 16:54:32 UTC (rev 236964)
@@ -39,11 +39,11 @@
return false;
// unsigned int(8) reserved = 0;
- offset += 2;
+ offset += 1;
if (!m_version) {
// unsigned int(8) reserved = 0;
- offset += 2;
+ offset += 1;
} else {
int8_t cryptAndSkip = 0;
if (!checkedRead<int8_t>(cryptAndSkip, view, offset, BigEndian))
Modified: trunk/Source/WebCore/platform/graphics/iso/ISOTrackEncryptionBox.h (236963 => 236964)
--- trunk/Source/WebCore/platform/graphics/iso/ISOTrackEncryptionBox.h 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Source/WebCore/platform/graphics/iso/ISOTrackEncryptionBox.h 2018-10-09 16:54:32 UTC (rev 236964)
@@ -29,7 +29,7 @@
namespace WebCore {
-class ISOTrackEncryptionBox : public ISOFullBox {
+class WEBCORE_EXPORT ISOTrackEncryptionBox : public ISOFullBox {
public:
static FourCC boxTypeName() { return "tenc"; }
Modified: trunk/Tools/ChangeLog (236963 => 236964)
--- trunk/Tools/ChangeLog 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Tools/ChangeLog 2018-10-09 16:54:32 UTC (rev 236964)
@@ -1,3 +1,14 @@
+2018-10-09 Jer Noble <jer.no...@apple.com>
+
+ ISOTrackEncryptionBox returns incorrect defaultKeyID
+ https://bugs.webkit.org/show_bug.cgi?id=190368
+
+ Reviewed by Eric Carlson.
+
+ * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
+ * TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
+ (TestWebKitAPI::TEST):
+
2018-10-09 Philippe Normand <pnorm...@igalia.com>
[JHBuild] Update to GStreamer 1.14.4
Modified: trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (236963 => 236964)
--- trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2018-10-09 15:44:34 UTC (rev 236963)
+++ trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2018-10-09 16:54:32 UTC (rev 236964)
@@ -729,6 +729,7 @@
CD57779D211CE91F001B371E /* video-with-audio-and-web-audio.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = CD57779B211CE6CE001B371E /* video-with-audio-and-web-audio.html */; };
CD59F53419E9110D00CF1835 /* file-with-mse.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = CD59F53219E910AA00CF1835 /* file-with-mse.html */; };
CD59F53519E9110D00CF1835 /* test-mse.mp4 in Copy Resources */ = {isa = PBXBuildFile; fileRef = CD59F53319E910BC00CF1835 /* test-mse.mp4 */; };
+ CD5FF49F2162E943004BD86F /* ISOBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD5FF4962162E27E004BD86F /* ISOBox.cpp */; };
CD758A6F20572EA00071834A /* video-with-paused-audio-and-playing-muted.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = CD758A6E20572D540071834A /* video-with-paused-audio-and-playing-muted.html */; };
CD78E11D1DB7EA660014A2DE /* FullscreenDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = CD78E11A1DB7EA360014A2DE /* FullscreenDelegate.mm */; };
CD78E11E1DB7EE2A0014A2DE /* FullscreenDelegate.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = CD78E11B1DB7EA360014A2DE /* FullscreenDelegate.html */; };
@@ -1962,6 +1963,7 @@
CD57779B211CE6CE001B371E /* video-with-audio-and-web-audio.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = "video-with-audio-and-web-audio.html"; sourceTree = "<group>"; };
CD59F53219E910AA00CF1835 /* file-with-mse.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "file-with-mse.html"; sourceTree = "<group>"; };
CD59F53319E910BC00CF1835 /* test-mse.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = "test-mse.mp4"; sourceTree = "<group>"; };
+ CD5FF4962162E27E004BD86F /* ISOBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ISOBox.cpp; sourceTree = "<group>"; };
CD758A6E20572D540071834A /* video-with-paused-audio-and-playing-muted.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "video-with-paused-audio-and-playing-muted.html"; sourceTree = "<group>"; };
CD773F711C5057DB0002257C /* FeatureDefines.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = FeatureDefines.xcconfig; sourceTree = "<group>"; };
CD78E11A1DB7EA360014A2DE /* FullscreenDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FullscreenDelegate.mm; sourceTree = "<group>"; };
@@ -2539,6 +2541,7 @@
7A909A731D877475007E10F8 /* IntPoint.cpp */,
7A909A741D877475007E10F8 /* IntRect.cpp */,
7A909A751D877475007E10F8 /* IntSize.cpp */,
+ CD5FF4962162E27E004BD86F /* ISOBox.cpp */,
14464012167A8305000BD218 /* LayoutUnit.cpp */,
076E507E1F45031E006E9F5A /* Logging.cpp */,
CE1866471F72E8F100A0CAB6 /* MarkedText.cpp */,
@@ -3867,6 +3870,7 @@
7A909A821D877480007E10F8 /* IntRect.cpp in Sources */,
7A909A831D877480007E10F8 /* IntSize.cpp in Sources */,
5C0BF8931DD599BD00B00328 /* IsNavigationActionTrusted.mm in Sources */,
+ CD5FF49F2162E943004BD86F /* ISOBox.cpp in Sources */,
5C69BDD51F82A7EF000F4F4B /* _javascript_DuringNavigation.mm in Sources */,
7CCE7EAD1A411A3400447C4C /* _javascript_Test.cpp in Sources */,
7CCE7EA51A411A0800447C4C /* _javascript_TestMac.mm in Sources */,
Added: trunk/Tools/TestWebKitAPI/Tests/WebCore/ISOBox.cpp (0 => 236964)
--- trunk/Tools/TestWebKitAPI/Tests/WebCore/ISOBox.cpp (rev 0)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/ISOBox.cpp 2018-10-09 16:54:32 UTC (rev 236964)
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "Test.h"
+#include <_javascript_Core/DataView.h>
+#include <WebCore/ISOProtectionSchemeInfoBox.h>
+#include <WebCore/ISOSchemeInformationBox.h>
+#include <WebCore/ISOSchemeTypeBox.h>
+#include <WebCore/ISOTrackEncryptionBox.h>
+#include <wtf/text/Base64.h>
+
+using namespace WebCore;
+
+namespace TestWebKitAPI {
+
+static const char* base64EncodedSinfWithKeyID3 = "AAAAYXNpbmYAAAAMZnJtYW1wNGEAAAAUc2NobQAAAABjYmNzAAEAAAAAADlzY2hpAAAAMXRlbmMBAAAAAAABAAAAAAAAAAAAAAAAAAAAAAMQ1fvWuC7ZPk75iuQJMe4ztw==";
+
+TEST(ISOBox, ISOProtectionSchemeInfoBox)
+{
+ Vector<uint8_t> sinfArray;
+ ASSERT_TRUE(base64Decode(StringView(base64EncodedSinfWithKeyID3), sinfArray));
+ ASSERT_EQ(97UL, sinfArray.size());
+
+ auto view = JSC::DataView::create(ArrayBuffer::create(sinfArray.data(), sinfArray.size()), 0, sinfArray.size());
+
+ ISOProtectionSchemeInfoBox sinfBox;
+ ASSERT_TRUE(sinfBox.read(view));
+ ASSERT_EQ(FourCC('mp4a'), sinfBox.originalFormatBox().dataFormat());
+
+ auto* schemeTypeBox = sinfBox.schemeTypeBox();
+ ASSERT_NOT_NULL(schemeTypeBox);
+ ASSERT_EQ(FourCC('cbcs'), schemeTypeBox->schemeType());
+ ASSERT_EQ(0x10000U, schemeTypeBox->schemeVersion());
+
+ auto* schemeInformationBox = sinfBox.schemeInformationBox();
+ ASSERT_NOT_NULL(schemeInformationBox);
+
+ auto* trackEncryptionBox = downcast<ISOTrackEncryptionBox>(schemeInformationBox->schemeSpecificData());
+ ASSERT_NOT_NULL(trackEncryptionBox);
+ ASSERT_FALSE(trackEncryptionBox->defaultCryptByteBlock().value());
+ ASSERT_FALSE(trackEncryptionBox->defaultSkipByteBlock().value());
+ ASSERT_EQ(1, trackEncryptionBox->defaultIsProtected());
+ ASSERT_EQ(0, trackEncryptionBox->defaultPerSampleIVSize());
+
+ Vector<uint8_t> defaultKeyID = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3};
+ ASSERT_EQ(defaultKeyID, trackEncryptionBox->defaultKID());
+
+ Vector<uint8_t> defaultIV = {0xD5, 0xFB, 0xD6, 0xB8, 0x2E, 0xD9, 0x3E, 0x4E, 0xF9, 0x8A, 0xE4, 0x09, 0x31, 0xEE, 0x33, 0xB7};
+ ASSERT_EQ(defaultIV, trackEncryptionBox->defaultConstantIV());
+}
+
+}