This uplifts the upstream change 22557d466eceb6ff6ba70ae30d2dcd87648cde0b from
https://github.com/kinetiknz/cubeb as a standalone patch suitable for uplift.
Writes should always be small, so if any fails, we are in big trouble anyway.
(Effectively ByteWriter is infallible.)
MozReview-Commit-ID: CJVsrTx0PFh
--HG--
extra : rebase_source : fa4dd3230382620a393c8555338e8956df83f748
Primetime PSSH boxes don't use the common encryption system ID.
So to ensure we don't break any existing Primetime players, we
must allow PSSH boxes with the Primetime system ID to pass the
PSSH validator.
MozReview-Commit-ID: 3q58FKLQXgV
--HG--
extra : rebase_source : a7a0ca3d38fb027ad6de23d8260043b3193536f4
extra : source : b94fe60732fb7d3a6630c976284eaabd28b271f3
The expected value comes first in the EXPECT_EQ gtest macro. So reorder our
calls to this macro in the Pssh Parser gtests to match that.
This makes it easier to read what's the expected value when the test fails.
MozReview-Commit-ID: LJ4ND2gRPi4
--HG--
extra : source : 34254ffcdb6fe9e053449210556fb2333f7a205a
We're now obliged to be stricter, taking from the example of the Web Platform
Tests.
MozReview-Commit-ID: AJNDoRZ9BF8
--HG--
extra : source : 5180fdf042b03362b882ceb3a8ac0e664049bd64
This better reflects that it's used for all CENC keys, not just ClearKey keys.
MozReview-Commit-ID: 9uCzDKVDLjc
--HG--
extra : source : 3307b3e0d411ceb9888f10afdbebc07ab9efce61
Now that we can link gmp-clearkey's PSSH parser into Gecko, we can
simply use that inside MediaKeySession to validate that the CENC
init data matches the spec.
This change enforces that CENC init data uses the common system Id.
As far as I can tell, Widevine only uses that now.
MozReview-Commit-ID: HrlKQHcv5DI
--HG--
extra : source : f61138f1030e87026eb432e83d36e46c81e55b33
We're loading functions from that library dynamically in gmp-clearkey anyway,
we don't need to statically link this.
MozReview-Commit-ID: AKwP5aWLsK3
--HG--
extra : source : 857f21f44316ef8125fedf8db22b5d3191d9c7e9
To validate the PSSH init data passed to EME, I'd like to reuse the same
PSSH parser that the ClearKey CDM shared library uses. So move the code
out of gmp-clearkey and into its own library, so we can link it statically
into code that needs to use it.
MozReview-Commit-ID: 7xSUSmCueJz
--HG--
rename : media/gmp-clearkey/0.1/ClearKeyCencParser.cpp => media/psshparser/PsshParser.cpp
rename : media/gmp-clearkey/0.1/ClearKeyCencParser.h => media/psshparser/PsshParser.h
extra : source : 78dcbc5d3c26547c63269eb14034a67863cf28de
Primetime PSSH boxes don't use the common encryption system ID.
So to ensure we don't break any existing Primetime players, we
must allow PSSH boxes with the Primetime system ID to pass the
PSSH validator.
MozReview-Commit-ID: 3q58FKLQXgV
--HG--
extra : rebase_source : aac2a8349d8e9dfccae3c37a47549245fb1fc0e3
The expected value comes first in the EXPECT_EQ gtest macro. So reorder our
calls to this macro in the Pssh Parser gtests to match that.
This makes it easier to read what's the expected value when the test fails.
MozReview-Commit-ID: LJ4ND2gRPi4
--HG--
extra : rebase_source : 85ca2dcff57354253b801fbd598c89698c74c2d6
We're now obliged to be stricter, taking from the example of the Web Platform
Tests.
MozReview-Commit-ID: AJNDoRZ9BF8
--HG--
extra : rebase_source : 79b13d1d7d1b6b6b4a382b6a17af81606af608fa
This better reflects that it's used for all CENC keys, not just ClearKey keys.
MozReview-Commit-ID: 9uCzDKVDLjc
--HG--
extra : rebase_source : dfd7fe864be6825a86dfed4f60b448a5edac286f
Now that we can link gmp-clearkey's PSSH parser into Gecko, we can
simply use that inside MediaKeySession to validate that the CENC
init data matches the spec.
This change enforces that CENC init data uses the common system Id.
As far as I can tell, Widevine only uses that now.
MozReview-Commit-ID: HrlKQHcv5DI
--HG--
extra : rebase_source : ccf8e217d87dfa85478578f52469dc7383fd6c9b
We're loading functions from that library dynamically in gmp-clearkey anyway,
we don't need to statically link this.
MozReview-Commit-ID: AKwP5aWLsK3
--HG--
extra : rebase_source : 23ab95e7bb2f756ef1df7f97b96ec7da0953533f
To validate the PSSH init data passed to EME, I'd like to reuse the same
PSSH parser that the ClearKey CDM shared library uses. So move the code
out of gmp-clearkey and into its own library, so we can link it statically
into code that needs to use it.
MozReview-Commit-ID: 7xSUSmCueJz
--HG--
rename : media/gmp-clearkey/0.1/ClearKeyCencParser.cpp => media/psshparser/PsshParser.cpp
rename : media/gmp-clearkey/0.1/ClearKeyCencParser.h => media/psshparser/PsshParser.h
extra : rebase_source : 3f621aa1d99c6a73f6b5f3ca9d1f84022266a833
Things seem to build OK without this, and it's breaking some new code I added in gyp_reader.
MozReview-Commit-ID: 6ccaXZ0mRTj
--HG--
extra : rebase_source : c1e8acb39f863b3ff62492cf70e74748cb74e795