Commit Graph

83 Commits

Author SHA1 Message Date
JW Wang
302d82c85a Bug 1356530 - Change the type of MediaData::mTime to TimeUnit since int64_t is ambiguous. r=kaku
MozReview-Commit-ID: 4bVeqIuWO2O

--HG--
extra : rebase_source : d504ac15a6dc59ad42f3ab80faf23f629d74315f
extra : intermediate-source : 6e52995b6c8146451d98dffc62f6907755dc856e
extra : source : 82d2649cdafb5a6389f6858c23578811933580c9
2017-04-14 17:13:36 +08:00
JW Wang
235f1f55ed Bug 1356506 - change the type of MediaData::mTimecode to TimeUnit since int64_t is ambiguous. r=gerald
MozReview-Commit-ID: 7dO5OOUuORz

--HG--
extra : rebase_source : 1c1c020700d9180ef9f85d7e2e679f498ab71fce
extra : intermediate-source : d173c820bef7a113e28e9732c42e8c1af36160ab
extra : source : 04c08a780526ca3a5ac4d1a6f9b7ae30d9957e92
2017-04-14 14:52:14 +08:00
David Anderson
b7031d637d Don't create TextureClients if the video bridge has shut down. (bug 1345735 part 1, r=mattwoodrow)
--HG--
extra : rebase_source : 7b8379ff9dac1fa11c1d22470c63d4d280281eda
2017-04-19 07:24:43 -07:00
JW Wang
6359124d70 Bug 1355756. P3 - let CreateAndCopyData() and its friends take TimeUnit for duration. r=gerald
MozReview-Commit-ID: ES0on9VCuu3

--HG--
extra : rebase_source : 8d3e80ec2e1923587b5865516a16bfff9009397d
extra : intermediate-source : 3e59c61b1ccef78e3e8fe52791d7104aade7930c
extra : source : 46fd639ea6a2219bbed70f6555a2acf03ec01a7a
2017-04-12 17:46:09 +08:00
JW Wang
464497b945 Bug 1355756. P1 - change the type of MediaData::mDuration to TimeUnit. r=gerald
MozReview-Commit-ID: 3d4bUYtSuMI

--HG--
extra : rebase_source : 94c821b6d381421035e6a12cbe038436055c5822
extra : intermediate-source : 9a06beffc736486f47b9cf05e7f482e726d53068
extra : source : fdbdcd5c1474f04dc1dbde66fcf3a9ecec953053
2017-04-12 17:27:34 +08:00
John Lin
a5d3bc8a18 Bug 1344649 - part 2: let VideoData::CreateFromImage() accept only neccessary parameters. r=jya
VideoData doesn't care what's in aInfo but display size and aPicture are unused.

MozReview-Commit-ID: IBqq8Rm8dM4

--HG--
extra : rebase_source : 10e2390f87925ef9179d28d86240f68a35c6c6d4
2017-03-09 12:06:24 +08:00
Matt Woodrow
9fcf5f626a Bug 1329369 - Initialize the decoded video frame to the pixel size of the buffer. r=jya
MozReview-Commit-ID: ChfGNFxjJpc

--HG--
extra : rebase_source : 06c162f43a1ef2740bdc0cc2b4873ed4b377f54f
2017-02-17 15:01:25 +13:00
Jean-Yves Avenard
572d9a0a80 Bug 1339748: P2. Let the MediaDataDecoder tells the format it wants. r=cpearce
MozReview-Commit-ID: 22GEUnwEacd

--HG--
extra : rebase_source : 019627d3ff0ef0430bcaf83a4098ffd62fc53b05
2017-02-17 22:19:55 +01:00
Sebastian Hengst
955ce77a9f Backed out changeset f508a675e8dc (bug 1339748) 2017-02-18 17:36:21 +01:00
Jean-Yves Avenard
1aee5fb0ac Bug 1339748: P2. Let the MediaDataDecoder tells the format it wants. r=cpearce
MozReview-Commit-ID: 22GEUnwEacd

--HG--
extra : rebase_source : ce57fbd3028333485368267955b2645057f54805
2017-02-17 22:19:55 +01:00
Jean-Yves Avenard
52e09e4b68 Bug 1340129: P1. Allow empty raw frames. r=gerald
MozReview-Commit-ID: AU0QrahHtYe

--HG--
extra : rebase_source : 34604298e01db1b7b481fc55c25cb5f23e806fa2
2017-02-16 23:41:44 +01:00
Jean-Yves Avenard
16bf821b42 Bug 1325707: P3. Fix coding style. r=gerald
Fixed coding style of files encountered in P1 and P2.

MozReview-Commit-ID: LApVu9K2oto

--HG--
extra : rebase_source : e3bb296baaec9df2011ff312fec2eda19dd125e6
2017-02-07 09:15:59 +01:00
Jean-Yves Avenard
ec59353902 Bug 1325707: P2. Handle OOM conditions when creating MediaRawData object. r=gerald
MozReview-Commit-ID: HtkhrT36Kf4

--HG--
extra : rebase_source : febe0c4114d8d888b152db3f7b5331c0fb32f442
2017-02-07 09:03:36 +01:00
Jean-Yves Avenard
73fd84bc5d Bug 1319987: P5. Promisify MediaDataDecoder. r=cpearce,gerald,mattwoodrow,snorp
This is a big change, and unfortunately impossible to break down with independently functional commits.

There are four main changes being applied here:

* Code cleanup, including making all MediaDataDecoder related code mozilla coding style compliant
* Make MediaDataDecoder use MozPromise
* Making Flush and Shutdown processes fully asynchronous
* Fixing few data races encountered across the code, in particular in the Android PDM

MozReview-Commit-ID: DpiZucGofJT

--HG--
extra : rebase_source : 80bd6c6f9726d536b6f306c40d9af6df27333be9
2017-01-26 13:56:46 +01:00
Gerald Squelart
2a5f2b5c10 Bug 1321051 - Override Supports(TrackInfo) in RemoteDecoderModule - r=jya
With e10s enabled, RemoteDecoderModule is used as a proxy, but it was not
overriding Supports(TrackInfo), meaning that some of the extra information
carried in TrackInfo (e.g.: resolution) was lost when falling back to
SupportsMimeType(nsACString). So further along, WMFDecoderModule was not able
to reject too-high resolutions.

Overriding Supports(TrackInfo) to just forward the TrackInfo data is enough to
re-enable resolution checks on Windows.

MozReview-Commit-ID: 3OsPmILItH7

--HG--
extra : rebase_source : 26699634f5d2af8e83e9f99e5725846f5b75681c
2017-02-01 12:18:59 +11:00
Matt Woodrow
2f00b8ce05 Bug 1329386 - Fallback to WMF decoding if the OOP decoder fails. r=jya
--HG--
extra : rebase_source : 126e76c97538c429660f6e34a718c8dd57fb4a41
2017-01-19 12:35:44 +13:00
Ryan VanderMeulen
e8f15d975e Backed out changeset 94e48b834d82 (bug 1329386) for bustage on a CLOSED TREE. 2017-01-11 21:49:18 -05:00
Matt Woodrow
fd9309fe71 Bug 1329386 - Fallback to WMF decoding if the OOP decoder fails. r=jya 2017-01-12 15:35:10 +13:00
Matt Woodrow
4e6b9e51c7 Bug 1329305 - Don't wait on readback task if dispatching it failed. r=dvander 2017-01-12 15:33:25 +13:00
Matt Woodrow
d3bab17663 Bug 1319251 - Add more current thread assertions in VideoDecoderParent so it's more obvious about which code runs where. r=jya
--HG--
extra : rebase_source : 03abb6a3f8f0e635032ac19ea0b4168483867cb1
2016-11-22 21:48:21 +13:00
Matt Woodrow
f9ca04b579 Bug 1319251 - Ensure that our decoder pointer hasn't be revoked when we get the Init callback. r=jya
--HG--
extra : rebase_source : 5409c452a045a4d3a544371985bce80844534cdd
2016-11-22 21:47:34 +13:00
Matt Woodrow
61b46ea20c Bug 1319251 - Check Init promise in VideoDecoderChild before trying to resolve it. r=jya
--HG--
extra : rebase_source : b628ac151502806d7682294ce55949c0b87ccc5f
2016-11-22 21:47:00 +13:00
Matt Woodrow
f79cf83a6f Bug 1316506 - Initialize mFlushTask. r=bustage CLOSED TREE 2016-11-22 17:43:45 +13:00
Matt Woodrow
db4bd4aa1a Bug 1318854 - Null check the right pointer in RecvReadback. r=dvander 2016-11-22 15:51:19 +13:00
Matt Woodrow
6c7788b023 Bug 1319190 - Make sure we release the last VideoDecoderChild ref on the video manager thread. r=dvander
--HG--
extra : rebase_source : 52450808793a3be6abd04fe7be345d3ac1b608d3
2016-11-22 15:51:18 +13:00
Matt Woodrow
1c5f147c9f Bug 1318999 - Revoke MediaDataDecoder callback after RemoteVideoDecoder has been shut down. r=jya
--HG--
extra : rebase_source : 095eebbd7e2457a52aa7679d666ca10da3459259
2016-11-22 15:51:18 +13:00
Matt Woodrow
89ee34ca75 Bug 1316506 - Make RemoteVideoDecoder::Flush synchronous. r=billm
--HG--
extra : rebase_source : 1e0b6991a629de72248ac80dd64c30126d0c10fd
2016-11-22 15:50:46 +13:00
Matt Woodrow
50c5379ac8 Bug 1318083 - Make PVideoDecoder's ctor sync and fail if CreateVideoDecoder fails on the GPU process side. r=jya,dvander
--HG--
extra : rebase_source : 60a1e6686feaa1a841f5f822dfb0c91e220fe34f
2016-11-22 15:44:38 +13:00
Kan-Ru Chen
f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Andi-Bogdan Postelnicu
aaf2063029 Bug 1317241 - Replace default bodies of special member functions with = default in dom/. r=baku
MozReview-Commit-ID: 12AHOhrpaNO

--HG--
extra : rebase_source : 7881277a13fe7389b95635ee9b94f1686f56d142
2016-11-14 11:40:37 +02:00
Andi-Bogdan Postelnicu
4df235170d Bug 1317241 - Use auto type specifier where aplicable for variable declarations to improve code readability and maintainability in dom/. r=baku
MozReview-Commit-ID: CST7fV4h20h

--HG--
extra : rebase_source : 663d24e9c15d7b42023f1557b75fb8dabfc9b6a9
2016-11-14 11:35:58 +02:00
Matt Woodrow
f5f8e37990 Bug 1316506 - Make Shutdown block on the manager thread so that we clear the callback pointer immediately. r=dvander 2016-11-13 16:09:35 +13:00
Matt Woodrow
a9d4c7433e Bug 1316771 - Don't hold a KnowsCompositor ref on the video manager thread since we don't want it to outlive the main thread ref. r=dvander 2016-11-13 14:19:02 +13:00
Matt Woodrow
ab12db3032 Bug 1316221 - Null check mDecoder in RecvShutdown. r=dvander 2016-11-11 15:03:04 +13:00
Matt Woodrow
77e78d9558 Bug 1316221 - Force VideoBridge shutdown to happen before the compositor thread is destroyed. r=dvander 2016-11-11 15:02:32 +13:00
Matt Woodrow
808b23cf14 Bug 1316221 - Make sure we call Close on VideoBridgeChild before shutting down. r=dvander 2016-11-11 15:01:36 +13:00
Matt Woodrow
815b1ded77 Bug 1315144 - Add new non-fatal media error so that we recreate decoders when the GPU process crashes. r=jya 2016-11-08 15:22:37 +13:00
Matt Woodrow
f880884b57 Bug 1315510 - Automatically recreate VideoDecoderManager if the GPU process crashes. r=dvander 2016-11-08 15:21:35 +13:00
Bill McCloskey
b47737ed9f Bug 792652 - Move FatalError to IProtocol (r=dvander)
This patch moves FatalError to IProtocol. I had to make a few changes.
- I added a ProtocolName() method to find the name of the protocol.
- I gave the two-argument version of FatalError its own name. Otherwise
  C++ doesn't like there to be two virtual methods with the same name
  in cases where one is overridden and the other isn't (as happens
  in IToplevelProtocol).
2016-11-08 15:22:45 -08:00
Bill McCloskey
4e78a26c74 Bug 792652 - Simplify IPDL type hierarchy (r=dvander)
Currently all our protocols inherit from IProtocolManager<IProtocol>. I have
no idea why. This patch switches everything over to IProtocol, without any
templates. I had to move ReadActor to the .cpp file to avoid redefinition
errors.
2016-11-08 15:22:34 -08:00
Wes Kocher
4b3d16605a Backed out 18 changesets (bug 792652) for build bustage on linux64 a=backout CLOSED TREE
Backed out changeset 90eaf6aec002 (bug 792652)
Backed out changeset ddd915ab4a48 (bug 792652)
Backed out changeset 95eff6c45cae (bug 792652)
Backed out changeset 75855b5a9ab9 (bug 792652)
Backed out changeset b658ebaad5d7 (bug 792652)
Backed out changeset 2ba36b8ac60c (bug 792652)
Backed out changeset 94fcd3bf3f34 (bug 792652)
Backed out changeset cf9c4164eb43 (bug 792652)
Backed out changeset 59e6d0a4f35b (bug 792652)
Backed out changeset bdf86b8b9c43 (bug 792652)
Backed out changeset 8edf4b247250 (bug 792652)
Backed out changeset 63a3c8e4016e (bug 792652)
Backed out changeset e3e496eab991 (bug 792652)
Backed out changeset 5a1e3136323a (bug 792652)
Backed out changeset dbbe3a8c00e7 (bug 792652)
Backed out changeset 1829d5358808 (bug 792652)
Backed out changeset 004cd692ba6d (bug 792652)
Backed out changeset 92e7fee81fa2 (bug 792652)
2016-11-08 12:05:28 -08:00
Bill McCloskey
35fc224b71 Bug 792652 - Move FatalError to IProtocol (r=dvander)
This patch moves FatalError to IProtocol. I had to make a few changes.
- I added a ProtocolName() method to find the name of the protocol.
- I gave the two-argument version of FatalError its own name. Otherwise
  C++ doesn't like there to be two virtual methods with the same name
  in cases where one is overridden and the other isn't (as happens
  in IToplevelProtocol).
2016-11-08 11:32:30 -08:00
Bill McCloskey
2dc5f495db Bug 792652 - Simplify IPDL type hierarchy (r=dvander)
Currently all our protocols inherit from IProtocolManager<IProtocol>. I have
no idea why. This patch switches everything over to IProtocol, without any
templates. I had to move ReadActor to the .cpp file to avoid redefinition
errors.
2016-11-08 11:32:24 -08:00
Phil Ringnalda
27a5b8d2ae Backed out changeset d537051ade6a (bug 1315510) for nsTArray_base leaks and a fondess for crashing
CLOSED TREE

MozReview-Commit-ID: KD3jAkCg0O7
2016-11-07 22:18:21 -08:00
Phil Ringnalda
6c8fce2953 Backed out changeset 9ee070ee6dad (bug 1315144) to get at the patch below it
CLOSED TREE

MozReview-Commit-ID: 3d5vSfNXqO4
2016-11-07 22:17:28 -08:00
Matt Woodrow
f75e8a0868 Bug 1315144 - Add new non-fatal media error so that we recreate decoders when the GPU process crashes. r=jya 2016-11-08 15:22:37 +13:00
Matt Woodrow
7afb98ff2b Bug 1315510 - Automatically recreate VideoDecoderManager if the GPU process crashes. r=dvander 2016-11-08 15:21:35 +13:00
Matt Woodrow
6dad1a961a Bug 1300676 - Part 3 - Implement readback for GPU videos. r=dvander,nical 2016-11-04 13:28:28 +13:00
Matt Woodrow
4f998dbe2b Bug 1300676 - Part 1: Allow asynchronous deletion of Shmem for VideoDecoderManagerChild. r=dvander 2016-11-04 13:28:28 +13:00
Matt Woodrow
3b4d158ee3 Bug 1314189 - Only create a RemoteVideoDecoder if the current LayerManager is using the GPU process. r=dvander 2016-11-03 09:57:15 +13:00