Граф коммитов

353 Коммитов

Автор SHA1 Сообщение Дата
JW Wang 496d14a291 Bug 1415441 - Eagerly init gMediaDecoderLog to debug crash. r=cpearce
MozReview-Commit-ID: E7ZDdQwZ32
2017-11-08 15:34:19 +08:00
JW Wang 1f62c1d92b Bug 1417869. P3 - pass descriptive messages to NetworkError(). r=jya
MozReview-Commit-ID: 6yaFJvXG3g8

--HG--
extra : rebase_source : 2d1c851098be7eb880a01432c504c6db96d86756
extra : source : a30f9699f49687b23d4ccf955d7a0af8ce0c7653
2017-11-17 11:07:30 +08:00
Kilik Kuo 3f546c6285 Bug 1395922 - [P3] Make HTMLMediaElement::SetMediaKeys asynchronously. r=cpearce
MozReview-Commit-ID: 5M8CTHMsmIh

--HG--
extra : rebase_source : daec666760097b73a7dfad2960881173127eb69e
2017-11-03 20:14:17 +08:00
Csoregi Natalia 978711ce7c Merge autoland to mozilla-central r=merge a=merge 2017-11-06 12:44:18 +02:00
Csoregi Natalia 6bf19d4921 Backed out 6 changesets (bug 1395922) for failing Media tests test_eme_sample_groups_playback.html and test_eme_sample_groups_playback.html r=backout a=backout
Backed out changeset f856af63682e (bug 1395922)
Backed out changeset f59a7e727f39 (bug 1395922)
Backed out changeset 9cd31c6a8e2c (bug 1395922)
Backed out changeset d46f952f94f8 (bug 1395922)
Backed out changeset f786d928b1e0 (bug 1395922)
Backed out changeset bacda0f99f71 (bug 1395922)
2017-11-06 12:34:02 +02:00
JW Wang 3fc794b919 Bug 1414121. P2 - let MediaDecoder::DumpDebugInfo() return a MozPromise. r=jya
MozReview-Commit-ID: Fau4ysdlwwa

--HG--
extra : rebase_source : cdf67d359301eed57935c761cad5c74e2ffdabb7
extra : source : f0e2e3449a80e507c3cc041f6ba87fce6455ffc5
2017-11-03 10:46:02 +08:00
Kilik Kuo 55be93073e Bug 1395922 - [P3] Make HTMLMediaElement::SetMediaKeys asynchronously. r=cpearce
MozReview-Commit-ID: 5M8CTHMsmIh

--HG--
extra : rebase_source : c1b186f6da354b79036dea7175960e1e33a2eaae
2017-11-03 20:14:17 +08:00
JW Wang da256ca76e Bug 1411476. P5 - dump debug info for ChannelMediaResource. r=gerald
MozReview-Commit-ID: GjdtrlNb948

--HG--
extra : rebase_source : 248f4926435118ddc8baa0f901c5e4ec3f699c64
2017-10-25 13:57:39 +08:00
Chris Pearce eb61536947 Bug 1409178 - Remove MediaDecoder::InitStatics() since it's a no-op. r=jwwang
MozReview-Commit-ID: Leo5wNaxpjg

--HG--
extra : rebase_source : 2555c7dc26ca6867e79322bd572085a0cdfeb3b2
2017-10-16 22:39:02 +02:00
Chris Pearce 1d354be8e8 Bug 1409060 - Don't include necko-config.h in MediaDecoder.h. r=jwwang
MozReview-Commit-ID: 2RmqxUayD0L

--HG--
extra : rebase_source : ac868ce7df6a308a9005ce89c725616006c666ba
2017-10-16 17:54:18 +02:00
JW Wang ba8adddaa7 Bug 1405025. P2 - revert Bug 1390443 P1. r=jya
Since we don't use state-mirroring to dispatch nextFrameStatus changes, we
can now revert the workaround of bug 1390443 P1. See bug 1390443 comment 0
for more details.

MozReview-Commit-ID: FRxXUnGC3x2

--HG--
extra : rebase_source : 67192634e001c635e2f15cc77545df79fed11b2d
extra : intermediate-source : 7c02f95ff9d1864fcc53216304b15c266634c753
extra : source : 6a46f27ac74f2c5b013ff8ace3ce8a77279a99b5
2017-10-06 15:58:59 +08:00
JW Wang 4026dc6f84 Bug 1405025. P1 - ensure 'seeking' is fired before 'waiting'. r=jya
Use MediaEventSource instead of state-mirroring to notify nextFrameStatus
changes so we have more control over the order of events.

MozReview-Commit-ID: 3DGtMbghEQm

--HG--
extra : rebase_source : 774fc3da290c033769871a1bd7230177ff24d5bf
extra : intermediate-source : 6583b9281492be1a3bb0771b600cd80efd487af8
extra : source : 00570c319bfbd94970d4c637c7bf81b52d79ca02
2017-10-06 15:48:38 +08:00
JW Wang f23594e114 Bug 1402584. P1 - Backed out changeset 442e8020e2ac. r=gerald
MozReview-Commit-ID: JqZJDTMyKGm
2017-10-08 17:07:55 +02:00
Sebastian Hengst e25887767b Backed out changeset e17425d9f940 (bug 1402584) for frequent mda failures on Windows 10, e.g. in dom/media/test/test_seek-2.html. r=backout
--HG--
extra : amend_source : 6e736c36d615c4662faf63612ef72935eeaa27c9
2017-10-08 01:16:34 +02:00
JW Wang bc8e42651b Bug 1402584. P1 - Backed out changeset 442e8020e2ac. r=gerald
MozReview-Commit-ID: JqZJDTMyKGm

--HG--
extra : rebase_source : 944bc58aa562de066854668746e4af158d747484
extra : source : 394da3f085e52296e62af852add26e72fa688a62
2017-10-07 07:58:19 +08:00
Chris Pearce 47c2e3ae92 Bug 1405697 - Move BaseMediaResource declaration to its own file. r=jwwang
This means we can simplify MediaResource.h to only include the abstract
interface, and MediaResourceIndex.

I also had to add a few includes here and there to fix the non-unified build.


MozReview-Commit-ID: 4R7LTXq25dm

--HG--
rename : dom/media/MediaResource.h => dom/media/BaseMediaResource.h
extra : rebase_source : edef4a65df4dcb92f8536052d170d78f95315753
2017-10-04 20:57:11 +02:00
JW Wang 06967bc27c Bug 1402584 - add logs for debugging. See comment 5 for the detail. r=gerald
MozReview-Commit-ID: 48zKkVt5hbK

--HG--
extra : rebase_source : 91a12ef83c5b2560eafe9f41226bfa87413aba92
2017-10-02 13:51:04 +08:00
Kilik Kuo 216e7acf63 Bug 1393336 - Remove WaitForCDM state from MDSM. r=jwwang,jya
MozReview-Commit-ID: 7XofvBZTerH

--HG--
extra : rebase_source : 99a7c9459bf1c3f0fe8a27e57595d8bebf8ac9c3
2017-08-25 17:11:14 +08:00
JW Wang 2cbbe83757 Bug 1393386. P2 - remove MediaDecoder::GetResource(). r=gerald
MozReview-Commit-ID: 7OfkJthwfoM

--HG--
extra : rebase_source : 88b63f6ebbab3a4df15febede377e427e32e065e
extra : intermediate-source : 39514e130ddbda604a9fdc69fd99d0248ed40420
extra : source : 91eded128b33b655d023f8aa73f9eaf2a38aac4a
2017-08-24 18:10:31 +08:00
JW Wang 4af519df25 Bug 1393386. P1 - make PinForSeek/UnpinForSeek pure virtual. r=gerald
Sub-classes should know how to pin/unpin the resource.

MozReview-Commit-ID: 50S8oSD5oEU

--HG--
extra : rebase_source : 5e1b7c657b759c0d1dfdd7b5c0a4b7dbc4077ffe
extra : intermediate-source : 3000b76a3b97c08955c2d584ac215114c8e8f59a
extra : source : a56b9846db916ff85a0cae09736c3284bd895506
2017-08-24 18:08:37 +08:00
JW Wang 2c37ac8f7c Bug 1393379. P1 - make MediaDecoder::AddSizeOfResources pure virtual. r=gerald
We will move the implementation to sub-classes which have more details
about how to calculate the resource size.

MozReview-Commit-ID: 7lfiz5GNtPE

--HG--
extra : rebase_source : bf14ef91a6de456d65bee7cb1f53f8e542f55247
extra : source : 22640df9dd3a1491594a82b3d0bd175e46073fa3
2017-08-24 17:35:24 +08:00
JW Wang 59d7107e86 Bug 1393369. P1 - virtualize MediaDecoder::GetCurrentPrincipal() so the sub-classes know how to calculate the current principal. r=gerald
MozReview-Commit-ID: EOUtPE4hfgO

--HG--
extra : rebase_source : d15166e373fdd3a8490e2c794215aeb2551a7397
extra : source : 5f627ea709d24c8b7c5ddd0115524ef734378e66
2017-08-24 16:58:06 +08:00
JW Wang 3202c8815c Bug 1393346. P1 - virtualize IsTransportSeekable(). r=gerald
MozReview-Commit-ID: LIwEEbH3tBT

--HG--
extra : rebase_source : e02954fb3b6ddf40259bc6c69221192e01fc1410
2017-08-24 00:06:23 +08:00
JW Wang c62c2c21b4 Bug 1392919. P3 - remove unused code and fix naming. r=gerald
MozReview-Commit-ID: 36PqGtOpAbf

--HG--
extra : rebase_source : 9ff9234f1f5db9151808d9a2ee33ced6d9e089c6
2017-08-23 14:42:25 +08:00
JW Wang 2834911596 Bug 1391170 - lessen the assertion in AddMediaElementToURITable() so we can move MediaDecoder::GetResource() to private. r=gerald
If AddMediaElementToURITable() is called after the decoder Load failed, mDecoder
will be reset and it is sufficient to assert mDecoder only.

MozReview-Commit-ID: 58WT8zFeiFj

--HG--
extra : rebase_source : 712579b544e9a9ce971778b85795d06e58bd4ea5
extra : intermediate-source : 470e2d8a20010e11d7a7dce5540957e89439811e
extra : source : 59f4b2b33212794aa1cf3e8782737a2d4af8c241
2017-08-17 15:41:22 +08:00
JW Wang 41cd273f4e Bug 1391142. P3 - remove IsLiveStream() from MediaResource. r=gerald
MozReview-Commit-ID: DBFrYfj2lGB

--HG--
extra : rebase_source : 18532f55f38c5ac54660c11f078741e09273a30a
extra : source : 0e45bca0cdc0b2428216e6c9a55f8651e5b21017
2017-08-17 15:20:40 +08:00
JW Wang 6ce3e3224c Bug 1390443. P1 - don't change nextFrameStatus when MDSM reaches the end of playback. r=cpearce
Instead, MediaDecoder::NextFrameStatus() checks IsEnded() and returns
NEXT_FRAME_UNAVAILABLE to ensure we have HAVE_CURRENT_DATA when playback
is ended on the main thread.

This will fix the timing issue (comment 0) which causes 'waiting' to fire.

MozReview-Commit-ID: 7O21x2q0lb8

--HG--
extra : rebase_source : bbd898edfb5f4a47a5062dd2bc916c911caf0c8e
extra : intermediate-source : 2b3e413db02a7aad00d13fdf274b346bccafc414
extra : source : 6f60fad11b65e75b456e128f8414fe2ea545455f
2017-08-16 15:33:58 +08:00
Sebastian Hengst b3764d9e0a Backed out changeset 4f8ac9b281da (bug 1390443) for failing web-platform-tests, e.g. /encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState.html. r=backout 2017-08-21 10:20:24 +02:00
JW Wang a69873c9a9 Bug 1390443. P1 - don't change nextFrameStatus when MDSM reaches the end of playback. r=cpearce
Instead, MediaDecoder::NextFrameStatus() checks IsEnded() and returns
NEXT_FRAME_UNAVAILABLE to ensure we have HAVE_CURRENT_DATA when playback
is ended on the main thread.

This will fix the timing issue (comment 0) which causes 'waiting' to fire.

MozReview-Commit-ID: 7O21x2q0lb8

--HG--
extra : rebase_source : 0a676ef7278214a707c97687311a73da8bcd983e
extra : intermediate-source : 2b3e413db02a7aad00d13fdf274b346bccafc414
extra : source : 6f60fad11b65e75b456e128f8414fe2ea545455f
2017-08-16 15:33:58 +08:00
Chris Pearce 185ab4fc70 Bug 1390748 - Create default MediaDecoder::GetMozDebugReaderData() implementation. r=jwwang
We have three implementations, in the MP4, WebM and MediaSource decoders.  The
WebM and MP4 are the same. Ogg and other decoders don't have an implementation,
but if we create a default implementation in MediaDecoder, they'll get it for
free. MediaSourceDecoder needs a custom override still.

MozReview-Commit-ID: AXxn2Xhn0Jn

--HG--
extra : rebase_source : 83d0facbe26f8385c7163dc85d5512e7a43e80f4
2017-08-15 17:07:13 +12:00
Chris Pearce 0443bef16a Bug 1390748 - Remove unnececssary 'public:' in MediaDecoder.h. r=jwwang
There's an existing 'public:' further up.


MozReview-Commit-ID: 7CMmpVkZ7oz

--HG--
extra : rebase_source : e402ec2efd081c8acee3f46925e167323494377e
2017-08-15 16:38:05 +12:00
Chris Pearce 7bf74ce2b5 Bug 1390748 - Make MediaDecoder::CreateStateMachine() non-virtual. r=jwwang
MediaDecoder::CreateStateMachine is only virtual so that Ogg can attach
the reader's metadata/seekable produces to its chaining event.

The MediaSourceDecoder also overrides CreateStateMachine(), but it's not
called by anything external, so its implementation doesn't actually need
to be virtual.

MozReview-Commit-ID: 2x6bpK6Fdzd

--HG--
extra : rebase_source : 5a9932bf98992e13ba850dd640d2623ad8bcccbb
2017-08-15 16:37:00 +12:00
Carsten "Tomcat" Book fd8d71864f Backed out changeset b86afd45a710 (bug 1390748)
--HG--
extra : rebase_source : 3567c5675e1506f5c46ffbe626f5f128118cf4c7
2017-08-17 08:35:38 +02:00
Carsten "Tomcat" Book 9619955a2f Backed out changeset ad5c7eb1bfe1 (bug 1390748)
--HG--
extra : rebase_source : 8aaefbb511c4e003a68fe2cf57541d8c3d2d29f2
2017-08-17 08:35:36 +02:00
Carsten "Tomcat" Book bb63604dba Backed out changeset 2964dba33ef8 (bug 1390748)
--HG--
extra : rebase_source : f42c1924d26ca39d2fbe926055f53ff92bb25b69
2017-08-17 08:35:33 +02:00
Chris Pearce 2e91854fcd Bug 1390748 - Create default MediaDecoder::GetMozDebugReaderData() implementation. r=jwwang
We have three implementations, in the MP4, WebM and MediaSource decoders.  The
WebM and MP4 are the same. Ogg and other decoders don't have an implementation,
but if we create a default implementation in MediaDecoder, they'll get it for
free. MediaSourceDecoder needs a custom override still.

MozReview-Commit-ID: AXxn2Xhn0Jn

--HG--
extra : rebase_source : 83d0facbe26f8385c7163dc85d5512e7a43e80f4
2017-08-15 17:07:13 +12:00
Chris Pearce 0349590c2f Bug 1390748 - Remove unnececssary 'public:' in MediaDecoder.h. r=jwwang
There's an existing 'public:' further up.


MozReview-Commit-ID: 7CMmpVkZ7oz

--HG--
extra : rebase_source : e402ec2efd081c8acee3f46925e167323494377e
2017-08-15 16:38:05 +12:00
Chris Pearce 622ee050c8 Bug 1390748 - Make MediaDecoder::CreateStateMachine() non-virtual. r=jwwang
MediaDecoder::CreateStateMachine is only virtual so that Ogg can attach
the reader's metadata/seekable produces to its chaining event.

The MediaSourceDecoder also overrides CreateStateMachine(), but it's not
called by anything external, so its implementation doesn't actually need
to be virtual.

MozReview-Commit-ID: 2x6bpK6Fdzd

--HG--
extra : rebase_source : 5a9932bf98992e13ba850dd640d2623ad8bcccbb
2017-08-15 16:37:00 +12:00
Phil Ringnalda 38ce1ea2a0 Backed out 10 changesets (bug 1390748) for build bustage
Backed out changeset 02b36ee5fb17 (bug 1390748)
Backed out changeset 84e8bf01c856 (bug 1390748)
Backed out changeset fc8989be30f3 (bug 1390748)
Backed out changeset 14d421ace6cc (bug 1390748)
Backed out changeset 7dadac869038 (bug 1390748)
Backed out changeset 0e77809e7bc2 (bug 1390748)
Backed out changeset bf78a8dce9c5 (bug 1390748)
Backed out changeset 5fa77990472e (bug 1390748)
Backed out changeset 5d3b637d2485 (bug 1390748)
Backed out changeset 634fe076d134 (bug 1390748)

MozReview-Commit-ID: Dxio8vXDCHg
2017-08-16 21:33:10 -07:00
Chris Pearce ba9eb9c3bb Bug 1390748 - Create default MediaDecoder::GetMozDebugReaderData() implementation. r=jwwang
We have three implementations, in the MP4, WebM and MediaSource decoders.  The
WebM and MP4 are the same. Ogg and other decoders don't have an implementation,
but if we create a default implementation in MediaDecoder, they'll get it for
free. MediaSourceDecoder needs a custom override still.

MozReview-Commit-ID: AXxn2Xhn0Jn

--HG--
extra : rebase_source : 63513ce3b01546142357182f21fce56932b32f7f
2017-08-15 17:07:13 +12:00
Chris Pearce 68ebdda193 Bug 1390748 - Remove unnececssary 'public:' in MediaDecoder.h. r=jwwang
There's an existing 'public:' further up.


MozReview-Commit-ID: 7CMmpVkZ7oz

--HG--
extra : rebase_source : ff3f35eed59ec37adfa78528e77b80ea06fb876d
2017-08-15 16:38:05 +12:00
Chris Pearce 582456c0a6 Bug 1390748 - Make MediaDecoder::CreateStateMachine() non-virtual. r=jwwang
MediaDecoder::CreateStateMachine is only virtual so that Ogg can attach
the reader's metadata/seekable produces to its chaining event.

The MediaSourceDecoder also overrides CreateStateMachine(), but it's not
called by anything external, so its implementation doesn't actually need
to be virtual.

MozReview-Commit-ID: 2x6bpK6Fdzd

--HG--
extra : rebase_source : 01b4a59cba8ec64480779fb6849322841646ca3b
2017-08-15 16:37:00 +12:00
Sebastian Hengst 51d351f567 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-10 17:41:11 +02:00
JW Wang 32951f4824 Bug 1388604 - move SetReadMode() from MediaResource to BaseMediaResource. r=gerald
It would be less accurate to call SetReadMode(MediaCacheStream::MODE_PLAYBACK)
in ChannelMediaDecoder::MetadataLoaded() instead of DecodeMetadataState::OnMetadataRead()
because MDSM might have started decoding by the time 'metadata loaded' event arrives
in the main thread. However this little inaccuracy should be fine since it only
affects a small amount of data concerning the eviction algorithm.

MozReview-Commit-ID: JoQMGr5Fvge

--HG--
extra : rebase_source : 3663a028522cc8b973964f62e59d7568a5eba10a
extra : source : 359b4454633432d3334a106aedb267a2451afb45
2017-08-09 11:06:29 +08:00
Matthew Gregan 89fde0ce0f Bug 1388236 - Remove B2G-only AudioChannel code from media playback. r=jwwang 2017-08-10 13:00:07 +12:00
JW Wang cf112f4b88 Bug 1388228. P6 - following P5, we are now able to move some methods that are related to nsIChannel to BaseMediaResource. r=gerald
So we reduce the number of unimplemented methods in the sub-classes of MediaResource.

MozReview-Commit-ID: EAmUEv9WQk8

--HG--
extra : rebase_source : deed5fd089e8c42a5a6ab0546e0781d0061591e5
2017-08-07 18:09:56 +08:00
JW Wang 6ab3fdad07 Bug 1388228. P5 - move some more members to ChannelMediaDecoder. r=gerald
Those members only make sense for ChannelMediaResource.

MozReview-Commit-ID: 2z6WPQeJnIT

--HG--
extra : rebase_source : 7f43635ee91c8fad1d6ad6f56788e880d54beab2
2017-08-07 13:23:43 +08:00
JW Wang e5f016de87 Bug 1388228. P4 - move the implementation of MediaDecoder::CanPlayThroughImpl() down to ChannelMediaDecoder. r=gerald
Because GetStatistics() only makes sense for ChannelMediaResource.

MozReview-Commit-ID: HkEpb4frUx1

--HG--
extra : rebase_source : 7086721f47b381b692a165302ff3bdc13caa8b41
2017-08-07 11:48:43 +08:00
JW Wang 303f74001a Bug 1388228. P3 - following P2, we can now remove unused code and canonicals. r=gerald
Note we remove the log in BufferingState::Enter() which prevents us from
removing ChannelMediaResource related code from MDSM. We can add it back
in the future after the refactoring.

MozReview-Commit-ID: B94iOI0bTXC

--HG--
extra : rebase_source : 857b7420ab9b52c07dc8a917c1f9344096ed20e6
extra : source : 2c350a4f3cbdf6f446b5e1cc8d6e0892722866d0
2017-08-04 17:56:28 +08:00
JW Wang b4e54281c9 Bug 1388228. P2 - cache the result of CanPlayThrough() and mirror it to MDSM. r=gerald
So we don't duplicate the code of calculating CanPlayThrough from
download rate and playback rate in MediaDecoder.

MozReview-Commit-ID: 7M5JAuUxFFc

--HG--
extra : rebase_source : cb216a1af59b9d8207e3056a5d3ae05e93d85e74
extra : source : a183c089760e329508fac44239fee42c1f047b80
2017-08-04 17:38:20 +08:00