Commit Graph

123 Commits

Author SHA1 Message Date
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Sylvestre Ledru
804b8b8883 Bug 1204606 - Reformat of dom/media r=jya
# skip-blame

Differential Revision: https://phabricator.services.mozilla.com/D12251

--HG--
extra : moz-landing-system : lando
2018-11-19 13:25:37 +00: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
Chris Pearce
fb207e4f8a Bug 1422662 - Move BaseMediaResource::Close() into MediaResource class. r=jwwang
For the project to export Gecko's media stack and import it into Servo,
I need a way to shutdown an abstract MediaResource. So I'd like to move
BaseMediaResource::Close() up into MediaResource class.

MozReview-Commit-ID: 9JmxJPs02PN

--HG--
extra : rebase_source : e61cc1a3a79b3e4ca7e9fa86a602e6e26044e247
2017-12-04 16:29:35 +13:00
Coroiu Cristina
3f75a6d410 Backed out changeset 7a2629417a47 (bug 1422662) for bustage r=backout on a CLOSED TREE 2017-12-04 09:21:51 +02:00
Chris Pearce
f2f6e686df Bug 1422662 - Move BaseMediaResource::Close() into MediaResource class. r=jwwang
For the project to export Gecko's media stack and import it into Servo,
I need a way to shutdown an abstract MediaResource. So I'd like to move
BaseMediaResource::Close() up into MediaResource class.

MozReview-Commit-ID: 9JmxJPs02PN

--HG--
extra : rebase_source : 77128d1f78bea516dda92cdae6975d010a4b303c
2017-12-04 16:29:35 +13:00
JW Wang
5a99c6b197 Bug 1417774 - remove unused MediaResource::Tell(). r=bechen
MozReview-Commit-ID: 3qlP4sSh9kM

--HG--
extra : rebase_source : 4002fec6f8c43abb640f9206cd715f3ecb02b373
2017-11-15 17:18:52 +08: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
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
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
Chris Pearce
56d3b01075 Bug 1405697 - Move SEEK_VS_READ_THRESHOLD to where it's used. r=jwwang
It's only used in MediaCache.cpp, so it may as well be defined there.

MozReview-Commit-ID: HcA499xFOUg

--HG--
extra : rebase_source : f25c30d6e9be10549af80d5dfa963ef66abac576
2017-10-04 16:55:50 +02:00
Chris Pearce
1c86050c57 Bug 1405697 - Move HTTP_REQUESTED_RANGE_NOT_SATISFIABLE_CODE to the file it's used in. r=jwwang
It's only used in ChannelMediaResource.cpp, so it may as well be in there.

MozReview-Commit-ID: 5lyeFOoUsUN

--HG--
extra : rebase_source : 15aa06371c90e379e31383d2a8527d865944a4c3
2017-10-04 16:53:19 +02:00
Chris Pearce
53624e3480 Bug 1405697 - Move ChannelSuspendAgent to ChannelMediaResource.h. r=jwwang
It's only used by things in there anyway.

MozReview-Commit-ID: 4Pk12ab6e7U

--HG--
extra : rebase_source : ef9600770d6166fece0d1ae038d0b84cc87f1065
2017-10-04 16:35:11 +02:00
Chris Pearce
9f0aad7b2e Bug 1405697 - Move MediaChannelStatistics to its own file. r=jwwang
It currently resides in MediaResource.h, but it's only used in a
ChannelMediaDecoder and ChannelMediaResource, so it doesn't need to be in the
abstract header.


MozReview-Commit-ID: GskE5mjMav1

--HG--
extra : rebase_source : b42321ddcb1966d4de7203f04852c14f6d271acd
2017-10-04 16:30:32 +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
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
0c7c4a09c5 Bug 1398711. P1 - remove unused methods. r=gerald
MozReview-Commit-ID: HHezNUArhVd

--HG--
extra : rebase_source : 4e139d0640dd7335e23332af9d56b88ae499a6e2
extra : intermediate-source : cb1e92dbd1f53874c8d41e36f317c4c5c61bbacf
extra : source : e24555972c08b134654847d950a523c1a836bdb5
2017-09-08 17:35:11 +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
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
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
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
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
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
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
b634b53e60 Bug 1393379. P2 - remove MediaResource::SizeOfIncludingThis/SizeOfExcludingThis. r=gerald
MozReview-Commit-ID: MMhVOaSUuX

--HG--
extra : rebase_source : a158bbd9c718212247896e299f6063773ca81d1a
extra : source : ff3aef3a67c67e281aac244206aeb15eccbace29
2017-08-24 17:52:21 +08:00
JW Wang
db3e1718f7 Bug 1393369. P2 - remove MediaResource::GetCurrentPrincipal(). r=gerald
MozReview-Commit-ID: 9as5ya2xXdL

--HG--
extra : rebase_source : 7141cec4f3e9c38253b85e71d3b5efe5a5d7dddd
extra : source : 9d9f1de4db95a353040f7c7c484e7d9d79f275fa
2017-08-24 17:01:08 +08:00
JW Wang
9ba52292a9 Bug 1393346. P2 - move IsTransportSeekable() from MediaResource to BaseMediaResource. r=gerald
MozReview-Commit-ID: KqpzIRH31gz

--HG--
extra : rebase_source : e9303347b34d3cbfbd8d6a6f2a474dd8f0fb1447
2017-08-24 00:08:41 +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
448e22c303 Bug 1392178 - move MediaResource::CachedReadAt to MediaResourceIndex. r=gerald
MozReview-Commit-ID: LnAXXaRQ4C

--HG--
extra : rebase_source : cc041eeb94807b4e235ca2b827d4db13f1410e09
extra : intermediate-source : fd1bff4bb32ae8cefd909d709d28a229e35fa110
extra : source : 677ede60ac88260d779502d25102c7a66bf0d65c
2017-08-21 14:33:38 +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
Nicholas Hurley
d4f64ba24e Bug 1391467 - Remove --enable-necko-protocols. r=gps,valentin
This patch removes the ability to select which protocols you want
included in necko, a wholly untested configuration that is broken in
practice. We have no need of this kind of configurability in necko.

In addition, this removes the final vestiges of rtsp support, which was
originally removed in bug 1295885 but still had some stuff hanging
around behind some ifdefs (that were never true).

MozReview-Commit-ID: KOEaDmit2IL

--HG--
extra : rebase_source : f6c2fdb972aaba46e922cda801252dc953550b94
2017-08-17 17:30:57 -07:00
JW Wang
9bfb2b1c06 Bug 1390443. P2 - remove unused IsExpectingMoreData(). r=cpearce
MozReview-Commit-ID: KTxmjIrD1WB

--HG--
extra : rebase_source : 8c1fc9b4da08290f7a177ef60793c831b0cc7a25
extra : intermediate-source : a86b94e4bdc04bae34f6e8966dfe9b5e11f98677
extra : source : 498e2844d2d0d1cee087552f5aaf5aac7e34c3bf
2017-08-16 15:37:29 +08:00
Sebastian Hengst
9d63faba53 Backed out changeset 05b2bf2e6017 (bug 1390443) 2017-08-21 10:19:39 +02:00
JW Wang
a7f1c5d69b Bug 1390443. P2 - remove unused IsExpectingMoreData(). r=cpearce
MozReview-Commit-ID: KTxmjIrD1WB

--HG--
extra : rebase_source : 3cad2f2df2f75d6b052cbc6e6f5623ba9c587987
extra : intermediate-source : a86b94e4bdc04bae34f6e8966dfe9b5e11f98677
extra : source : 498e2844d2d0d1cee087552f5aaf5aac7e34c3bf
2017-08-16 15:37:29 +08:00
JW Wang
af3ce851d6 Bug 1388612. P1 - remove MediaResource::EnsureCacheUpToDate(). r=gerald
This is a workaround to fix bug 687972. It should be OK now to remove
it since we have fix bug 1108960  where MediaCache failed to run the
update loop to update the suspend status of the stream.

MozReview-Commit-ID: MbInehhScs

--HG--
extra : rebase_source : 94345a00af31834db8b9858cdf5a9e889044156a
extra : source : 70f626894c3a15c8077f70425a97004478caa9e1
2017-08-09 16:07:53 +08: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
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
b2d75fa057 Bug 1383628. P5 - move CanClone() from MediaResource to BaseMediaResource. r=gerald
1. we move clone related methods to BaseMediaResource which is the only cloneable sub-class of MediaResource.
2. add CanClone() to ChannelMediaDecoder to reduce the dependency on MediaResource for HTMLMediaElement.
   MediaResource should be internal details to MediaDecoder.

MozReview-Commit-ID: Hl2nAiuyTO0

--HG--
extra : rebase_source : 43dd9ee33ef2ef2e9093eb6b264dc174379d61d2
extra : source : 978ded48a90f2c407c4545486243acabf492736a
2017-08-04 15:29:55 +08:00
JW Wang
163c6a8c8b Bug 1383628. P4 - move CloneData() and Create() from MediaResource to BaseMediaResource. r=gerald
Now we can store a more specific resource type in ChannelMediaDecoder.

MozReview-Commit-ID: EzXC547O7aR

--HG--
extra : rebase_source : eea1872eeeee9b5964fcc767c79b0315bf277602
extra : source : 84011bf4847bbed26e89af0b831aded93522f7ac
2017-08-04 14:52:22 +08:00
Gerald Squelart
63070aab2f Bug 1384243 - Sanitize offset inputs in MediaResourceIndex - r=cpearce
Also check that the offset doesn't overflow during reads.

MozReview-Commit-ID: DT5neeZuMZu

--HG--
extra : rebase_source : 1f0de82916ebf770a0ea2570161d607216232dfa
2017-08-01 14:07:55 +12:00
JW Wang
c6e43291cb Bug 1376363. P3 - remove MediaResource::GetContentType() and its friends. r=gerald
Note we remove the call to mChannel->SetContentType() from RecreateChannel().

The hint never works as expected for [1] is the only caller to
nsIChannel::GetContentType() and MediaResource::Create() always happens
before any reads from the resource.

[1] http://searchfox.org/mozilla-central/rev/b425854d9bbd49d5caf9baef3686e49ec91c17ec/dom/media/MediaResource.cpp#1500

MozReview-Commit-ID: 1n4yHEouCjC

--HG--
extra : rebase_source : 9a7345c29b985ddee7a90a94191e9d526e2a0a67
extra : source : 054d9ffaf21eb937a6349df76228269ad2d7dc2c
2017-06-26 21:39:16 +08:00