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

167 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 51f2b494ea Bug 1448222 - Remove MediaPrefs. r=jya
This patch converts all the prefs in MediaPrefs to the new StaticPrefs system.

Note that the "media.wmf.skip-blacklist" pref was present in both MediaPrefs
and gfxPrefs. The copy in MediaPrefs was never used; this explains why this
patch does not add an entry for it to StaticPrefList.h.

Note also that the patch removes themedia.rust.mp4parser pref, because it's
unused.

MozReview-Commit-ID: IfHP37NbIjY

--HG--
extra : rebase_source : df84ea813b7c366d7be663c696891325610149c8
2018-03-20 09:48:56 +11:00
Gerald Squelart c5aeab4f69 Bug 1407810 - Use DDMOZ_LOG in media stack - r=jwwang
Mostly-mechanical replacement of MOZ_LOG with DDMOZ_LOG, usually just removing
the class name and `this` pointer (as they are already implicitly recorded).
Some files needed a bit more work when logging was done from helper classes or
static functions.

MozReview-Commit-ID: IeJJmzYqWMQ

--HG--
extra : rebase_source : 94200838dcdaf6c3bda9de30042ce2d307237eef
2017-10-13 16:31:59 +11:00
Gerald Squelart 1b357db99b Bug 1407810 - Use DDLogger in media stack - r=jwwang
Mostly-mechanical additions:
- Log constructions&destructions, usually by just inheriting from
  DecoderDoctorLifeLogger, otherwise with explicit log commands (for internal
  classes for which DecoderDoctorTraits can't be specialized),
- Log links between most objects, e.g.: Media element -> decoder -> state
  machine -> reader -> demuxer -> resource, etc.

And logging some important properties and events (JS events, duration change,
frames being decoded, etc.)

More will be added later on, from just converting MOZ_LOGs, and as needed.

MozReview-Commit-ID: KgNhHSz35t0

--HG--
extra : rebase_source : dd7206e350e32671adc6f3b9e54ebf777251de2c
2017-10-10 17:55:27 +11:00
Nicholas Nethercote b15805ab71 Bug 1414759 - Replace some unnecessary media prefs with code constants. r=cpearce
Specifically:
- media.decoder.limit
- media.num-decode-threads
- media.resampling.rate
- media.wmf.decoder.thread-count
- media.cache.resource-index

--HG--
extra : rebase_source : a46aa7078b98b4731ec96b66398c51aa6cb42d27
2017-11-13 17:16:06 +11:00
JW Wang 0a39ad91e1 Bug 1412737. P3 - remove the while loops in the callers of MediaCacheStream::Read(). r=bechen,gerald
MozReview-Commit-ID: 7UvmenWQ0Ah

--HG--
extra : rebase_source : 6805bdd3c789f293e47a289bccb1de4498f7c619
extra : intermediate-source : 073e68f33de355632ef76dbc5e8c51c43cf52d61
extra : source : 0332f9b4c459e0b439a7a0ebc3423b4b849aa37f
2017-10-30 12:44:24 +08:00
Narcis Beleuzu b3eba51148 Backed out 4 changesets (bug 1412737)for frequent Windows talos-g4 timeouts. a=RyanVM
Backed out changeset 13b3569d56c4 (bug 1412737)
Backed out changeset b8ae4f1e89c9 (bug 1412737)
Backed out changeset dd35b8813ca1 (bug 1412737)
Backed out changeset 29e511fbcd62 (bug 1412737)
2017-11-08 18:52:15 +02:00
JW Wang 37050907e3 Bug 1412737. P3 - remove the while loops in the callers of MediaCacheStream::Read(). r=bechen,gerald
MozReview-Commit-ID: 7UvmenWQ0Ah

--HG--
extra : rebase_source : 825628aea7cca29ad23d4f76bf5db9b42fd08c9d
extra : intermediate-source : 89ec9a22733edb5636b4417ac62d55e1599b7511
extra : source : 0332f9b4c459e0b439a7a0ebc3423b4b849aa37f
2017-10-30 12:44:24 +08:00
Chris Pearce fe9919cbfa Bug 1405697 - Move MediaPrefs include from MediaResource.h into cpp file. r=jwwang
This moves the include into the file where it's used, and means I don't need
to import it into gecko-media crate yet.


MozReview-Commit-ID: JnEgtwnLxgO

--HG--
extra : rebase_source : 84f9b98e3c64dc1a337a12b714fd4c8bc45429a1
extra : source : 396e995935c6ada2a069c56cd1ede3c9ef418f31
2017-10-05 09:27:15 +02:00
Chris Pearce 0a258eeace Bug 1405697 - Move MediaResourceIndex implementation to MediaResource.cpp. r=jwwang
MozReview-Commit-ID: 7GCgaA8jJmU

--HG--
extra : rebase_source : 7125dcf91c360e783f6ea6c4e425071c39cd85cf
2017-10-04 21:25:19 +02:00
Chris Pearce c16ed38cc5 Bug 1405697 - Move BaseMediaResource implementation into cpp file. r=jwwang
This means MediaResource.cpp now only contains the stuff for the MediaResource
super class, and MediaResourceIndex.

MozReview-Commit-ID: 5xFxibn0aJ4

--HG--
extra : rebase_source : 4cb940008abb62c43759689cdc9e034d25b7e36f
2017-10-04 20:34:07 +02: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
Andrea Marchesini 9067ec472c Bug 1404845 - Renaming BlobImpl::GetInternalStream to BlobImpl::CreateInputStream, r=smaug 2017-10-02 13:53:12 +02:00
Andrea Marchesini b0b73ddd29 Bug 1388125 - CloneableWithRangeMediaResource for streams implementing nsICloneableInputStreamWithRange, r=jya 2017-09-18 13:34:43 +02:00
Andrea Marchesini 5f79fe9d48 Bug 1388125 - Move ChannelMediaResource to separate files, r=jya 2017-09-18 13:33:49 +02:00
Andrea Marchesini 3ad3aaae76 Bug 1388125 - Move FileMediaResource to separate files, r=jya 2017-09-18 13:31:08 +02:00
Andrea Marchesini 052284c159 Bug 1388125 - FileMediaResource should use BlobImpl->Size() instead of stream::Available() to know the size, r=jya 2017-09-18 13:31:00 +02:00
JW Wang 04279e9849 Bug 1399751. P3 - pass the offset of range request to ChannelMediaResource::OnStartRequest(). r=gerald
So we don't have to look at GetOffset(). We want to reduce the use of
MediaCacheStream::mChannelOffset so it is easier to fix data races about it.

MozReview-Commit-ID: 3GAbKYA9xi4

--HG--
extra : rebase_source : bfaceb190da30e3276085fb7930468ad51e3a98f
2017-09-14 14:33:15 +08:00
JW Wang 7f866dd54e Bug 1399372 - update the principal only once per OnDataAvailable() call. r=cpearce
MozReview-Commit-ID: BWyDmKglWsl

--HG--
extra : rebase_source : a9563cf9c04e462dc4c80779b8a587f420bb5499
extra : intermediate-source : 9d12fff4917b308011d37de8172f8f5036308271
extra : source : 4150f78ba66d820509b0bae87cc47e39c2f4ade1
2017-08-29 17:57:00 +08:00
JW Wang 8fb5559c5f Bug 1395855. P2 - store the offset of range request. r=cpearce
So we know what to pass to SetupChannelHeaders()
when the channel is redirected.

MozReview-Commit-ID: DbCPGA3qIyn

--HG--
extra : rebase_source : 4b8a5b620344fa261b243c0935ce49ebb7a9b4aa
extra : source : dfe1a9fe59a623f4d1972f3184a5861cfef62ffd
2017-09-09 00:37:40 +08:00
JW Wang 7a2d2e198c Bug 1395855. P1 - remove ChannelMediaResource::mOffset so we have less data race to worry about. r=cpearce
We have MediaCacheStream::mChannelOffset to keep the download positon.
We don't need 2 variables for the same purpose.

MozReview-Commit-ID: IpnEJWuA9A9

--HG--
extra : rebase_source : 8e720d878c12555d0a5528167c183ddb881b249e
extra : source : 623cf4cc3ab5ad0d9d263bac05a58699b3577277
2017-09-08 15:09:37 +08:00
JW Wang 97ea54a3df Bug 1398659. P11 - replace mCacheStream.GetLength() with GetLength(). r=gerald
MozReview-Commit-ID: BGgObe2XG5C

--HG--
extra : rebase_source : a9dddd16ca071cef11a4546b5f9bc649b6e47e5b
extra : source : 100d0443ff9cab14ddc17eba13d824ff2b2bbef5
2017-09-08 14:38:22 +08:00
JW Wang ef21878fba Bug 1398659. P10 - remove ChannelMediaResource::mIgnoreClose. r=gerald
mIgnoreClose is always set in conjunction with a call to CloseChannel().
Since mListener->Revoke() will prevent future OnStopRequest() calls from coming,
it is unnecessary to set mIgnoreClose and therefore we can remove this member.

MozReview-Commit-ID: HEXIhIUG8WN

--HG--
extra : rebase_source : 656c1bb67fcddcca4c2c17b0bb783ad325ab52ec
extra : source : b852f796c1ba6a8bc442013b7b6058a24a33634b
2017-09-08 11:20:39 +08:00
JW Wang d53c2e2ba6 Bug 1398659. P9 - remove unused member. r=gerald
MozReview-Commit-ID: 5SSnbYQXxKD

--HG--
extra : rebase_source : 7470f0ee0a507a549be630c3f5471f576dfe098a
extra : intermediate-source : c173519b75dce7818b75fc901a3a9a1b844e4439
extra : source : c10cd05c569b09e209dc4ec6cc1df7564ab05309
2017-09-07 16:08:10 +08:00
JW Wang f6430f39ef Bug 1398659. P8 - remove the call to mCacheStream.NotifyDataLength() from OpenChannel(). r=gerald
MediaCacheStream::mStreamLength has been set either in Init() or InitAsClone().

MozReview-Commit-ID: L259ecDgjN7

--HG--
extra : rebase_source : 7df74d388808492faac73c3e41a972cb22cdb187
extra : intermediate-source : d834e02c15ed9361a02977349459fad079910642
extra : source : 45df347e1fd6b67d60212f2d87312d597656a7d6
2017-09-07 15:23:57 +08:00
JW Wang fff2af86d2 Bug 1398659. P7 - tighten up the assertions in OpenChannel(). r=gerald
MozReview-Commit-ID: IPCLOJKx3f3

--HG--
extra : rebase_source : 22e5114ebb2e37c1bcc39f87ea634a54745a52e7
extra : intermediate-source : a2fda2578d6e1264d7035196b8de5c1b92fc1427
extra : source : 4094121a462346abeaf3d5423cba28dd28ce080c
2017-09-07 15:15:18 +08:00
JW Wang 47cd403db0 Bug 1398659. P6 - remove the nsIStreamListener** parameter from OpenChannel(). r=gerald
The only caller is CacheClientSeek() which always passes nullptr to it.

MozReview-Commit-ID: 3CTkbF6ktp2

--HG--
extra : rebase_source : f53fe82ca0fc5e2926c4d2cf1346630098a9614f
extra : intermediate-source : a4823926a983af9293c9fe9857e39527735ea226
extra : source : 88a08faec452614217bebe80fc2b00a2b08f7f38
2017-09-07 15:12:15 +08:00
JW Wang c5630e40b2 Bug 1398659. P5 - let ChannelMediaResource::Open() set mListener without calling OpenChannel(). r=gerald
This is more efficient because aStreamListener won't be null.

MozReview-Commit-ID: 4b22l7cTK6y

--HG--
extra : rebase_source : 5e2366eaa79ccff2aacaf47d67805e3f939cc362
extra : intermediate-source : f6a6c58325085ce47e41a189d2e14239695bdaed
extra : source : 16b0c9ebdc4102fcd07d28a2c1a1a3b26d607f47
2017-09-05 17:51:22 +08:00
JW Wang 6dcbfcbee7 Bug 1398659. P4 - remove unused code and add some assertions. r=gerald
MozReview-Commit-ID: LRgF9qjdMXz

--HG--
extra : rebase_source : af8b8bb4272c9be0f0ab8b51356362e9676c7076
extra : intermediate-source : 640d38acf9d3cf4aa583c67fc20ea487c849a570
extra : source : 0faec6a6b214ce4d5ca59ac2b098d4a5bfe4470b
2017-09-05 17:39:57 +08:00
JW Wang 25d23f8eab Bug 1398659. P2 - remove the if statement since new() is infallible. r=gerald
MozReview-Commit-ID: 9GobL4M2mjc

--HG--
extra : rebase_source : d0ce65d3a3b29a6842009ac248ad71c16b458b56
extra : intermediate-source : 6003e4a7519bd844a2a265ea2afc2f26510ad4ad
extra : source : c2530f00a0eaee4e3ff58c96a87bffdf97517554
2017-09-05 17:31:09 +08:00
JW Wang ac6ee9f873 Bug 1395802. P4 - we don't need lock since mChannelStatistics is always accessed on the main thread. r=cpearce
MozReview-Commit-ID: KHnhPaSTSFr

--HG--
extra : rebase_source : 0129e5d729f2ed6f5ed8b9f1c4e89b128c9f6868
extra : intermediate-source : 8c093999ba40f7ce48dc3c3cc0d10117b710868a
extra : source : b5b2a5d89b2aa25ee644e8ea3c06804d2c63cdba
2017-09-01 14:32:00 +08:00
JW Wang d3f14ac69d Bug 1395802. P3 - ensure mChannelStatistics.AddBytes() to happen on the main thread. r=cpearce
MozReview-Commit-ID: CbDl9mWZDFs

--HG--
extra : rebase_source : 6f66f540146ea7ff43543f66d4f7c450c98d7a68
extra : intermediate-source : 1834aa47f8ff342e36a1fe4e8f73c7a0aa1906c6
extra : source : de6706f3fcd29ca81254e9b20f391cc28bc3a57a
2017-09-01 14:28:06 +08:00
JW Wang 959a1c210a Bug 1395802. P2 - assert ChannelMediaResource::GetDownloadRate() runs on the main thread. r=cpearce
The only caller is ChannelMediaDecoder::GetStatistics() which runs on the main thread.

MozReview-Commit-ID: CYg3Z3rmlHd

--HG--
extra : rebase_source : c3bf0083522256a6c4f3e83bc817ee7d0ce398bf
extra : intermediate-source : 12bad420f0f3eb9a3993fada2f919d61f60ad392
extra : source : 6044445039445631bbb6cd66607b6f7f72547f18
2017-09-01 14:19:51 +08:00
JW Wang 407e3c1e2a Bug 1395842 - tighten up assertions in ChannelSuspendAgent which runs on the main thread only. r=alwu
MozReview-Commit-ID: AK3YHAz750D

--HG--
extra : rebase_source : d555164f54c3498d29b1ad408ce8f18b22497653
extra : source : acd6401380d82101d8e4b650730b49bf126bb80b
2017-09-01 15:44:38 +08:00
Phil Ringnalda c0f8dd917a Backed out 3 changesets (bug 1395017) for frequent failures in test_video_crossorigin.html
Backed out changeset 438657f4637d (bug 1395017)
Backed out changeset 243ef641e6c3 (bug 1395017)
Backed out changeset 78625f947f69 (bug 1395017)

MozReview-Commit-ID: DeBaUOPQrAD
2017-09-05 22:39:50 -07:00
JW Wang 07961dc53c Bug 1395017. P3 - always dispatch a task to run UpdatePrincipal() even when CacheClientUpdatePrincipal() already runs in the main thread. r=cpearce
When MediaCacheStream::NotifyDataReceived() runs off the main thread,
there is no guarantee that the principal will be updated before the new
data is observable to the consumer because the principal can only be
updated on the main thread while the consumer can access the data off
the main thread.

To make the code simpler, we always dispatch a task to run UpdatePrincipal()
even when CacheClientUpdatePrincipal() already runs in the main thread.

This also avoid the deadlock because ChannelMediaResource::UpdatePrincipal()
will never run with the cache monitor held.

MozReview-Commit-ID: 9CdrJnaV0hl

--HG--
extra : rebase_source : 128d54f4583199e7bfa8c72895583ab7fb668706
extra : intermediate-source : c2310f99bdc7529f1e1c67edbb8274b20b679cb2
extra : source : b6cc234d83e7b18ab69502af78d27ce5eda3b350
2017-08-30 11:42:25 +08:00
JW Wang eef07d01d2 Bug 1395017. P1 - dispatch a task to the main thread to update the principal when necessary. r=cpearce
MozReview-Commit-ID: BWyDmKglWsl

--HG--
extra : rebase_source : 5931a534ac880828a03a39afda87402c2b81dbbc
extra : intermediate-source : fc38148a0fb851d714da7ed477c8232a327daac0
extra : source : 4150f78ba66d820509b0bae87cc47e39c2f4ade1
2017-08-29 17:57:00 +08:00
JW Wang 94fcc0f623 Bug 1395431 - dispatch a task to call MediaResourceCallback::NotifyDataArrived() in CacheClientNotifyDataReceived(). r=cpearce
Since MediaResourceCallback is ref-counted, we don't need nsRevocableEventPtr
to handle the case ChannelMediaResource might go away before mCallback->NotifyDataArrived()
is run. This also avoid the data race in accessing mDataReceivedEvent on different threads
when OMT data delivery is enabled.

MozReview-Commit-ID: 1Tbjxrm1ar5

--HG--
extra : rebase_source : 235bca5f578aac0e586754596eaa0e0fa6325df4
extra : source : 74edc45577859a3f4593a6957880778df732d8eb
2017-08-30 11:58:43 +08:00
JW Wang 14d7dd5668 Bug 1394724. P3 - fix data race in reading mClosed in MediaCacheStream::NotifyDataReceived(). r=cpearce
1. mCacheStream.Close() should happen after CloseChannel() to avoid data race
   in reading mClosed in MediaCacheStream::NotifyDataReceived().
2. MediaCache::Update() and CloseStreamsForPrivateBrowsing() should call
   ChannelMediaResource::Close() to ensure mCacheStream.Close() happens
   after CloseChannel().

MozReview-Commit-ID: 1o3yPbm3Gy6

--HG--
extra : rebase_source : 0a39af9ae228bdf4098ad16793bb6eccd15c3ec7
extra : source : f4b6deb231be5915dc42318ec22d850d20562b0e
2017-08-29 16:41:17 +08:00
JW Wang b336472dda Bug 1394724. P2 - mListener->Revoke() should happen after mChannel->Cancel() to avoid data race. r=cpearce
http://searchfox.org/mozilla-central/rev/cd82cacec2cf734768827ff85ba2dba90a534c5e/netwerk/base/nsIRequest.idl#56
All OnDataAvailable() calls should happen before Cancel().
It is safe to modify mResource after a call to Cancel().

MozReview-Commit-ID: KoeLth1zlZM

--HG--
extra : rebase_source : 49ff3e08ba74d6d200673fea04cb22ad85e77a59
extra : source : 1c327787519a463ea6599dfb69eea5a6f348b774
2017-08-29 15:55:20 +08:00
JW Wang 696ee533d1 Bug 1394724. P1 - assert the channel is already closed in ~ChannelMediaResource(). r=cpearce
MozReview-Commit-ID: 4lJNEEBsv4r

--HG--
extra : rebase_source : 0d6aad3544a2d3f9e74ee366099e193060f5e836
extra : source : e6f540139314ef9841ed85578c08f15e4a084a3d
2017-08-29 15:41:40 +08:00
JW Wang 29df163b4e Bug 1394705 - let HTMLMediaElement::MediaLoadListener implement nsIThreadRetargetableStreamListener. r=cpearce
This is required to use nsIThreadRetargetableRequest::RetargetDeliveryTo().

MozReview-Commit-ID: GFuAjovabpY

--HG--
extra : rebase_source : 4fbc7877f2548dcf0777c820ee724f41c46de688
2017-08-29 14:28:13 +08:00
JW Wang 4e06f9291a Bug 1393365 - MediaResource doesn't need to inherit nsISupports. r=cpearce
MozReview-Commit-ID: LoSctajrULP

--HG--
extra : rebase_source : 69b6a1db6e41092408814699996f2995d153c526
2017-08-24 16:44:23 +08:00
JW Wang e8dd02d4f8 Bug 1393345 - remove MediaResource::IsSuspended() which has no callers. r=gerald
MozReview-Commit-ID: Jn6TIXpFflR

--HG--
extra : rebase_source : 0efc64660523f1e846feb247075ab69e54f5f24a
2017-08-23 15:52:33 +08:00
JW Wang da66e5c214 Bug 1392919. P2 - remove MediaResource::IsSuspendedByCache(). r=gerald
MozReview-Commit-ID: E1lkfLARMhS

--HG--
extra : rebase_source : 354adbb22db9bdacec74a824bf04bfce0775faad
2017-08-23 14:38:00 +08:00
JW Wang c960cfcc65 Bug 1392919. P1 - include the suspend status when notifying NotifySuspendedStatusChanged. r=gerald
MozReview-Commit-ID: GwzIBNLjcZr

--HG--
extra : rebase_source : 7673ba535636b3442f3987d3fe30f7e00822c621
2017-08-23 14:32:51 +08:00
Chris Pearce fcd4613526 Bug 1390748 - Pre-declare MediaDecoder in HTMLMediaElement. r=jwwang
I noticed that touching MediaDecoder rebuilds a lot of seemingly unrelated
code. This is because HTMLMediaElement includes MediaDecoder.h, and
HTMLMediaElement is included in a number of places. Having HTMLMediaElement.h
predeclare rather than include fixes it.

MozReview-Commit-ID: I0vrPgqvvge

--HG--
extra : rebase_source : 505f9dce979aad0529b07d2c046dca5028af6de6
2017-08-15 17:09:06 +12:00
Carsten "Tomcat" Book 2b8080e2fc Backed out changeset 4a31e4302e03 (bug 1390748)
--HG--
extra : rebase_source : 9571466ebc151a9788a380008c5d8941e3e24665
2017-08-17 08:35:30 +02:00
Chris Pearce 60751f0b79 Bug 1390748 - Pre-declare MediaDecoder in HTMLMediaElement. r=jwwang
I noticed that touching MediaDecoder rebuilds a lot of seemingly unrelated
code. This is because HTMLMediaElement includes MediaDecoder.h, and
HTMLMediaElement is included in a number of places. Having HTMLMediaElement.h
predeclare rather than include fixes it.

MozReview-Commit-ID: I0vrPgqvvge

--HG--
extra : rebase_source : 505f9dce979aad0529b07d2c046dca5028af6de6
2017-08-15 17:09:06 +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 a0917579b4 Bug 1390748 - Pre-declare MediaDecoder in HTMLMediaElement. r=jwwang
I noticed that touching MediaDecoder rebuilds a lot of seemingly unrelated
code. This is because HTMLMediaElement includes MediaDecoder.h, and
HTMLMediaElement is included in a number of places. Having HTMLMediaElement.h
predeclare rather than include fixes it.

MozReview-Commit-ID: I0vrPgqvvge

--HG--
extra : rebase_source : 366d4e34e9c425b478b4c9058e27c9a32de36515
2017-08-15 17:09:06 +12:00