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

369 Коммитов

Автор SHA1 Сообщение Дата
JW Wang 8f139e4859 Bug 1341200. Part 7 - merge ShutdownDecoderWithPromise() and ShutdownDecoder(). r=jya
MozReview-Commit-ID: 9YRwPJGqrhq

--HG--
extra : rebase_source : 01bc1131ae5443b794369d35c524d7a84aa6ab59
extra : intermediate-source : b46551e3810b5695e9ffd9f13858047ae77b0373
extra : source : d76c075fc8c0a3fa9d1e24aecfdb226b9ef232c8
2017-02-25 07:59:53 +08:00
JW Wang 9b1586e228 Bug 1341200. Part 6 - let ShutdownDecoderWithPromise() return void by tracking the shutdown promise. r=jya
MozReview-Commit-ID: GIYdLXZYEyk

--HG--
extra : rebase_source : 1e3f48b3bdc351e64b8a9820c8bed4734f7de912
extra : intermediate-source : e2807e0c4457e703161418113efbcce67ca89511
extra : source : 90a3f8649308d65e5da6e931f914c024fa92e66e
2017-02-25 07:49:29 +08:00
JW Wang f0f62f9c3c Bug 1341200. Part 5 - move the definition to .cpp as they will access ShutdownPromisePool in next patches. r=jya
MozReview-Commit-ID: 5Tvh1t4KyoV

--HG--
extra : rebase_source : e497b47e7d7497726b7d385e459ba5b2d982078b
extra : intermediate-source : 8f7c36f8638865781ff523d1c18c34f51bb96d9d
extra : source : f71a8765260b668c6580cd0e58af4c11a1a2918b
2017-02-24 17:27:42 +08:00
JW Wang e2351feb40 Bug 1341200. Part 3 - replace mShutdownRequest with a bool as P2. r=jya
MozReview-Commit-ID: ERERt0ZyvkC

--HG--
extra : rebase_source : a90adf0959c1458fd1ce8dd9c6a4ab52a45ec616
extra : intermediate-source : 0a68fd48e448382dcc4648ca30dd684e108eaf39
extra : source : 09844aff616c3b7ccd73fa01bcdc14d3529e35af
2017-02-24 17:19:12 +08:00
JW Wang f903aff319 Bug 1341200. Part 2 - replace mFlushRequest with a bool for mFlushRequest.Disconnect() is never used and a bool is sufficient to do the job. r=jya
MozReview-Commit-ID: GFnSvunqtGq

--HG--
extra : rebase_source : 81b168157e04c455d8876c8e2504fad79b889cb8
extra : intermediate-source : aa57748660c8b5858c64ae07e77a60a5114a33fc
extra : source : 20371ccdf3c1f19ae2836e693a8b669a40f9e7a4
2017-02-24 17:04:32 +08:00
JW Wang 93af428900 Bug 1343433 - Label runnables in dom/media/MediaFormatReader.cpp. r=jya
MozReview-Commit-ID: 6BWmq4m18va

--HG--
extra : rebase_source : 98afbe450076333e5b31fcfc6754e50455b3e58b
extra : source : 08dd512f362d7275e0f729016ba2f3df2d2543a4
2017-03-01 11:58:39 +08:00
JW Wang d6ee299185 Bug 1343732 - use SystemGroup::Dispatch() in ~AutoTaskQueue(). r=jya
MozReview-Commit-ID: IWFs5e8U7VQ

--HG--
extra : rebase_source : e71ae9b777ad8fd421d5a66cefc0086b28af8967
extra : source : 221546a238788a744703380c6023efdf741c48cb
2017-03-01 13:02:29 +08:00
Jean-Yves Avenard 88913538dd Bug 1313548: P3. Return early of we're not longer waiting for a key. r=gerald
The next run of Update would have cleared the mWaitingForKey flag, may as well do it early.

MozReview-Commit-ID: DXiqSDAxnnz

--HG--
extra : rebase_source : ecdaaab1560d3e4637bbc05689cb9ab91294ae7c
2017-02-24 15:00:39 +01:00
Jean-Yves Avenard e1903d15ee Bug 1313548: P2. Add additional information in dump data. r=gerald
MozReview-Commit-ID: 1OndEp1ZQ9u

--HG--
extra : rebase_source : c7567123a8087fbd8ce0af91932570e7e1b072be
2017-02-23 14:43:01 +01:00
Jean-Yves Avenard 2a41ec036c Bug 1313548: P1. Always resolve waiting promise, when clearing waitforkey. r=gerald
MozReview-Commit-ID: 6xu8Rcn9WMO

--HG--
extra : rebase_source : 54f99f2d4fc6370ee64a6e3dc0bec69f5edc9085
2017-02-23 14:10:12 +01:00
Gerald Squelart a39a22468d Bug 1343152 - Move TrackTypeToStr(TrackInfo::TrackType) to MediaInfo.h/cpp - r=jya
MozReview-Commit-ID: 57U5ySHsIn1

--HG--
extra : rebase_source : d244ff6ec9564eade25858743cec29d0ddcf40bb
2017-02-27 17:15:36 +11:00
JW Wang 92c225d322 Bug 1340969. Part 2 - remove MFR::mShutdownPromise by using promise chaining. r=jya
MozReview-Commit-ID: 6Oa1yar80aH

--HG--
extra : rebase_source : e5fba9cea0ea6c2263d676e8328da50ab335a8d9
extra : intermediate-source : af2cfe6e4c5bb36d5016a2de1c1193aa2ddee0b0
extra : source : 0f94c4404ea9dce4904fb40b215314932f5211aa
2017-02-17 19:34:03 +08:00
JW Wang 8f2e3bc3e5 Bug 1340969. Part 1 - add ShutdownPromisePool to manage ShutdownPromises. r=jya
MozReview-Commit-ID: KAr3Fe8Aeqi

--HG--
extra : rebase_source : 3c8d93653f8974d69b356ef49a360105efae28a0
extra : intermediate-source : 5ca91530155e9bae43a349acd30e8e591d1ca928
extra : source : e77a4d9d8c7bfedbe43933781c9090681fdff9af
2017-02-17 19:29:43 +08:00
JW Wang a64a631925 Bug 1340943. Part 2 - add LocalAllocPolicy which enforces the order of decoder creation and shutdown. r=jya
MozReview-Commit-ID: 4zSG6DswYO5

--HG--
extra : rebase_source : 61acbfd7715e44f61cb9491d7e4be91fed2fb9a4
extra : intermediate-source : 997a2676577f6349a4340dfc1000701edd611597
extra : source : be74953cc1379554737c1092678c3b63f4bf5dfd
2017-02-17 18:30:39 +08:00
JW Wang 1b99abd90e Bug 1340943. Part 1 - rename DecoderAllocPolicy to GlobalAllocPolicy. r=jya
MozReview-Commit-ID: DJJwa56TXlC

--HG--
extra : rebase_source : d8c9e43fe8c385dd6dca3f06db68a96ddb97cdb0
extra : intermediate-source : 4c6a9976d82b1c831f174556d61b218d9ba63784
extra : source : b84270ab19c601a4c33bce0e054b9f2724f91004
2017-02-17 16:06:45 +08:00
JW Wang 26791eec24 Bug 1340942. Part 4 - pass Data& to DoInitDecoder(). r=gerald
MozReview-Commit-ID: IwlpxR2MuRE

--HG--
extra : rebase_source : 55418d1358ec370f69baa2c56401f752f3117b0c
extra : source : d6ff310f1def862376f77eb2e3a98d44984e2b22
2017-02-17 15:21:46 +08:00
JW Wang a9cf757728 Bug 1340942. Part 3 - pass Data& to DoCreateDecoder. r=gerald
MozReview-Commit-ID: ABHu0tp57AM

--HG--
extra : rebase_source : bcd7979839dfd8773f8cca89a225932a3afe35e9
extra : source : ebde79529e6725fd46ffefbdda375ece5a7689a8
2017-02-17 15:17:22 +08:00
JW Wang 47716779ec Bug 1340942. Part 2 - pass Data& to RunStage(). r=gerald
MozReview-Commit-ID: DAALmMBhoep

--HG--
extra : rebase_source : c93148be805745db1639d179e9814907cfb0b225
extra : source : cbc4fdebd0ca1245ae2f074f569bed0cd2b4c2c6
2017-02-17 15:14:53 +08:00
JW Wang 8a8490a7c9 Bug 1340942. Part 1 - add some members so we don't have to pass the track type around. r=gerald
MozReview-Commit-ID: Ewipsg8FFqb

--HG--
extra : rebase_source : dae5cbe33db8873da0bfbf8caf2163780767229c
extra : source : aea7d0f1ef2eafc50c5a62a7447f19d911228152
2017-02-17 14:48:42 +08:00
Tom Tromey d2667a2b27 Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
MozReview-Commit-ID: 2E8FoiNxU8L

--HG--
extra : rebase_source : 810ac727bef0751f24edea18c52e0ec170bf367d
2016-12-14 09:32:21 -07: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
JW Wang 516d2e93db Bug 1340073 - Remove DecoderAllocPolicy::mTrack. r=gerald
MozReview-Commit-ID: IPe7K3FEZpS

--HG--
extra : rebase_source : 98f176660fa43451b6c4c1a2ea97025e14fc63fa
2017-02-16 15:55:20 +08:00
Jean-Yves Avenard 7a7dc2c2ed Bug 1336431: P5. Re-add ConfigurationChanged API. r=JamesCheng
We need to inform the MediaDataDecoder that a new sample configuration has been detected.
To do so, and to ensure that samples are easily matched to a given configuration, we first drain the decoder prior feeding a new frame.

MozReview-Commit-ID: Hye251CF21i

--HG--
extra : rebase_source : d6e5be74a6678cef0ff4c798fac91d95911be70a
2017-02-13 11:15:54 +01:00
Jean-Yves Avenard 36471a6bc1 Bug 1336431: P4. Rename SharedTrackInfo. r=gerald
into TrackInfoSharedPtr to better indicate what this class is about.
Adding cast operator to allow transparent conversion from TrackInfoSharedPtr to const TrackInfo*

MozReview-Commit-ID: 6RwXl5CG0fG

--HG--
extra : rebase_source : b5a7a0f06793c609e2eab60aacc4f76d96d6ec32
2017-02-13 19:18:05 +01:00
Jean-Yves Avenard e7fc412909 Bug 1337559: P5. Only continue drain once all pending frames are processed. r=gerald
While reducing total peak memory usage, it also allows to start processing frames as they come without having to wait on the decoder to have processed all frames at once. This is particularly an issue on windows where the decoder will block the entire decode task queue while a YUV->RGB conversion is occurring.

MozReview-Commit-ID: QQDpUoj0PS

--HG--
extra : rebase_source : bc2fc4e29a2b943a71f8c8450aad1cd162375bd6
2017-02-10 23:46:58 +01:00
Jean-Yves Avenard 2a23d10d73 Bug 1337559: P2. Rework draining in MediaFormatReader. r=gerald
We now use a generic state rather than various booleans.
We handle partial drains better too.

MozReview-Commit-ID: AJSTcJivfEm

--HG--
extra : rebase_source : 26386cea20b97f1f76df829241b091ba837b301a
2017-02-09 15:31:44 +01:00
Jean-Yves Avenard bb51f92016 Bug 1336947: P2. Fix coding style. r=gerald
MozReview-Commit-ID: 74OQ6GxSFWX

--HG--
extra : rebase_source : 307827dc3e1d624ee8a13044e2d352ae5826ff3c
2017-02-07 23:27:56 +01:00
Jean-Yves Avenard c0888afdbe Bug 1336947: P1. Drain decoder until no more data is returned. r=gerald
It may not be possible for a decoder to return all drained samples in one go. This is particularly a problem on android where there's a limited amount of memory buffers available.

So we no longer expect the operation to complete in one go, we call Drain until there are no more samples returned.

MozReview-Commit-ID: GbfntKNBDaW

--HG--
extra : rebase_source : 6b7dc19e1acf348d41d5f96cf575fa2e7dffdd3b
2017-02-07 15:36:20 +01:00
Jean-Yves Avenard b7844bd5c3 Bug 1319987: P9. More coding style fixes. r=gerald
MozReview-Commit-ID: DhFRqkWQZny

--HG--
extra : rebase_source : 03ed44efc83fe9cab7fc975229ac4e5746aff96b
2017-01-27 13:20:37 +01:00
Jean-Yves Avenard e2abc1a523 Bug 1319987: P7. Re-implement handling for WaitingForKey in MFR. r=cpearce,gerald
MozReview-Commit-ID: FCiAO54oiH3

--HG--
extra : rebase_source : 898e175742ae4db13c48cf75463a9775968b0030
2017-01-27 11:48:00 +01:00
Jean-Yves Avenard 5e2e07649c Bug 1319987: P6. Shutdown demuxer asynchronously. r=gerald
This prevents the demuxer attempting to use the parent resources once the parent has been shutdown.

MozReview-Commit-ID: LQqPxBkAfAS

--HG--
extra : rebase_source : 1a9c2e870aecb5b0ecb68d5f600c48334ac4d312
2017-01-26 18:17:15 +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
Jean-Yves Avenard d144f37888 Bug 1319987: P1. Remove handling for WaitingForKey in MFR. r=cpearce
This is not compatible with promise based decoders. We'll re-implement it in a different fashion later on.

MozReview-Commit-ID: HYBNKVxEUmB

--HG--
extra : rebase_source : fe9f26e47b77a64099a422be844d20f4108663d0
2016-12-20 18:53:39 +11:00
Jean-Yves Avenard 95b4a438ea Bug 1335624: Check mDecoder. r=gerald
Revert commit dd429b170253 (bug 1335390)

Fix CID 1399621

MozReview-Commit-ID: 571uyotVb5c

--HG--
extra : rebase_source : d7095510f2c0006afc6ac16676bf7f03268abbd8
2017-02-01 13:25:12 +01:00
Andi-Bogdan Postelnicu d326016419 Bug 1335390 - prevent nul pointer dereference in parameter initialisation. r=baku
MozReview-Commit-ID: H2RrwojBug

--HG--
extra : rebase_source : e9bbb215095d09e7920a3063ca18b4d0114d4387
2017-02-01 15:20:45 +02: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
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
JW Wang 3cb12fa50d Bug 1331554. Part 2 - remove the call to ScheduleUpdate(). r=jya
ScheduleUpdate() will be called when we have new decoding requests.

MozReview-Commit-ID: FkOc4zQmfSo

--HG--
extra : rebase_source : c36133d7fd1a64daabfd6d5fba445ad42b1a47cf
extra : intermediate-source : a610694bfb7a7d58c7633913d4ac1ce33f46bcd2
extra : source : 36f4a436f1750087f848e4cb68104015ef0284f6
2017-01-16 15:21:45 +08:00
JW Wang 747461d835 Bug 1331554. Part 1 - print logs only when decoder.mIsBlankDecode is going to change. r=jya
MozReview-Commit-ID: 9vExcUapFOb

--HG--
extra : rebase_source : 9d10701d7d7dd973272f24c3ef02d2825c7448b8
extra : intermediate-source : ec68e23b75cc3e4ffcc1304a8f74b8b7348bd8f6
extra : source : 2b4b139920482a0d5dcfbbfa461cc093d32a3ae1
2017-01-16 15:20:10 +08:00
JW Wang 4f5754ca55 Bug 1328130. Part 2 - remove MozPromiseRequestHolder::Begin(). r=gerald
MozReview-Commit-ID: JL27n0Era6E

--HG--
extra : rebase_source : e6de76db3fb35b110370497f4060ea1c3f527f23
extra : intermediate-source : 5bc39a45ef042b895a5abda59cc0796e8cfb4be3
extra : source : a7f7faded7b112e8a971ca96b091a9a22214a2bb
2017-01-11 16:33:29 +08:00
JW Wang 155621f9d6 Bug 1319295. Part 2 - reject the seek promise with WAITING_FOR_DATA so MDSM has a chance to call WaitForData() and seek again. r=jya
MozReview-Commit-ID: I8A0rQMcTya

--HG--
extra : rebase_source : 85ef759034d44e02d653a5aa71fd75fb01bb8035
extra : intermediate-source : 7a82d4beffd3247d12e13a6c11232dfa94db4d28
extra : source : 84a184466957ecf4f2107b94ca2261f706e6da5b
2016-12-16 17:30:28 +08:00
JW Wang e6e5696cf4 Bug 1319295. Part 1 - add a field to identify audio or video seek failures. r=jya
MozReview-Commit-ID: 3PXlISED4tm

--HG--
extra : rebase_source : 18f1b074cacdacdc4dff270662e4609cdff94b76
extra : intermediate-source : 4205a6383c79d09f962853d8b4d8ddb5797bc79e
extra : source : 2e98d6a4761e4b42311fc50b9a5bcb55741eda34
2016-12-16 16:57:27 +08:00
Kaku Kuo 5c4d2f2a1d Bug 1324357 - Remove MediaDecoderReader::ForceZeroStartTime(); r=jya
MozReview-Commit-ID: Cm511lpJQ4W

--HG--
extra : rebase_source : c9d1a5a66b787ffffc221c194bb18559c006fa4b
2016-12-21 14:58:38 +08:00
Jean-Yves Avenard c1797cf144 Bug 1319992: P4. Use Mutex in place of Monitor. r=jwwang
MozReview-Commit-ID: 79z6EtZQhYu

--HG--
extra : rebase_source : c0b7bc861641178539cab15da843d0b4d6ae416e
2016-11-30 01:50:08 +11:00
Jean-Yves Avenard 20853d0607 Bug 1319992: P3. Remove no longer used seeking argument. r=jwwang
MozReview-Commit-ID: 9Oc0SHX0Rw2

--HG--
extra : rebase_source : 845ab6daa4414e57d5ce02dee1424df29d3b962d
2016-11-30 01:42:50 +11:00
Jean-Yves Avenard c9d75c91a6 Bug 1319992: P1. Run demuxing operations on its own task queue. r=jwwang
We runs all demuxing operations on a dedicated task queue.
MediaDataDemuxer's members using a synchronous API are handled via thread-safe copy that are updated along the operations.

The buffered range calculation is now handled separately and the entire operation is made asynchronous.

MozReview-Commit-ID: Gd4DCC8Ix6n

--HG--
extra : rebase_source : b90bad0a386c2a1e30acc00e3db9db6b6762aa3b
2016-11-28 21:08:01 +11:00
Sebastian Hengst eda03c6bbf Backed out changeset f3ac066c3741 (bug 1319992) for failing test_eme_stream_capture_blocked_case1.html. r=backout 2016-12-19 12:39:21 +01:00
Sebastian Hengst e1bd6fb711 Backed out changeset 3cfdc09bf851 (bug 1319992) 2016-12-19 12:38:32 +01:00
Sebastian Hengst 05f0d649cb Backed out changeset 2ae0864c76bc (bug 1319992) 2016-12-19 12:38:28 +01:00
Jean-Yves Avenard 8591c2a530 Bug 1319992: P4. Use Mutex in place of Monitor. r=jwwang
MozReview-Commit-ID: 79z6EtZQhYu

--HG--
extra : rebase_source : 925b627288e6a7237982ea11f76f99c04e782b39
2016-11-30 01:50:08 +11:00