Make the EME mixin also reset the widevine GMP. This gives us some
widevine downloader coverage, as well as meaning that EME tests that
rely on widevine should work.
MozReview-Commit-ID: AyeeLu2lJRK
--HG--
extra : transplant_source : %13ck%EA%AD%8F%B8.%E5%A0%EC%2C%B4%40h%E0s%0C%1D%B4
For making our code clearer by the stronger type check, we should change the anonymous enum for NS_TEXTRANGE_* to enum class whose name is "TextRangeType" and whose type is "RawTextRangeType" which is an alias of uint8_t.
Additionally, this also adds some utility methods for them.
Note that some lines which are changed by this patch become over 80 characters but it will be fixed by the following patches.
MozReview-Commit-ID: 76izA1WqTkp
--HG--
extra : rebase_source : 27cd8cc8f7f8e82055dbfe82aba94c02beda5fa4
This prevents having the volume set to zero in some cases.
MozReview-Commit-ID: 4JSCDcd7jmT
--HG--
extra : rebase_source : bcc4b7229160e7cbe7ee4e7a4c712b497f7cbe16
We should only attempt to demux new samples once all pending decoded frames have been returned. Otherwise, the next demuxing attempt once a resolution change has been detected will reset the state and drop all decoded frames.
MozReview-Commit-ID: 2coKQA8lZ8c
--HG--
extra : rebase_source : f8df34bd9ea1b05c251a34d043da19c7d3d5e587
For plain media playback, the buffered range will always be empty if readyState is HAVE_NOTHING has we need to decode the metadata to determine the duration and eventually decode the first frame to determine the start time. With MSE however, the buffered range is per spec directly related to the source buffer buffered range.
So we can always simply query the MediaDecoder to determine the buffered range regardless of the readyState value.
MozReview-Commit-ID: BQs8iuUCiNw
--HG--
extra : rebase_source : 28fea8a89eab38b481a15d76061debacce86274f
The index at which we are removing frames is always the one where we will be inserting the next ones.
MozReview-Commit-ID: DHeJDmwiMS9
--HG--
extra : rebase_source : 3730c0ed7fbdb4d9f8b4157f36aa7bb9d03a6517
We keep the next position on where to add frames so that we do not break the current coded frame group. However, when the new group of added frames starts with a keyframe we do not have to worry about breaking the previous coded frame group.
MozReview-Commit-ID: G81xGuSa4Y2
--HG--
extra : rebase_source : 4cbe5d0b5921c68c877815af15bbd10b40f18c80
WMF is very strict with the AudioSpecificConfig passed on and will error if an unknown extension is found. Attempt to detect those extensions and remove them if necessary.
MozReview-Commit-ID: KbooPiHmDbN
--HG--
extra : rebase_source : 849628daae33e0dca6ac3735dd8abc05e7554937
- Fix a typo in media.gmp-eme-adobe.version pref strings.
- Update reset gmp script call to be from content context. This
would fail if done from the chrome process.
- Update reset gmp script to use new requestMediaKeySystemAccess
syntax.
MozReview-Commit-ID: FzDgkOWQF9A
--HG--
extra : rebase_source : 5a3082978bd80d994320017c6917e121fa40a742
Previously, we removed records locally, but didn't notify the server.
We can be nice and avoid making the server buffer messages for
subscriptions that the client will never use again.
MozReview-Commit-ID: 5iohGQPHXuz
--HG--
extra : rebase_source : 00639fe1016ffd241c18643049f4b061740025f1
Previously, all `PushNotifier` methods checked the process type, and
either called `Notify*{Workers, Observers}` or sent an IPDL message.
The message handlers then called back in to `PushNotifier` from the
remote process.
This was clearer when we only sent worker event notifications to the
content process, and fired all observer notifications in the parent.
It became more complicated once we started notifying observers for all
subscriptions in both processes (bug 1266433). This makes it harder to
see omissions; for example, "push-subscription-modified" isn't
currently forwarded to the child, but "push-subscription-change" and
"push-message" are.
This patch moves the remoting code into `PushNotifier::Dispatch`, and
adds a base `PushDispatcher` class. Each notification type subclasses
this class and implements logic for sending messages and firing
observers and worker events. It's more code, but a bit easier to see
which methods are called where.
MozReview-Commit-ID: 7Q0eD7qXOrW
--HG--
extra : rebase_source : c69acb95a0cb5470cf1c804639971be41b976cc2