Commit Graph

302 Commits

Author SHA1 Message Date
JW Wang
8e6ae76d98 Bug 1289334 - HTMLMediaElement::ResetConnectionState() should shut down the decoder. r=cpearce
MozReview-Commit-ID: 7IZ2Y4Da7xZ

--HG--
extra : rebase_source : 492b0caa52fca17d2c399c2f0e2c426c6f55872f
2016-07-26 16:37:45 +08:00
JW Wang
a2a7e29ce7 Bug 1289301 - Remove the call to Shutdown() from MediaDecoder::NetworkError(). r=cpearce
MozReview-Commit-ID: EuDKW2KZQ9n

--HG--
extra : rebase_source : 7330327d6194a6fa45905d1ff52d258e58b96a4b
2016-07-26 14:33:16 +08:00
JW Wang
e92dafa46f Bug 1289296 - Assert |!IsShutdown()| in MediaDecoder::NetworkError(). r=kaku
MozReview-Commit-ID: HL8piKSPU1B

--HG--
extra : rebase_source : ae6aa90016c734646aec7a1828dfcd02ba92cc96
2016-07-26 14:28:29 +08:00
JW Wang
4d7a72bc94 Bug 1289295 - Remove the call to Shutdown() from MediaDecoder::DecodeError(). r=cpearce
MozReview-Commit-ID: DcpaEFEsaWD

--HG--
extra : rebase_source : fd63ff2faa79911b9ccfeed55d9e7348674ed1dc
2016-07-26 14:18:47 +08:00
JW Wang
4d4146a965 Bug 1289290 - Assert |!IsShutdown()| in MediaDecoder::DecodeError() r=kaku
MozReview-Commit-ID: EoUtle6quy

--HG--
extra : rebase_source : 47077044c8379c24cd732ab3707c24e28cb298f9
2016-07-26 14:01:54 +08:00
JW Wang
0b638406f0 Bug 1289004. Part 3 - Remove MediaDecoder::mShuttingDown. r=cpearce
MozReview-Commit-ID: DoJ4UFuyz2h

--HG--
extra : rebase_source : 531df3335548186338fc2eb5b5b4b0bb4cc6c101
extra : source : d4f4a98303c3ddc14986478aa44f137cce87af30
2016-07-13 16:48:27 +08:00
JW Wang
12fd7814cd Bug 1289004. Part 2 - Add MediaDecoder::IsShutdown(). r=cpearce
MozReview-Commit-ID: 50muOKcUqYi

--HG--
extra : rebase_source : d97e968c980dcc146824bb6703747f23b0a5b651
extra : source : 2ca76a5cecbb9c6ef107794eab32bb13633880a2
2016-07-13 16:45:30 +08:00
JW Wang
694dff250f Bug 1289004. Part 1 - Constify and devirtualize some functions. r=cpearce.
MozReview-Commit-ID: 8f14ekpinCR

--HG--
extra : rebase_source : ca1d62df789639817e4c7da01919783038db22f0
extra : source : 5dc15cac9b631fd10b03902b3ba627fd763a49aa
2016-07-13 16:35:37 +08:00
JW Wang
db58db163a Bug 1288344. Part 2 - Remove MediaDecoder::mWasEndedWhenEnteredDormant. r=cpearce
MozReview-Commit-ID: edGkP9mv6L

--HG--
extra : rebase_source : 4833d10975c6dd241d41bf86f81b08a9fe76784c
2016-07-12 14:34:06 +08:00
JW Wang
237d5b4a0d Bug 1288344. Part 1 - Don't change play state when entering/exiting dormant state. r=cpearce
MozReview-Commit-ID: 24damxCvWl8

--HG--
extra : rebase_source : 31058b1ace6d1d8e462b24f96845bb81251445d7
2016-07-12 14:32:36 +08:00
JW Wang
4e620890c7 Bug 1287350. Part 2 - Call WatchManager::Shutdown() to prevent notifications from watchables. r=jya
MozReview-Commit-ID: 79GojLNE4Gn

--HG--
extra : rebase_source : 888c389f0a99365da907a4dc56c8095cddfdbf55
2016-07-15 15:44:02 +08:00
JW Wang
f090553820 Bug 1287350. Part 1 - extract some code to {Connect,Disconnect}Mirrors. r=jya.
MozReview-Commit-ID: Ayf109fFhRU

--HG--
extra : rebase_source : bff7df290062d40c40b61a05bc054fbfa9cd3ddc
2016-07-15 15:35:41 +08:00
JW Wang
2dc3a59bbe Bug 1285887 - MediaDecoder::PlayStateStr() should call ToPlayStateStr() to eliminate redundant code. r=bechen
MozReview-Commit-ID: pwhafUHxOL

--HG--
extra : rebase_source : c43ecb4bf00fb31ccb07f4efac5a16e51cfe91f4
2016-07-11 17:42:34 +08:00
Chris Pearce
de045590ac Bug 1267918 - Add GMPCrashHelper for HTMLMediaElement. r=gerald
This ensures that unencrypted GMP decoding crash reporting works.

MozReview-Commit-ID: 84TAV5F9Ie0

--HG--
extra : rebase_source : c0bf3021be9fa0833a7b375967572f1019e4e279
2016-06-29 11:42:07 +12:00
Chris Pearce
58f2e7cb65 Bug 1282585 - Ensure content process doesn't crash if CDM crashes before MediaKeys attaches to media element or media element loads. r=jwwang
MozReview-Commit-ID: 2CpiDv6u4RP

--HG--
extra : rebase_source : bf0077826135e16667253c212b4897830c452e55
2016-06-29 16:09:24 +12:00
JW Wang
f7267b13db Bug 1274030 - clean VideoFrameContainer when "xpcom-shutdown" event received. r=cpearce
MozReview-Commit-ID: 92zeiNXSkjf
2016-05-22 21:39:55 +08:00
Sotaro Ikeda
4093745a3c Bug 1273612 - Do not enter dormant when MediaDecoder is not paused r=jwwang 2016-06-22 20:45:22 -07:00
Kaku Kuo
9ace015fa5 Bug 1276272 - part 3 - implement promise-based HTMLMediaElement::seekToNextFrame(); r=jwwang
MozReview-Commit-ID: JaUQe5GK6bF

--HG--
extra : rebase_source : 63ffb58ca29776757cd869579e149a4330311e08
2016-06-09 20:27:39 +01:00
JW Wang
006ae9baa3 Bug 1193124 - Ensure logical position is updated after seek. r=jwwang
MozReview-Commit-ID: KD4ylXbaDfu

--HG--
extra : rebase_source : c3e856ce515eeeec17b0dd9c64332fcff4d6deb5
2016-04-18 18:57:47 +08:00
Dan Glastonbury
78730160f5 Bug 1224973 - Part 3: Plumb element visibility into MDSM. r=jya,jwwang
change MediaDecoder::mIsVisible to be a Canonical<bool> and plumb through to
the MediaDecoderStateMachine.  This will be used to trigger suspending the
decoding of video frames.

MozReview-Commit-ID: F3Dpf0ogE7c
2016-05-12 09:53:51 +10:00
Dan Glastonbury
9f98a19f8c Bug 1224973 - Part 2: Set MediaDecoder visibility via NotifyOwnerActivityChanged. r=cpearce,jwwang
Make MediaDecoder::SetElementVisibility private.

MozReview-Commit-ID: GjCuSNPalkE
2016-05-12 09:53:02 +10:00
Dan Glastonbury
d4be2cf480 Bug 1224973 - Part 1: Remove MediaDecoderOwner->IsHidden(). r=cpearce,jwwang
Used only by dormant mode calculations, remove IsHidden() and replace with
mIsVisible in MediaDecoder.

MozReview-Commit-ID: CksjiXsbsrb
2016-05-12 09:52:43 +10:00
Chris Pearce
46a1552995 Bug 1271242 - Remove GMPDecryptorCallback::SetCapabilities(). r=jwwang
Now that GMPParent detects whether gmp-clearkey can decode using AAC/H.264
using WMF before reporting gmp-clearkey's GMPParent can decode AAC/H.264, we
don't need the GMPDecryptorCallback::SetCapabilities() callback from the GMP to
signal to the PDMFactory that the GMP can decode. We can now trust what the
GMPService tells us.

So we can remove the "waiting for CDM caps" step in the state machine's startup
sequence. And all the plumbing. :)

If we need more caps, like for an decode-and-render path, we can declare those
as API strings in the info file.


MozReview-Commit-ID: E0QhU4cYhjo

--HG--
extra : rebase_source : 7d15ab6a45bac88c15c053f416d941b5fe0807b0
2016-05-10 10:28:38 +12:00
Alastor Wu
9771068fea Bug 1235612 - Part 5: Rename NotifyAudibleStateChanged. r=jwwang
MozReview-Commit-ID: LRikTbqoOch

--HG--
extra : rebase_source : 1d69b9d55c232d2723cf9f7159087ec6795b6e19
2016-05-03 17:59:43 +08:00
JW Wang
bf6581352a Bug 1267933. Part 2 - add comments per comment 5. r=gerald.
MozReview-Commit-ID: 5mRVvwoWOEE
2016-05-05 10:29:06 +08:00
JW Wang
0a9e6a6567 Bug 1267933 - rewrite the shutdown sequence of MediaShutdownManager. r=jya,gerald.
MozReview-Commit-ID: 8n7JlXOby0z
2016-05-04 16:13:25 +08:00
Jean-Yves Avenard
74cc8abae0 Bug 1269048: Prevent null deref in debugging information. r=jwwang
MozReview-Commit-ID: FKq9dtrdegg

--HG--
extra : rebase_source : 19c71b8aa43a0f5f96b44821cc690f5295dcf79a
2016-05-02 08:49:18 +10:00
JW Wang
823e6216e3 Bug 1265978. Part 2.5 - also dump reader data. r=jya.
MozReview-Commit-ID: 3m71yGg6lbN
2016-04-22 14:18:34 +08:00
JW Wang
94b009f556 Bug 1265978. Part 2 - add methods to MediaDecoder and MDSM to dump debugging info. r=jya.
MozReview-Commit-ID: Dbc5FT627uL
2016-04-22 14:18:26 +08:00
JW Wang
753cf80b90 Bug 1259473 - per comment 14, move actions involving |this| to Init() from the constructor. r=jya. 2016-04-01 23:10:44 +08:00
Andreas Pehrson
e1b8d01dd1 Bug 1208371 - Hook up DecodedStream with PrincipalHandle. r=mt,jwwang
MozReview-Commit-ID: 1LmiFyfjhsr

--HG--
extra : rebase_source : e1ceca65cd1f5ff64ab6fff8fafc1ddd08f44b87
2016-02-02 13:14:13 +08:00
Bryce Van Dyk
939ab2b661 Bug 657791 - Update seekable range handling for cueless WebMs. r=kinetik
MediaDecoder previously had 3 states within GetSeekable(), media is either
seekable, seekable but not supported by transport, or not seekable. Due to
changes to make cueless webms playable, a 4th option is needed: a file that is
not fully seekable, but may support seeking from the transport, such as these
webms, should only be seekable in the buffered range.

MozReview-Commit-ID: ISeFkngtrGU
2016-02-04 17:31:21 +13:00
Eugen Sawin
c0b51aec88 Bug 1255050 - [1.1] Restrict media plugin decoder usage to Android ICS. r=snorp 2016-03-10 23:14:13 +01:00
Jean-Yves Avenard
53c49526d6 Bug 1246521: P2. Add MediaDecoder::OwnerHasError method. r=gerald 2016-02-08 16:38:26 +11:00
Kaku Kuo
300161c223 Bug 1242338 - fix numerical issue in MediaDecoder::Seek(); r=jwwang
--HG--
extra : transplant_source : T%A6%E5%E4%C7%EC%AA%7Ba%5E%F9%BA%9B%91%DC%18%E1%F9%FF%A5
2016-01-25 19:15:27 +08:00
Alastor Wu
abde274a94 Bug 1238906 - part2 : notify audible state from MDSM to ME. r=jwwang
--HG--
extra : rebase_source : 74629c314b3d828a5d9b514bf6cca87f7c1f57de
2016-01-21 10:27:38 +08:00
Sebastian Hengst
9249e58bdf Backed out 2 changesets (bug 1238906) for bustage in M(2) on OSX and Windows. r=bustage
Backed out changeset e729b30ba7b4 (bug 1238906)
Backed out changeset 1857bca40ac4 (bug 1238906)
2016-01-18 13:11:43 +01:00
Alastor Wu
bbcb84cc7b Bug 1238906 - part2 : notify audible state from MDSM to ME. r=jwwang
--HG--
extra : transplant_source : %A6I%CA%AC%95%AD%0C%7D%40K%8C_%8B%3D%15%BC%F7%FB%86%27
2016-01-18 10:50:47 +08:00
Jean-Yves Avenard
2f79455810 Bug 1237809: P3. Ensure element dimensions are up to date. r=jwwang
The VideoContainer contains more up to date video size information than the MediaInfo received by MediaDecoder::MetadataLoaded
2016-01-13 13:55:58 +11:00
JW Wang
4627500b49 Bug 1237616 - Remove the aForceBuffering arugment from MediaDecoder::Resume(). r=cpearce. 2016-01-12 08:04:32 +08:00
Jean-Yves Avenard
3c25c690a7 Bug 1207220: Ensure MediaShutdownManager waits until all MediaDecoder have completed their shutdown. r=cpearce
XPCOM when shutting down expects all tasks to be run synchronously. As such, we must ensure that the remaining MediaDecoder are shut down before continuing on the next task.
In particular destroying gfxPlatforms must only ever happen after, as it is possible for the MediaDecoderReader to make use of gfx resources during shutdown.
2016-01-05 11:55:50 +11:00
Jean-Yves Avenard
8f79430f0e Bug 1234092: P1. Remove GStreamer support. r=kentuckyfriedtakahe
It was now unused by default.
2015-12-23 01:14:22 +11:00
Chris Peterson
90c0e0da61 Bug 1232223 - Part 3: Remove MOZ_WAVE #ifdefs because Wave is always supported. r=jya 2015-12-18 00:51:16 -08:00
Chris Peterson
88051371a9 Bug 1232223 - Part 1: Remove MOZ_WEBM #ifdefs because WebM is always supported, though not necessarily enabled. r=jya r=glandium 2015-12-12 13:49:07 -05:00
Jean-Yves Avenard
08597229bb Bug 1229987: P4. Stop pre-rolling when encountering WAITING_FOR_DATA. r=cpearce
This allows to start displaying frames even when we have less than 5 frames.
2015-12-18 19:26:54 +11:00
JW Wang
84171dfe8c Bug 1230004. Part 2 - have MDSM::BeginShutdown return a promise and remove MDSM::mDecoder. r=cpearce. 2015-12-03 15:59:44 +08:00
JW Wang
a62c25461b Bug 1230004. Part 1 - cache data in MDSM so it won't need to ask MediaDecoder. r=cpearce. 2015-12-03 15:59:30 +08:00
Jean-Yves Avenard
dc75044746 Bug 1229256: P2. Use buffered range to determine next frame availability. r=jwwang
To avoid potential regression with some of our tests expecting our old particular behaviour, we only use the buffered range to determine the next frame status if the old method determined that the next frame was unavailable due to the MediaDecodeStateMachine not having decoded the next frame yet.
2015-12-03 12:38:10 +11:00
Jean-Yves Avenard
b968a258a5 Bug 1229256: P1. Only check readyState update upon buffered range completion. r=jwwang
When MediaDecoder::NotifyDataArrived is called, the buffered range hasn't been updated as of yet, causing unnecessary calls to UpdateReadyState().
Delay the readyState update until the buffered range is modified.
2015-12-03 12:38:10 +11:00
JW Wang
e4cbe0c128 Bug 1228939 - 1. add mSeekable to MediaInfo. 2. use MediaEventSource to notify the decoder when the media is not seekable. 3. remove unused code. r=jya. 2015-12-02 15:42:32 +08:00