Commit graph

651 commits

Author SHA1 Message Date
Wei-Cheng Pan
510ba75c20 Bug 1310127 - Part 17: Use MOZ_MUST_USE in netwerk/protocol/http r=smaug
MozReview-Commit-ID: 5gvVZtsa3yS

--HG--
extra : rebase_source : 5e1ab2fc06ae58f18abb8909ac93f9512abbe220
2016-12-20 11:49:32 +08:00
David Major
ed0b8f8653 Bug 1344615: Remove nsXPCOMStrings.{h,cpp} r=bsmedberg
These are now dead code.

MozReview-Commit-ID: AClU0Qx3kmN

--HG--
extra : rebase_source : df83cf89292da1519bb26027c11e14923d5c54a0
2017-03-06 17:52:54 +13:00
Carsten "Tomcat" Book
d0bd960945 merge mozilla-inbound to mozilla-central a=merge 2017-03-06 10:53:27 +01:00
Alastor Wu
f973d1e5cf Bug 1343465 - part1 : check audio track to decide the audible state when the media element was muted. r=baku
If the media starts after muting the tab, IsOwnerAudible() would always return
"eNotAudible". It causes that the "play tab" icon can't be displayed because we
only show the "play tab" icon for the "eMaybeAudible" or "eAudible".

We should check whether owner owns the audio track to decide the return value.

MozReview-Commit-ID: DGwkArx0a4R

--HG--
extra : rebase_source : 920968acc744593f4ef383be4068352233c74101
2017-03-04 16:51:12 +08:00
Alastor Wu
77053f1035 Bug 1338137 - part1 : ref media content when the media element bind to tree. r=baku
In bug1319771, we found that the tab would become visible unexpectly in short
period in some situations. We don't want to resume the tab in this kind of
situation, so we check whether there is any alive media component in the tab
using IsServiceStarted(). However, since we have lots different ways to create
the service, this function is not accurate at all.

Therefore, we can add media element directly to the document when it binds to
tree so that we can really know whether there is any alive media component.

MozReview-Commit-ID: FvZFg91IqgE

--HG--
extra : rebase_source : 43c2460f6e9a39d44bf2ca1638c992a0e27b196c
2017-03-04 01:14:24 +08:00
karo
3c2b014e09 Bug 1343409 - HTMLMediaElement::MozRequestDebugInfo returns EMEInfo. r=cpearce
MozReview-Commit-ID: 1iQP3OJmwdP

--HG--
extra : rebase_source : 171155ab5e58cac8cc9db9109a5c2fc88b1930d3
2017-03-01 12:56:29 +13:00
Patrick McManus
0a3349e548 Bug 1344374 - remove now-meaningless nsIRequest::INHIBIT_PIPELINE r=hurley 2017-03-03 16:46:53 -05:00
Gerald Squelart
418963d5c8 Bug 1343161 - MediaDecoderOwner::DecodeWarning and HTMLMediaElement implementation - r=jya
Similar to DecodeError, except we allow decoding to continue.

MozReview-Commit-ID: FN9m03o6GXV

--HG--
extra : rebase_source : a6ca0cc28d2990ab143676758cd880baaca7bcb7
2017-02-27 12:12:37 +11:00
Gerald Squelart
bfa6625f32 Bug 1343161 - StoreDecodeError from HTMLMediaElement::DecodeError - r=jya
MozReview-Commit-ID: 8Q66JScrrxS

--HG--
extra : rebase_source : d2c6703fde49e65bcacd775c4a0098e5724cf80a
2017-02-21 14:02:11 +11:00
Alastor Wu
674bf43368 Bug 1339230 - part2 : should be non-audible when media is suspended. r=baku
MozReview-Commit-ID: GtktbXEpuUU

--HG--
extra : rebase_source : 0085f2551767dc894e10897b98c23c72b63dc197
2017-02-24 17:15:22 +08:00
Alastor Wu
ea63f2e354 Bug 1192818 - part4 : only mute media element if there is alive track. r=jwwang
If we don't have any alive track in MediaTrackList, we don't need to mute
MediaElement.

MozReview-Commit-ID: 9vY692O7N0e

--HG--
extra : rebase_source : 3abd2fb360385b1975dbffd9dcaf4e395b1afda1
2017-02-23 14:16:44 +08:00
Alastor Wu
c268fbdbaf Bug 1192818 - part1 : dispatch DOMAudioPlaybackStopped when mute the tab. r=baku
The root cause of the intermittent fail is because "DOMAudioPlaybackStopped" has no directly relationship with browser.mute()/unmute().

In [1], the "DOMAudioPlaybackStopped" is caused by audio stop playing, not by calling the browser.mute(). If the audio stops playing before calling the wait_for_event(), the test would be time-out. I guess the bug 1302280 is also caused by same reason.

So this patch would do two thinngs,
1. dispatch "DOMAudioPlaybackStopped" when we mute tab
2. loop the audio in test file, to make sure the "DOMAudioPlaybackStopped" is
   dispatched when muting the audio, not the file ended.
[1] https://goo.gl/ymUv8P

MozReview-Commit-ID: 5RnyBRE73lQ

--HG--
extra : rebase_source : 40ad97cbf84da6f5d013d832cb12e3ed88473dfd
2017-02-23 14:15:45 +08:00
Sebastian Hengst
2fc30f09d3 Backed out changeset 38fa2ec33fa4 (bug 1192818) for frequently failing test_noAudioNotificationOnVolume0Element.html on Android 4.3 debug. r=backout 2017-02-21 19:30:26 +01:00
bechen
2f4c6ee015 Bug 1334112 - part2: When changing the readyState to HAVE_FUTURE_DATA and HAVE_ENOUGH_DATA, the texttracks must be loaded. r=jwwang
MozReview-Commit-ID: I7oA3TleAFo

--HG--
extra : rebase_source : 4a77aa7d6e8cfd366327dd10a03ad5c228c925c0
2017-02-21 15:44:00 +08:00
Alastor Wu
c5d7911229 Bug 1192818 - part1 : dispatch DOMAudioPlaybackStopped when mute the tab. r=baku
The root cause of the intermittent fail is because "DOMAudioPlaybackStopped" has no directly relationship with browser.mute()/unmute().

In [1], the "DOMAudioPlaybackStopped" is caused by audio stop playing, not by calling the browser.mute(). If the audio stops playing before calling the wait_for_event(), the test would be time-out. I guess the bug 1302280 is also caused by same reason.

So this patch would do two thinngs,
1. dispatch "DOMAudioPlaybackStopped" when we mute tab
2. loop the audio in test file, to make sure the "DOMAudioPlaybackStopped" is
   dispatched when muting the audio, not the file ended.
[1] https://goo.gl/ymUv8P

MozReview-Commit-ID: 703JHj9dICT

--HG--
extra : rebase_source : ad2985bd14d6a9b91a73c0d4103aa51c4981124c
2017-02-21 18:41:09 +08:00
Tom Tromey
5f8f360823 Bug 1060419 - make log_print use Printf.h, r=froydnj
MozReview-Commit-ID: BIZ1GQEZ1vs

--HG--
extra : rebase_source : 2f1f0aa12493c44f352d9a7e8683e7bb72d2d75b
2016-12-15 20:16:31 -07:00
karo
6dfa1efcd2 Bug 1339961 - Check for 'debugger' privilege when accessing HTMLMediaElement.mozMediaSourceObject, mozDebugReaderData, mozRequestDebugInfo(). r=kentuckyfriedtakahe,smaug
MozReview-Commit-ID: 5Rhc0Ukn1W4

--HG--
extra : rebase_source : 7bade668984bbf917d82bcb41e42e0d3ca18bc09
2017-02-10 08:54:12 +13:00
Chris Pearce
1f1b7e1168 Bug 1338032 - Report VP9 in MP4 not supported in HTMLMediaElement.canPlayType, but supported in MediaSource.isTypeSupported(). r=gerald
We don't have an MP4 demuxer that can handle VP9 in non-fragmented MP4.  Jay's
change to DecoderTraits in Bug 1339204 will make MediaSource.isTypeSupported()
report that it can play VP9 in MP4. But we don't want to report that we can
play VP9 in MP4 in HTMLMediaElement.canPlayType(), as usually canPlayType() is
used with the intention to check for whether fragmented MP4 can be played. So
we need to special case canPlayType() so that it reports that it can't play
VP9 in MP4.

The upcoming Rust demuxer will be able to support VP9 in MP4, so once we've
enabled that, we can confidently report in canPlayType that we support VP9 in
MP4.

MozReview-Commit-ID: G0q5ho5N2wr

--HG--
extra : rebase_source : cd7a18ff3080b2c9bca90b6935b03bfa2c8d780f
2017-02-15 13:37:01 +13:00
Andrea Marchesini
bd4af63b7f Bug 1338538 - Remove AutoNoJSAPI in HTMLMediaElement, r=alwu 2017-02-13 15:40:28 +01:00
Kaku Kuo
e0d4ae1189 Bug 1337301 part 2 - modify the MarkAsContentSource() API; r=gerald
MozReview-Commit-ID: 7hgZZUEvDEK

--HG--
extra : rebase_source : 64f96a5043a921312fbde0cf93b793e5fba6c3dc
2017-02-07 18:20:47 +08:00
JW Wang
dc7d9fc978 Bug 1333289. Part 2 - retrieve debugging data from MediaDecoder/MDSM. r=jya
MozReview-Commit-ID: F4AxZFBPVPB

--HG--
extra : rebase_source : 2f70995597808332749332de8a2b27046b2a702e
extra : source : 66b5a72457bf49b0be90397abfc5bd8c4fe9f828
2017-01-24 10:49:37 +08:00
JW Wang
c6bbdcd459 Bug 1333289. Part 1 - add a function to the webidl to retrieve debugging data in an asynchronous way. r=bz
MozReview-Commit-ID: AXTpOYaq56A

--HG--
extra : rebase_source : 7a04919aa07c71f42e26d35f81b055dea2ed19f2
extra : intermediate-source : 0ddcc9dc7ba1952a06e2b48593e8b16378847b69
extra : source : 7c1de996eaa5989359debd34b4ec1a5af37f9ee7
2017-01-18 16:14:57 +08:00
JW Wang
9b0debfda1 Bug 1333576 - Ensure Shutdown() is called before releasing the decoder. r=gerald
MozReview-Commit-ID: CBEOgh5v90L
2017-01-25 10:49:29 +08:00
Bill McCloskey
a1715e6737 Bug 1331804 - New naming scheme for runnables (r=ehsan)
MozReview-Commit-ID: FOfrUXwGYws
2017-01-24 16:34:37 -08:00
Wes Kocher
f7ccafcb58 Backed out 8 changesets (bug 1331804, bug 1332100) for windows vm debug dt5 failures a=backout
Backed out changeset 8bf7f0e27c6c (bug 1331804)
Backed out changeset 600c0b9026c2 (bug 1331804)
Backed out changeset 3a5b5b9ecace (bug 1331804)
Backed out changeset c76432c9954e (bug 1331804)
Backed out changeset 46a9096745e7 (bug 1332100)
Backed out changeset 8b751230fa23 (bug 1331804)
Backed out changeset 2810212347fd (bug 1331804)
Backed out changeset be72b7763910 (bug 1331804)

MozReview-Commit-ID: Ywdsr4GZ4a
2017-01-24 15:12:21 -08:00
Bill McCloskey
187dedfae8 Bug 1331804 - New naming scheme for runnables (r=ehsan)
MozReview-Commit-ID: FOfrUXwGYws
2017-01-24 10:04:55 -08:00
Carsten "Tomcat" Book
e12cc94275 merge mozilla-inbound to mozilla-central a=merge 2017-01-23 11:15:58 +01:00
Alastor Wu
07ed0954e6 Bug 1322505 - part2 : reset suspend type for blocked media after calling media.pause(). r=baku
If the blocked media is paused before resuming it, we should not resume it again
after the tab is visible. The way to achieve that is to unregister the agent so
AudioChannelService can't resume that media because we have disconnected their
relationship.

MozReview-Commit-ID: 6Dq4K9hVsU0

--HG--
extra : rebase_source : 740f38a63ad02852fe914a781d09ff9e45eb5cea
2017-01-23 10:52:06 +08:00
Alastor Wu
6968ad68af Bug 1322505 - part1 : rename audio channel wrapper's function. r=baku
Rename function and modify the comment.

MozReview-Commit-ID: F5JTmPvH7GC

--HG--
extra : rebase_source : 7e0841809d5f338c071e9e7d56d9a7c3d4c7169f
2017-01-23 10:52:04 +08:00
Bevis Tseng
72d516ef01 Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang
MozReview-Commit-ID: 1KgE3uKu4CG

--HG--
extra : rebase_source : 2ad950afe84675fb9bc4c449e53e7c0d52270175
2016-12-07 22:00:12 -10:00
Bevis Tseng
f2bdbd8fd1 Bug 1314833 - Part 2.1: Factor out AbstractThread::MainThread() used in Media Playback. r=billm,jwwang
MozReview-Commit-ID: 9yJi3iDtVZG

--HG--
extra : rebase_source : 39c720ccc576ed9247b5e8abb70d99d7873b3ad6
2016-11-29 13:03:36 +08:00
Phil Ringnalda
f10b4dc62e Backed out 4 changesets (bug 1322505) for frequent timeouts in browser_block_autoplay_media_pausedAfterPlay.js
Backed out changeset dad8acbe41e9 (bug 1322505)
Backed out changeset 861f01ee0e6e (bug 1322505)
Backed out changeset ddf90342d71d (bug 1322505)
Backed out changeset 049ab1a92da6 (bug 1322505)
2017-01-19 21:57:46 -08:00
Alastor Wu
81e53a452c Bug 1322505 - part2 : reset suspend type for blocked media after calling media.pause(). r=baku
If the blocked media is paused before resuming it, we should not resume it again
after the tab is visible. The way to achieve that is to unregister the agent so
AudioChannelService can't resume that media because we have disconnected their
relationship.

MozReview-Commit-ID: 6Dq4K9hVsU0

--HG--
extra : rebase_source : 1a1f17e09e5ab85e18b4bce9d009ab51ccaa7aab
2017-01-20 11:30:03 +08:00
Alastor Wu
13dcc2d20e Bug 1322505 - part1 : rename audio channel wrapper's function. r=baku
Rename function and modify the comment.

MozReview-Commit-ID: F5JTmPvH7GC

--HG--
extra : rebase_source : 0195f5b52cc6b101eb8b6551f65128cd6d70252f
2017-01-20 11:29:51 +08:00
JW Wang
992114f5fd Bug 1332160 - use nsCString internally whenever possible. r=gerald
MozReview-Commit-ID: 1DUaJWfbL88

--HG--
extra : rebase_source : f4a02736b0385e4be6258a185822f7855d0b0189
extra : intermediate-source : 1faaf4254a2e1ce2c096a8650b66d07c84c7fdbe
extra : source : c23fc2cea382627af8ff20ae3edea926eaa6d51a
2017-01-18 16:51:31 +08:00
Gerald Squelart
5745998021 Bug 1331770 - Rename 'MediaContentType' to 'MediaContainerType' - r=jya
MozReview-Commit-ID: F0BWai8vPyo

--HG--
rename : dom/media/MediaContentType.cpp => dom/media/MediaContainerType.cpp
rename : dom/media/MediaContentType.h => dom/media/MediaContainerType.h
extra : rebase_source : 640ada96750b4496055087e80ae3f600c9df31c9
2017-01-18 11:59:03 +11:00
Chris Pearce
5b7a58a56b Bug 1329543 - Remove IsPrimetimeKeySystem(string) from Gecko. r=gerald
MozReview-Commit-ID: LX1ywPZDHtj

--HG--
extra : rebase_source : 8f2181b426159d7f58e9452ad3b0f4ae474388b2
2017-01-09 21:51:40 +08:00
Gerald Squelart
cd181bc396 Bug 1329561 - MediaContentType is always valid - r=jya
MediaContentType can only be created through MakeMediaContentType(), which
returns a Maybe<MediaContentType>.
If the return value is Nothing, parsing failed.
Otherwise the contained MediaContentType object is guaranteed to be valid;
E.g., GetMIMEType() will always return a non-empty string.

Note that this interface will change a lot in the following bugs&patches, so
please don't worry about the 'Get' in the never-failing GetMIMEType(), it will
be gone soon!

MozReview-Commit-ID: IjGKkQ6RVd4

--HG--
extra : rebase_source : 5254af80dec0beb05da49f68c12fecc28edd725e
2016-12-01 12:56:11 +11:00
Kilik Kuo
2873d75a62 Bug 1316573 - Reset the information in EncryptionInfo to make MediaElement reusable from encrypted content to plain content. r=jya
MozReview-Commit-ID: 4OU0sb2OSzi

--HG--
extra : rebase_source : c18f76229bc2cfde79dc114ff5bc892a973a1ae2
2017-01-12 11:33:55 +08:00
Andreas Pehrson
974dfed8db Bug 1329075 - Avoid an infinite event loop spin. r=jesup
Because we add tracks to the output streams async, it's possible to switch the
mSrcStream of a media element and *then* get a notification of an added track,
when this track originated from the old mSrcStream.
If the new mSrcStream is an output stream of the media element, this would
again add a new track async, which on the next event loop spin would show up
on mSrcStream, and the loop continues.

MozReview-Commit-ID: HmKgXLYmubh

--HG--
extra : rebase_source : 242f864e79b0b2335719a07fe9ee4b8b940d85dc
2017-01-09 19:10:48 +01:00
Andreas Pehrson
4fab9749c7 Bug 1329075 - Add asserts to StreamCaptureTrackSource for sanity. r=jesup
MozReview-Commit-ID: EeSKM4JHWGv

--HG--
extra : rebase_source : dd7f923d633dc80d6c72a97eb6aa47fe51a30f43
2017-01-09 17:02:13 +01:00
Andreas Pehrson
03beb7fb5e Bug 1329075 - Fix potential null deref issues in media element track sources. r=jesup
MozReview-Commit-ID: ExUh2magc2z

--HG--
extra : rebase_source : 9377109b8b5881d3cc122bc0c1447019dce5e069
2017-01-09 17:00:43 +01:00
Andreas Pehrson
13c708b237 Bug 1329075 - Fix assertion failure in debug build. r=jesup
With the attached test case I was failing an assert in a debug build because
NotifyMediaTrackEnabled exited early due to `mReadyState == HAVE_NOTHING` but
NotifyMediaTrackDisabled didn't. The latter would fail an assert.

MozReview-Commit-ID: 7Frpj62s0Bc

--HG--
extra : rebase_source : a1dea4f2db564fe28e6eb7f7fcd9c382a46409ac
2017-01-09 16:36:00 +01:00
Gerald Squelart
5d4cad020a Bug 1320785 - Remove obsolete 'ns' from 'StorensRefPtrPassByPtr' - r=froydnj
MozReview-Commit-ID: FuhlsLVFdLi

--HG--
extra : rebase_source : c1bb8330c4ca0dbf15a68a4dbd0dfeff615163be
2017-01-09 07:55:19 +11:00
Kaku Kuo
e3f3f93c62 Bug 1299096 - Remove the event-based play() method out from nsIDOMHTMLMediaElement.idl; r=bz
MozReview-Commit-ID: 3pHsSsADPLu

--HG--
extra : rebase_source : 9e3620c4565118f0c4f016b0bbe75ec046928718
2016-12-13 16:04:45 +08:00
Cameron McCormack
babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
ctai
dea6f82442 Bug 1325053 - Remove media attribute code and set the currentSrc attribute to urlString after type checking in HTMLMediaElement. r=jwwang
According to current WhatWG HTML spec, the checking of media attribute in SourceElement is removed. Fix the Gecko code to reflect current spec.

MozReview-Commit-ID: 43d9zL9Fvih

--HG--
extra : rebase_source : beb87387cb1d55eb42713fbb0d344c0c64a0b6da
2016-12-21 20:42:48 +08:00
ctai
3ce829affc Bug 1323369 - Make HTMLMediaElement::UnbindFromTree to follow WhatWG HTML spec. r=jwwang
W3C HTML5 spec isn't very actively maintained now. WhatWG HTML spec:
When a media element is removed from a Document, the user agent must run the following steps:
Below is the related statement in WhatWG HTML spec:
Await a stable state, allowing the task that removed the media element from the Document to continue. The synchronous section consists of all the remaining steps of this algorithm. (Steps in the synchronous section are marked with .)
 If the media element is in a document, abort these steps.
 Run the internal pause steps for the media element.

MozReview-Commit-ID: H4EgPqj2YxD

--HG--
extra : rebase_source : 2c15adaaadd955662797dcf1c5158927f16bab97
2016-12-13 15:34:14 +08:00
ctai
3a16a07779 Bug 1222980 - Dispatch |QueueLoadFromSourceTask| to main thread. And end the synchronous section and asynchronously await a stable state when the src is not set. r=jwwang.
Dispatch |QueueLoadFromSourceTask| to main thread to make sure the task will be executed later than loadstart event. And when the src get errors, we need to end the synchronous section.

MozReview-Commit-ID: EQ0jVIMnqoZ

--HG--
extra : rebase_source : 876c62669f56581e903830beddbf0ce4435366e2
2016-12-13 15:45:59 +08:00
Jean-Yves Avenard
5203c55c49 Bug 1319992: P5. Don't attempt to estimate readyState when ended. r=jwwang
Buffered range is now calculated asynchronously. It may not be up to date by the time the MDSM has entered ended mode.
There's no point estimating readyState in ended mode anyway: we know what it is...

MozReview-Commit-ID: ErGsAwBzeXI

--HG--
extra : rebase_source : db3bde99b21f5b4377ce88509979f1499b1cd677
2016-12-14 17:35:36 +11:00