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

509 Коммитов

Автор SHA1 Сообщение Дата
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
Jean-Yves Avenard 65b1f05d4a Bug 1319992: P3. Remove no longer used seeking argument. r=jwwang
MozReview-Commit-ID: 9Oc0SHX0Rw2

--HG--
extra : rebase_source : 40faa64eab2d6ba65d092d5709103eb6daa30565
2016-11-30 01:42:50 +11:00
Jean-Yves Avenard c5eae5a4c0 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 : 6a18ce2552bf4cbf88e9b8db1c9a87e70623fd15
2016-11-28 21:08:01 +11:00
Carsten "Tomcat" Book c6f3dc11fc Backed out changeset 781555873370 (bug 1319992) for frequent test failurs in mediasource-endofstream.html 2016-12-16 12:41:41 +01:00
Carsten "Tomcat" Book ba4d31d333 Backed out changeset ab31c60d46d7 (bug 1319992) 2016-12-16 12:41:08 +01:00
Carsten "Tomcat" Book 96bde6ffe2 Backed out changeset 49877fd60322 (bug 1319992) 2016-12-16 12:41:06 +01:00
Carsten "Tomcat" Book 733406a32d Backed out changeset 96f486d2a6c7 (bug 1323913) 2016-12-16 12:41:03 +01:00
Jean-Yves Avenard d78d68e62a Bug 1323913: Make members const. r=gerald
MozReview-Commit-ID: 9AZIGB2vgEp

--HG--
extra : rebase_source : c20f644ce16a9119fa475112d21d6d3a4e873394
2016-12-16 14:29:59 +11:00
Jean-Yves Avenard 51407b155e Bug 1319992: P4. Use Mutex in place of Monitor. r=jwwang
MozReview-Commit-ID: 79z6EtZQhYu

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

--HG--
extra : rebase_source : 0cea32ef23a47b5ed3b2439f2efa268ec66a523c
2016-11-30 01:42:50 +11:00
Jean-Yves Avenard a0a96efb0f 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 : fb157f58e38c2f3199ed96095634bf8e4ab6065b
2016-11-28 21:08:01 +11:00
JW Wang d4d5d4d5bb Bug 1321744. Part 3 - remove ThenPromise and replace its use with Then. r=gerald
MozReview-Commit-ID: AsmePdCp2tC

--HG--
extra : rebase_source : e08ac48584375d2bc12f5b73a1e60f2800359ed9
extra : intermediate-source : 94e727f7cd11bb04812da3662a0ee1fd461cc832
extra : source : 5307716231f93b01c0357011f8849015d4d97d0a
2016-12-04 08:51:25 +08:00
JW Wang c1ec600a1a Bug 1321471. Part 1 - Use of MozPromise::ThenPromise() in place of CompletionPromise(). r=jya.
MozReview-Commit-ID: INbGpzwK4f9

--HG--
extra : rebase_source : 76942aa9741f2ce59f6208cfb0699ad3718a25d4
extra : intermediate-source : 61f3ade0fb73f6318ae616393d66e3dc21d68323
extra : source : 92e78c9b199b252da5d219f8d68902ce353aa4c7
2016-11-30 18:19:26 +08:00
James Cheng 4724a58460 Bug 1299105 - Part 2: Make Part 1 works behind a pref. r=jya
MozReview-Commit-ID: AcEFAGP8kuR

--HG--
extra : rebase_source : e537acd0311a9f2a0746a5b8306292cdc04d05ac
2016-11-29 15:03:14 +08:00
James Cheng 71d701898a Bug 1299105 - Part 1: Check if the decoder support recycling to prevent from recreating decoder. r=jya
MozReview-Commit-ID: 7Xj6tSnGM81

--HG--
extra : rebase_source : 9f4f6f5161c6bee34bffa0da4aa7b77052c1239c
2016-11-25 14:22:40 +08:00
JW Wang 114ec342ad Bug 1315631 - Don't dispatch |this| in the constructor. r=jya
Because it will change the ref-count which might cause destructor to run before exiting the constructor.

MozReview-Commit-ID: MMIea970Dv

--HG--
extra : rebase_source : faf898a3107706bc0ea750e738d8c3a7a3824264
2016-11-08 23:09:34 +08:00
JW Wang 6a43760ea7 Bug 1320258. Part 2 - remove MediaDecoderReader::UpdateBufferedWithPromise(). r=jya
Bug 1313635 ensures buffer ranges are updated before resolving metadata.
So we can revert the changes in bug 1251460.

MozReview-Commit-ID: Ek0sgPpv92s

--HG--
extra : rebase_source : 79b457167d5b987280083364afe31b31860b48fe
extra : intermediate-source : 9205ca61bb2255e33744af7ec4e13059f275960c
extra : source : 14d155274dc4e0d2daa8a90b1bbb15f975d7ac24
2016-11-25 16:22:55 +08:00
Kaku Kuo 73e0bee6d2 Bug 1313635 part 1 - don't go through MediaDecoderReaderWrapper to set start time; r=jwwang,jya
MozReview-Commit-ID: KXz1veb7x1i

--HG--
extra : rebase_source : e11247aba37a9edaf9276b7cbbc70c9e867e4dcd
2016-11-25 16:47:02 +08:00
Gerald Squelart f2a26506fb Bug 1313497 - Use InvokeAsync with Storages in MediaDecoderReaderWrapper - r=jya
Thanks to this, MediaDecoderReader::Seek and overrides can take SeekTarget by
const&.

MozReview-Commit-ID: C5D26jKrW3p

--HG--
extra : rebase_source : 6f6278654ff3c51f6331cbf683c22622223a8cd2
2016-11-13 17:42:19 +11:00
Eugen Sawin 746f46552c Bug 1317779 - [2.0] [bustage fix, CLOSED TREE] Mark implicit conversion constructors explicit. r=me 2016-11-22 18:30:59 +01:00
Eugen Sawin 9d373ec525 Bug 1317779 - [1.3] Separate audio and video decoder allocation policies. r=jwwang 2016-11-22 17:34:09 +01:00
James Cheng 11730376d7 Bug 1318225 - Part2 - Remove demux-only APIs. r=jya
MozReview-Commit-ID: ONS7mMr8mZ

--HG--
extra : rebase_source : a5ea2b94c664766064ca0c765347b4d8cd798cd2
2016-11-17 15:23:07 +08:00
Kaku Kuo dd76514a9c Bug 1309516 part 7 - modify the seek operation;r=jwwang
MozReview-Commit-ID: AZ9yK050ElM

--HG--
extra : rebase_source : 17b1e1ca2a28730420125c6c25e7c3573d883f4e
extra : source : 838786e0d0e26958e75a129a872e378bc21a7c4a
2016-10-16 22:15:29 +08:00
Kaku Kuo 784908b6e8 Bug 1309516 part 2 - replace MediaFormatReader::DemuxStartTime() with MediaInfo::mStartTime; r=jya
MozReview-Commit-ID: JzO0Yv33ljL

--HG--
extra : rebase_source : e59bc8aa168dfda9ec5e41fd81bd98a2b9391663
extra : intermediate-source : cca0e5eaf29e7cfdc32f8b66e217e0d8fb0fd0ea
extra : source : 6af01ba877814a43b68bc004b0e28160216e7367
2016-10-14 17:09:04 +08:00
Kaku Kuo 5bc83d3772 Bug 1309516 part 1 - retrieve start time before resolving the metadata promise; r=jya
MozReview-Commit-ID: FhnoFi1BSHM

--HG--
extra : rebase_source : 3c1a1efa936fa0f4decdfb12c90bcce607c5edba
2016-10-27 15:21:05 +08:00
Matt Woodrow c9d5c63412 Bug 1316506 - Make sure we flush decoders before shutting them down. r=jya 2016-11-13 14:18:28 +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
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 9775890c70 Bug 1315581 - Notify MediaFormatReader when the compositor gets recreated. r=jya,smaug,jw_wang 2016-11-08 15:23:12 +13: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
JW Wang 064360e846 Bug 1314787 - Remove function-static race from DecoderAllocPolicy::Instance(). r=gerald
MozReview-Commit-ID: 7XfaUZo3oh9

--HG--
extra : rebase_source : 532dd73fbf27afd93fd64683b6460e29e16b390e
2016-11-03 09:56:17 +08:00
JW Wang 9be13f02e3 Bug 1312337. Part 4 - remove ReaderQueue and its friends. r=jya
MozReview-Commit-ID: Gg4IOPdjEeS

--HG--
extra : rebase_source : 318feb3ce9f84761925c705bfdddbc03a20b10bb
extra : intermediate-source : afd483164d7e4801d320683fe87404284a972f4f
extra : source : bea439fcb268af70b1cbcde7169d9184df167242
2016-10-27 16:06:05 +08:00
JW Wang 811508fa12 Bug 1312337. Part 3 - employ DecoderAllocPolicy for controlling decoder creation. r=jya
MozReview-Commit-ID: JdDq1Y8oFn4

--HG--
extra : rebase_source : c5da13bc96ddfbdb9e899a64b2a2e9c32bceda2b
extra : intermediate-source : babc9ef39ddd7d0d3892282dc9e158e812d259ea
extra : source : 79f16bd2ecace7b8d4e69296a236544751a7d0e2
2016-10-27 15:16:06 +08:00
JW Wang d7adc92e17 Bug 1312337. Part 2 - implement a policy object to control the number of decoders to be created concurrently. r=gerald
MozReview-Commit-ID: 7D4PXedDC3D

--HG--
extra : rebase_source : 93f977f6543423eac79a2330d51e27aea2dfa6ee
extra : intermediate-source : 782d9f42291f3d089e5046a593d07f5073dc8830
extra : source : 421fdc7d95fcdd99d9d18dda4ab38568da7e2043
2016-10-28 17:43:19 +08:00
JW Wang 0a2d601dc2 Bug 1312337. Part 1 - move creation/initialization of decoders into DecoderFactory. r=jya
So m{Audio,Video}.mDecoder will never reference a half-baked decoder.

MozReview-Commit-ID: FwuzaRR9ugf

--HG--
extra : rebase_source : 32b13b5e3041072bb5e48e6a633281bd8df76a41
extra : intermediate-source : 3d5bc0ca507717f09e1429a5ea05f98e18b48dfc
extra : source : 039ed0007b2e63c381c1ad0f638eed5b4c53266f
2016-10-26 17:37:19 +08:00
Phil Ringnalda 21ca7c1c21 Backed out 8 changesets (bug 1309516) for Win8 wpt failures in content-security-policy/media-src/media-src-7_3.html
Backed out changeset 5cb98008b3e3 (bug 1309516)
Backed out changeset 9ddc65900391 (bug 1309516)
Backed out changeset a876261d2d38 (bug 1309516)
Backed out changeset a154fa107dd3 (bug 1309516)
Backed out changeset 35d6e08883d6 (bug 1309516)
Backed out changeset e39be827b220 (bug 1309516)
Backed out changeset 970694b0b279 (bug 1309516)
Backed out changeset 90409a433f31 (bug 1309516)
2016-10-28 18:47:49 -07:00
Kaku Kuo 58eac194d2 Bug 1309516 part 7 - modify the seek operation;r=jwwang
MozReview-Commit-ID: AZ9yK050ElM

--HG--
extra : rebase_source : 17f5e4e1ccabbbd67bcf4863cd246cb1f74138a1
extra : source : 838786e0d0e26958e75a129a872e378bc21a7c4a
2016-10-16 22:15:29 +08:00
Kaku Kuo 91131af039 Bug 1309516 part 2 - replace MediaFormatReader::DemuxStartTime() with MediaInfo::mStartTime; r=jya
MozReview-Commit-ID: JzO0Yv33ljL

--HG--
extra : rebase_source : 105f4dee594a259311dda7d62a46940981be45b4
extra : intermediate-source : cca0e5eaf29e7cfdc32f8b66e217e0d8fb0fd0ea
extra : source : 6af01ba877814a43b68bc004b0e28160216e7367
2016-10-14 17:09:04 +08:00
Kaku Kuo 419e05d29a Bug 1309516 part 1 - retrieve start time before resolving the metadata promise; r=jya
MozReview-Commit-ID: FhnoFi1BSHM

--HG--
extra : rebase_source : e43b7dc820f630e6c0420e04578f155793f6ef7a
2016-10-27 15:21:05 +08:00
Jean-Yves Avenard a7bf1da943 Bug 1312886: P6. Show waitingforkey state in about:media. r=cpearce
MozReview-Commit-ID: Bz8mylFCggb

--HG--
extra : rebase_source : 8b0dad98afb3611e8e911d8a0f1714c807821a42
2016-10-27 20:26:01 +11:00
Jean-Yves Avenard 5c9c0f65ba Bug 1312886: P5. Enter buffering mode when waiting for a key. r=cpearce
MozReview-Commit-ID: CB3e02WEJiz

--HG--
extra : rebase_source : 83afbb3fd36372ac3ba1907dec7454d73ac57f2e
2016-10-27 20:25:21 +11:00
Jean-Yves Avenard f0515f7a99 Bug 1311876: P1. Flush audio decoder when error occurs. r=gerald
MozReview-Commit-ID: JaFfXj3xMat

--HG--
extra : rebase_source : b0929ead47ec912731a867b17ce17d59934f85c2
2016-10-26 08:48:47 +11:00
Jean-Yves Avenard 94530fa5a6 Bug 1312958: P2. Only delete the trackinfo object once the decoder has been shutdown. r=gerald
While it's unlikely to have been a problem as the decoder would have been idled at this stage. During the time the TrackInfo was reset and the decoder actually be shut down, the reference to the object would have been invalid causing a potential UAF.

MozReview-Commit-ID: 7pGJtYRy2Yr

--HG--
extra : rebase_source : d32b8ff393f55685ef182b00f286aea1d1d75464
2016-10-26 20:13:44 +11:00
Jean-Yves Avenard f1049dae10 Bug 1312958: P1. Do not modify original Audio/Video info. r=gerald
The issue is particularly problematic with the Apple audio decoder. The Apple decoder relies on the sampling rate to configure the CoreAudio transform.
The actual output rate may be different (such as with HE-AAC). Should the decoder ever need to be reset again, future initialization would have failed as the initial rate was now incorrect.

MozReview-Commit-ID: 7kTiaUYuOgf

--HG--
extra : rebase_source : 00119a13205c610542a2f690ce6c3b9caeb1b69c
2016-10-26 20:09:41 +11:00
Ryan VanderMeulen e980397fb4 Merge m-c to autoland. a=merge 2016-10-07 23:22:46 -04:00
Matt Woodrow a36eef926a Bug 1300682 - Part 5: Use KnowsCompositor to initialize decoders and create one for VideoDecoderParent to use. r=nical,jya 2016-10-07 21:13:33 +13:00
James Cheng 0fe5b0b71b Bug 1297003 - Part1-Store the error information in MediaResult while creating a/v decoders r=gerald
MozReview-Commit-ID: I6R4bX778n7

--HG--
extra : rebase_source : 66f0dc1dd4cfc91daec9790b51ce413ac669b931
2016-10-06 11:19:56 +08:00
Carsten "Tomcat" Book 762cd18602 Merge mozilla-central to autoland 2016-09-28 16:52:13 +02:00
Chris Pearce fe7b5b55fe Bug 1300069 - Consider a media encrypted if it contains a track with crypto metadata, rather than only if the media contains encryption init data. r=jya
Some encrypted MP4 streams don't contain PSSH boxes in their MOOV boxes, but
they still have tracks with valid TENC boxes which we still parse. So we need
to consider media encrypted if any of its tracks have crypto meta data, rather
than only if the media has crypto init data.

The WebM demuxer's crypto init data is all the tracks' crypto meta data, so
WebM isn't broken by this change.


MozReview-Commit-ID: 1qOi4uTtCE3

--HG--
extra : amend_source : 0f266976a3d65fb8dc720cd40d70bd6da1712420
2016-09-28 13:34:57 +13:00
James Cheng 48efb9caad Bug 1300654 Part1-Remove MOZ_EME from code base. r=cpearce,smaug
MozReview-Commit-ID: JboGO0w4tcE

--HG--
extra : rebase_source : abfe53f30081f74fc39c900cab48d08c7574bfec
2016-09-08 18:06:20 +08:00
Jean-Yves Avenard f8966bc13b Bug 1303673: P5. Provide warning when a MediaDataDecoder error occurs. r=cpearce
Warnings were provided earlier on and got removed. So we instead make it consistent across all decoders.

MozReview-Commit-ID: 53obtEClq98

--HG--
extra : rebase_source : f2e22e0d8ff33e8198b39f5a955b8f233a97daa6
2016-09-20 15:59:42 +10:00
Jean-Yves Avenard 96452b1a61 Bug 1299072: P19. Pass errors when we failed to create a decoder. r=gerald
MozReview-Commit-ID: 7eMfaCQiH5r

--HG--
extra : rebase_source : d8459be09567c00fc0d1b45f729432f4c2cb6351
2016-09-13 13:07:26 +10:00
Jean-Yves Avenard 70ed5282de Bug 1299072: P18. Use MediaResult with InitPromise. r=gerald
MozReview-Commit-ID: JiLgiyxvfNC

--HG--
extra : rebase_source : 4cc453a5fe7b1e4f4b865c31a24a5feed64df7e4
2016-09-13 13:06:18 +10:00
Jean-Yves Avenard ad3b418b6d Bug 1299072: P17. Return last decoding error once threshold reached. r=gerald
MozReview-Commit-ID: JbZkoErRFla

--HG--
extra : rebase_source : 95122ed1628685c20fe2a21840faaee5dc9dd010
2016-09-13 13:03:21 +10:00
Jean-Yves Avenard 20dc9102e8 Bug 1299072: P12. Use MediaResult for MediaDataDemuxer promises. r=gerald
MozReview-Commit-ID: JeQrmoHbb8m

--HG--
extra : rebase_source : 1f4581e5789f18b358a6f5bb5f8595cc7a75110b
2016-09-12 12:22:20 +10:00
Jean-Yves Avenard a3d152a719 Bug 1299072: P7. Use MediaResult with MetadataPromise. r=jwwang
MozReview-Commit-ID: KrRr8wDuPNT

--HG--
extra : rebase_source : 3df3763890a55c898ca3f00dd914e3c78fe714b1
2016-09-10 19:56:50 +10:00
Jean-Yves Avenard c590867926 Bug 1299072: P6. Pass decoding error details to MDSM and relatives. r=jwwang
MozReview-Commit-ID: 4ow2nF6Syz

--HG--
extra : rebase_source : d8cc561f42ca774b3a2865042392fb4a6aea82fa
2016-09-10 16:48:53 +10:00
Jean-Yves Avenard 3108deb75c Bug 1299072: P5. Don't rely on specific error to assess recoverability. r=jwwang
MozReview-Commit-ID: KSmW2TEBO9y

--HG--
extra : rebase_source : d85ea0f63ce2ce20b50b5c1f2a9e06c612e3e909
2016-09-10 10:49:54 +10:00
Jean-Yves Avenard f4efa8be06 Bug 1299072: P4. Return extended failure details to reader. r=gerald
We provide even further details for the GMP decoder. Other decoders to follow.

MozReview-Commit-ID: 7NxJPec8xWv

--HG--
extra : rebase_source : f44120983070e5c107ecd5cafc762da90aab44bf
2016-09-10 09:56:53 +10:00
Matt Woodrow 99bf9b18df Bug 1301294 - Remove unnecessary nsresult return value from MediaDataDecoder interface. r=jya 2016-09-09 15:50:37 +12:00
Jean-Yves Avenard d6a56e1228 Bug 1297265: P1. Remove decode ahead logic. r=kamidphish
The MediaFormatReader will no longer attempt to decode several frames in advance and ahead of the MDSM actually requesting it. The speed advantages were dubious at best, and as most MediaDataDecoders abused the use of InputExhausted callbacks we had to place artificial throttle that would often cause side effects.

As such, it is now expected that the MediaDataDecoder will now always call InputExhausted once Input has been called. InputExhausted indicates that the current decoding session has completed and the MediaDataDecoder is waiting for another input.

MozReview-Commit-ID: 9KUpNP9jozV

--HG--
extra : rebase_source : d261a5eb98de54d5bd29acb738c4205c56abca6b
2016-09-01 19:25:54 +10:00
Phil Ringnalda 9f470c98e5 Backed out 11 changesets (bug 1297265) for gtest timeouts during MediaDataDecoder.H264
Backed out changeset 04d9b7160ac9 (bug 1297265)
Backed out changeset c7bffd1ba7fd (bug 1297265)
Backed out changeset ad1915ff688b (bug 1297265)
Backed out changeset 67a97304d44d (bug 1297265)
Backed out changeset e6b9e6184457 (bug 1297265)
Backed out changeset 30636ac0790f (bug 1297265)
Backed out changeset cc70d3a139bc (bug 1297265)
Backed out changeset 345a577c92a1 (bug 1297265)
Backed out changeset ec1f3ac8751c (bug 1297265)
Backed out changeset da9117375d2e (bug 1297265)
Backed out changeset dd4c7aafcc3d (bug 1297265)
2016-08-31 19:49:28 -07:00
Jean-Yves Avenard 20189a5b95 Bug 1297265: P1. Remove decode ahead logic. r=kamidphish
The MediaFormatReader will no longer attempt to decode several frames in advance and ahead of the MDSM actually requesting it. The speed advantages were dubious at best, and as most MediaDataDecoders abused the use of InputExhausted callbacks we had to place artificial throttle that would often cause side effects.
As such, it is now expected that the MediaDataDecoder will now always either return a decoded sample or call InputExhausted. Never both.

MediaDataDecoder will continue to work as-is, even if they call InpuxExhausted too many times as the MediaFormatReader will only feed a single sample at a time.

MozReview-Commit-ID: 9KUpNP9jozV

--HG--
extra : rebase_source : ebb919fd3f1ce1adf5d08ed3f4292839b84c8321
2016-08-30 15:15:30 +10:00
Kaku Kuo 8f72f1ce87 Bug 1286454 part 4 - remove DecoderData::mDiscontinuity since it leads to nothing now; r=jwwang
MozReview-Commit-ID: I6Qzq1p6GyT

--HG--
extra : rebase_source : 796fa9611c31068cec69b631b26e542ae1cf4295
2016-08-25 18:18:22 +08:00
Kaku Kuo fcd9df9127 Bug 1286454 part 1 - remove MediaData::mDiscontinuity; r=jwwang
This member is only assigned but never used now.

MozReview-Commit-ID: IbuAbRaXzc4

--HG--
extra : rebase_source : 166bd3bc7478f725b64b5b2a0e8e258980674d06
2016-08-25 20:30:02 +08:00
Jean-Yves Avenard 90f7e263a7 Bug 1297036: P3. Revert "Bug 1293646: [MSE] P2. Only reject a seek request with EOS if it's passed the explicit duration." r=gerald
This reverts commit 5a949eb358e27

Another more complete solution will follow.

MozReview-Commit-ID: K3lTdrBxW7W

--HG--
extra : rebase_source : d0f9443193b0816ae85972a4a368599b872fd437
2016-08-26 19:30:50 +12:00
JW Wang 2fa66fff7d Bug 1295906 - Remove the call to |mVideoFrameContainer->ClearCurrentFrame()| from ReleaseResources(). r=jya
ReleaseResources() is called when MDSM enters dormant or during shutdown.

When it is called in response to dormant request, we don't want to clear
current frames so we are able to enter dormant state more aggressively
even when the media element is visible to the user.

When it is called from MediaDecoderReader::Shutdown(), it doesn't really
call ClearCurrentFrame() because MediaFormatReader::Shutdown clears the
|mVideoFrameContainer| pointer. So it doesn't make a difference to remove
the call.


MozReview-Commit-ID: IakGHbSMWTv

--HG--
extra : rebase_source : 7a25de39e04f5c7728bf65fcd447cc67b7a85411
extra : source : 44ff0ffaf63ad51a7a382cf0ee1c16e64ade63b9
2016-08-17 17:11:19 +08:00
Iris Hsiao 1db439cf3b Backed out changeset d6d2cc94bb92 (bug 1295906) for M-e10s crashes on Windows 7 debug 2016-08-23 15:39:20 +08:00
JW Wang 144902b400 Bug 1295906 - Move |mVideoFrameContainer->ClearCurrentFrame()| out of MediaFormatReader::ReleaseResources(). r=jya
MozReview-Commit-ID: E0bm0zNoaZ7

--HG--
extra : rebase_source : bf9705ba84b99745adc91fae96495f1b13f4d5ea
2016-08-17 17:11:19 +08:00
Bryce Van Dyk bf4a449efb Bug 1145011 - Implement waitingforkey event. r=jya
Bubble information from SamplesWaitingForKey to an HTMLMediaElement so that we
can emit a waitingForKey event. If we are unable to decode more samples due to
needing a key the event will be signalled. See
http://w3c.github.io/encrypted-media/#dom-evt-waitingforkey for more information
on this event.

The code in place before this patch handles updating readyState when we are
waiting for a key, this patch adds the event which should be emitted in such a
case. The spec defines certain preconditions should be the case before running
the algo to emit this event. For example, the element should potentially be
playing, and it should have at least HAVE_FUTURE_DATA ready state. This is not
strictly true for when the new code is run, due how existing code handles ready
state. We are honoring the spirit of the spec, though the letter of the spec is
lightly gone against in the handling of the preconditions.

MozReview-Commit-ID: LKlDd4wkRSE

--HG--
extra : rebase_source : 2c61fc41636e430afa23240ad5d26c886124d87f
2016-08-22 08:51:01 +12:00
JW Wang ecaa7b7a0d Bug 1295901 - Change the semantics/naming of MediaDecoderReader::ReleaseMediaResources(). r=jya
MozReview-Commit-ID: DyOwNcC2JK5

--HG--
extra : rebase_source : 5b14dfe1df7ed9eab1783fba64ff4a481e520339
2016-08-17 15:03:30 +08:00
JW Wang ffe7c10202 Bug 1295541 - Move mInitPromise.DisconnectIfExists() into DecoderData::ShutdownDecoder(). r=jya
MozReview-Commit-ID: 67MvFfSU73X

--HG--
extra : rebase_source : b959219122e8041745d3ef191e68fbfe7a2e1fb0
2016-08-16 19:08:24 +08:00
JW Wang f59d74c259 Bug 1295146 - add assertions to debug null-deref. r=jya
MozReview-Commit-ID: 966DpcaT1p8

--HG--
extra : rebase_source : 79a1079161880771bb17bcfbb5786a53b298d060
2016-08-16 09:38:29 +08:00
Jean-Yves Avenard 58cb3ab298 Bug 1293646: [MSE] P2. Only reject a seek request with EOS if it's passed the explicit duration. r=gerald
With MSE, the actual duration is always exact as it is amended when data is added. We do not want to fire ended when we attempt to seek to unbuffered data once endOfStream has been called. Instead we will fire the waiting event.

MozReview-Commit-ID: Cl2uBLk2qRQ

--HG--
extra : rebase_source : 6763c6f5a6e15264e276e486fab4d39491ea7f1b
2016-08-10 15:30:12 +10:00
JW Wang f18a46b384 Bug 1293572 - Flushing a decoder that is not initialized causes hang. Don't create decoders when the reader is suspened. r=jya
MozReview-Commit-ID: 7ylrYLrrwIS

--HG--
extra : rebase_source : 7421d6b0ee804f30cdfdba0ffda8d9c44d3d7ba5
2016-08-05 17:25:49 +08:00
Nicholas Nethercote e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Kaku Kuo c79eb6f91f Bug 1290371 - handle files with audio and video tracks but no samples at all; r=jya
So, we have 4 boolean variables and here is the truth table.
Case 1, 2, 3, 4, 7, 8, 10 and 12 are not possible to happen.

Then, the remaining cases could be clustered into three categories:
(1) Case 5, 9 and 13: no sample is demuxed at all, return 0.
(2) Case 6, 11, 14 and 15: either audio or video is able to be demuxed, return the known value.
(3) Case 15: both audio and video are demuxed, return the minimum of the values.


For simplifying the logic, I will initialize the audioStartTime and videoStartTime
to be INFINITY if we don't have the first-demuxed sample, otherwise, initialize
them to be the real first-demuxed sample's time.

Then, the final calculation will be:
(1) Case 5, 9 and 13: the minimum of two INFINITY values is still INFINITY, return 0.
(2) Case 6, 11, 14 and 15: return the minimum of one real first-demuxed-time and the INFINITY.
(3) Case 15: return the minimum of two real first-demuxed-time values.

Case   HasAudio   HasVideo   HasAudioSample   HasVideoSample    ExpectedResult
---------------------------------------------------------------------------------------------------
1         F          F             F                 F          not possible
2         F          F             F                 T          not possible
3         F          F             T                 F          not possible
4         F          F             T                 T          not possible
---------------------------------------------------------------------------------------------------
5         F          T             F                 F          return 0
6         F          T             F                 T          return video sample
7         F          T             T                 F          not possible
8         F          T             T                 T          not possible
---------------------------------------------------------------------------------------------------
9         T          F             F                 F          return 0
10        T          F             F                 T          not possible
11        T          F             T                 F          return audio sample
12        T          F             T                 T          not possible
---------------------------------------------------------------------------------------------------
13        T          T             F                 F          return 0
14        T          T             F                 T          return videoSample
15        T          T             T                 F          return audioSample
16        T          T             T                 T          return min(auidoSample, videoSample)

MozReview-Commit-ID: ANsYDth7slJ

--HG--
extra : transplant_source : %DAj%1A%EC%19%82%7B%B3%05%FE%21%04a%16%9A%9F%18x1%95
2016-08-03 16:51:29 +08:00
ctai b7fcb47572 Bug 1201363 - Replace VideoFrameContainer with MediaStreamVideoSink in MSG. r=jesup
Replace the pointer of VideoFrameContainer with the pointer of MediaStreamVideoSink.

MozReview-Commit-ID: 5bqEMpemwuR

--HG--
extra : transplant_source : %008z%D8W%EE%87%8E%E9/%2CT%26%EBvo%AE%099%A6
2016-05-27 14:33:48 +08:00
Sebastian Hengst 120f502e2a Backed out changeset 3851902daa94 (bug 1201363) 2016-08-03 19:33:25 +02:00
ctai e28782c9ba Bug 1201363 - Replace VideoFrameContainer with MediaStreamVideoSink in MSG. r=jesup
Replace the pointer of VideoFrameContainer with the pointer of MediaStreamVideoSink.

MozReview-Commit-ID: 5bqEMpemwuR

--HG--
extra : amend_source : 7eb1e87fdcbc61f2f9831fa3a6d803cc50306604
2016-05-27 14:33:48 +08:00
Kaku Kuo c058f404b8 Bug 1274626 part 5 - provide APIs to switch to blank decoders dynamically; r=jya
MozReview-Commit-ID: PyoIsrEf1r

--HG--
extra : transplant_source : C%D6%9E%89%E2O%DB%DFb%A8%9Az%1FE%11%06oo%EE%3C
2016-07-29 14:51:18 +08:00
Carsten "Tomcat" Book aca03c331f Merge mozilla-central to inbound to fix bustage 2016-08-02 17:48:32 +02:00
Carsten "Tomcat" Book d647d056e2 Backed out changeset c5b79d4a6913 (bug 1274626) 2016-08-02 17:47:26 +02:00
Carsten "Tomcat" Book 7e324b6cdb Backed out changeset b018ce9d1484 (bug 1201363) 2016-08-02 12:53:59 +02:00
Eugen Sawin 442f5a19e6 Bug 1289016 - [1.2] Don't initialize suspended decoders and fix removing readers from the queue. 2016-08-02 14:55:31 +02:00
ctai 0948ae3f3a Bug 1201363 - Replace VideoFrameContainer with MediaStreamVideoSink in MSG. r=jesup
Replace the pointer of VideoFrameContainer with the pointer of MediaStreamVideoSink.

MozReview-Commit-ID: 5bqEMpemwuR

--HG--
extra : transplant_source : %9D%86%93%A6%DF%D5%9Ep%20%DF%FD%C1%E2%BA%A3Gq%1A%7E%A3
2016-05-27 14:33:48 +08:00
Kaku Kuo 9b64312544 Bug 1274626 - Part 5 - provide APIs to switch to blank decoders dynamically; r=jya
MozReview-Commit-ID: PyoIsrEf1r

--HG--
extra : transplant_source : %16D%C0%AE%DAf8%21P%1ER%3C%E36%C7K%08G%99%2B
2016-07-29 14:51:18 +08:00
Jean-Yves Avenard d9896af911 Bug 1289059: P1. Add MediaDemuxer generic logging. r=cpearce
MozReview-Commit-ID: 453QrMX1nWp

--HG--
extra : rebase_source : 679586d22a380e57c19c1e78b29e71282c08ecbf
2016-07-24 22:30:07 +10:00
Gerald Squelart 2a787d2521 Bug 1289668 - Record inter-keyframe statistics - r=kamidphish
FrameStatisticsData can now store inter-keyframe information, which is
provided by the MediaFormatReader (based on live decoding).

MozReview-Commit-ID: HhBy6pgT6ZX

--HG--
extra : rebase_source : 6a072623e8a5b0f23b81307e8ea4b19a3e21b252
2016-07-26 09:36:55 +10:00
Gerald Squelart 7bea2e1262 Bug 1289668 - Refactor FrameStatistics writers to use Data struct - r=kamidphish
Decoders now use FrameStatisticsData to gather data for their frame-related
notifications. This will ease introducing new members later on.

MozReview-Commit-ID: DWdOSPX3JM

--HG--
extra : rebase_source : a3e05f34353a397d1c82b3f4d935c0864f90556e
2016-07-18 10:41:40 +10: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
Bryce Van Dyk 3e3f638e3e Bug 1257716 - Handle clearkey encrypted WebMs. r=cpearce
Handle encrypted WebM streams for the clearkey case. Add checking for the
widevine case, though these should currently fail, as not all of the plumping
is in place for widevine.

MozReview-Commit-ID: 5d9fvc5IkZF

--HG--
extra : rebase_source : 9baad2afd7778c350c404c72dcd81426092aa908
2016-06-08 14:07:09 +12:00
Dan Glastonbury 1b2a65cfc3 Bug 1281632 - P1: Extract creation parameters and pass via struct. r=gerald
Extract all the parameters passed to CreateAudioDecoder/CreateVideoDecoder and
place them into a structure that is passed down to the creation of the actual
decoder, where the relevant parameters can be extracted.

This makes it easier to add more arguments to the Create*Decoder calls in future.

MozReview-Commit-ID: 9LZlcfRVz6A

--HG--
extra : rebase_source : ce3f0c7d0784b96267728697ff5d535ccb8ee7a6
2016-06-28 17:56:55 +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
Eugen Sawin a368c596cb Bug 1214710 - [1.11] Implement ReaderQueue for simultaneous decoder limit enforcement. r=jya,jwwang 2016-06-08 18:04:32 +02:00
Alfredo Yang 254d49c5f6 Bug 1257107 - discard decoded data if its pts is smaller than seek time. r=jya
MozReview-Commit-ID: 70rbBsor8lp

--HG--
extra : rebase_source : 7f88969e1c5f19aa1651080dd5b1985d0b718592
2016-06-08 10:59:57 +08:00
Carsten "Tomcat" Book d8feaef998 Backed out changeset 74a7d364f5a3 (bug 1214710) for bustage on a CLOSED TREE 2016-06-08 12:08:53 +02:00
Eugen Sawin 5a015f6bec Bug 1214710 - [1.11] Implement ReaderQueue for simultaneous decoder limit enforcement. r=jya,jwwang 2016-06-08 11:29:11 +02:00
Dan Glastonbury eaa1d08d90 Bug 1276570: Replace TargetQueues enum with bitwise-or flags. r=jwwang
MozReview-Commit-ID: 95rnjumeBf

--HG--
extra : rebase_source : bffaaa632cbe2f9d27f82746a85f2089ede6301a
2016-05-31 14:32:37 +10:00
Jean-Yves Avenard 1a83f50401 Bug 1277508: P2. Add HasPendingDrain convenience method. r=kamidphish
MozReview-Commit-ID: Lcij7sc2y9d

--HG--
extra : rebase_source : 917ad661b0de70062d00758ed359e574562f75fd
2016-06-02 21:08:05 +10:00
Jean-Yves Avenard e6ff9b5d09 Bug 1277508: P1. Don't attempt to demux new samples while we're currently draining. r=kamidphish
We should only attempt to demux new samples once all pending decoded frames have been returned. Otherwise, the next demuxing attempt once a resolution change has been detected will reset the state and drop all decoded frames.

MozReview-Commit-ID: 2coKQA8lZ8c

--HG--
extra : rebase_source : f8df34bd9ea1b05c251a34d043da19c7d3d5e587
2016-06-02 20:54:33 +10:00
Alfredo Yang 68adb6b579 Bug 1068151 - keep decoding a corrupted video. r=jya 2016-05-30 18:24:00 +02:00
Jean-Yves Avenard 07f877b595 Bug 1274445: P2. Don't unnecessarily reset the decoder context. r=kamidphish
MediaFormatReader::Reset is already resetting the context.

MozReview-Commit-ID: AWIh9aTFA6S

--HG--
extra : rebase_source : 4ad28da651f9d0608d91503b901045a8947f3073
2016-05-30 15:46:55 +10:00
JW Wang 1f7b60118b Bug 1275807 - Remove remaining use of FlushableTaskQueue. r=cpearce.
MozReview-Commit-ID: L12wxh7GPIr

--HG--
extra : rebase_source : 745ae8240326246050513c96300eba1e32d84130
2016-05-24 16:48:26 +08:00
Jean-Yves Avenard 48f24d3464 Bug 1275538: P2. Drop decoded frames that we know are already too late. r=kamidphish
MozReview-Commit-ID: EZ2Ql2DtTKa

--HG--
extra : rebase_source : 4dbffc3538e86562a6bb347354f4ff377e484f04
2016-05-26 14:58:48 +10:00
Jean-Yves Avenard ca37fb4d46 Bug 1275538: P1. Abort early if a skip request is in progress. r=gerald,kamidphish
We would only abort early if new data had been received. Which may not always be the case.

MozReview-Commit-ID: HvAUq5CTc7F

--HG--
extra : rebase_source : a24b6c8bf2a31b0c9e69fc748ebb9b80b5c0d286
2016-05-26 13:59:46 +10:00
Chris Pearce bc093355a7 Bug 1249706 - Fix 8fe22dd4fc8a (backout of a085ea2d24bb). r=bustage
--HG--
extra : rebase_source : dedc21e95680f0361f4ff9e2058fe37f1a322e8e
2016-05-25 10:51:14 +12:00
Chris Pearce daf024be7d Bug 1249706 - Backout a085ea2d24bb for blowing telemetry server's mind. r=backout
--HG--
extra : rebase_source : fc17ac88544ff800b141a276f66282b34f613dfe
2016-05-25 10:31:15 +12:00
Jean-Yves Avenard 708b1db5db Bug 1274933: Reject data promise when EOS is encountered following waiting for data. r=gerald
MozReview-Commit-ID: 1hKplz5wFnJ

--HG--
extra : rebase_source : 301821b51146e5cc7273f86b53b16c1e6ef6ca08
2016-05-24 19:58:36 +10:00
Jean-Yves Avenard cd102518d1 Bug 1270323: P5. Prevent potential null deref. r=cpearce
This currently can't happen as no MediaDataDecoder ever return a null sample.

MozReview-Commit-ID: BucIadubght

--HG--
extra : rebase_source : 4c6f3dc1d5581bdb9d58ba3b7cc1659c57f40d8e
2016-05-23 16:12:17 +10:00
Jean-Yves Avenard 977d53d5e1 Bug 1270323: P4. Don't drain decoder if we're already waiting for new data. r=cpearce
If we're in waiting for data mode, the decoder must have already been drained and we want the waiting promise to be resolved upon the next run of UpdateReceivedNewData.

MozReview-Commit-ID: Hf8pFFyQmjJ

--HG--
extra : rebase_source : c51ed65c7d7c4a9ee877e6f9420f6534480e7cb5
2016-05-23 16:09:12 +10:00
Jean-Yves Avenard 1a18fcce6e Bug 1270323: P2. Don't process new incoming data while a skip to next keyframe is pending. r=cpearce
Followup from bug 1272964 P4.

MozReview-Commit-ID: 18MC3O1JZLv

--HG--
extra : rebase_source : f1f09890f8837caceb37e0e5deafea6e43fbe900
2016-05-21 23:02:43 +08:00
Jean-Yves Avenard 778a01fa9e Bug 1272964: P6. Exclude frames dropped due to internal seeking from calculations. r=cpearce
MozReview-Commit-ID: HKnEaUh3rkV

--HG--
extra : rebase_source : adb5d9313ffa66b949991e96f9a48df835ae6451
2016-05-19 17:03:39 +08:00
Jean-Yves Avenard 90596205d1 Bug 1272964: P4. Only flush decoder if skip to next keyframe actually succeeds. r=cpearce
As the decoder was flushed and reset prior the skip to next keyframe started, and future error would be unrecoverable. So only reset the decoder once the skip completes and succeeded. Otherwise we default back to normal decoding.

MozReview-Commit-ID: GEj1i0EsaYO

--HG--
extra : rebase_source : c1d2beafa6e35f571b941e8f173ec10b726ec1a0
2016-05-19 15:02:43 +08:00
Jean-Yves Avenard c1bf16766d Bug 1272964: P2. Don't activate skip to next keyframe until we passed the internal seek target. r=gerald
currentTime may be past the start of the internal seek time, but before its end, which would have triggered a false positive: we do not want to jump to the next key frame here.

MozReview-Commit-ID: H5O9XXnk84T

--HG--
extra : rebase_source : 0bc96472acfe03ff0c87a6fc3712bd99b96064b6
2016-05-18 11:48:05 +08:00
Jean-Yves Avenard a9d78c43ed Bug 1272964: P1. Only activate skip to next keyframe logic when next keyframe time is known. r=gerald
MozReview-Commit-ID: DoAstqSRnyc

--HG--
extra : rebase_source : ef02fe137907a61b6437ea7164282717453c6771
2016-05-17 22:26:34 +08:00
Ryan VanderMeulen 84b0a4b61f Backed out changeset 0e4c5be816f3 (bug 1257107) for webm reftest failures.
CLOSED TREE
2016-05-19 10:39:07 -04:00
Kaku Kuo 016612435e Bug 1272267 - Adjust the seek target in the MediaFormatReader. r=jya
MozReview-Commit-ID: H297znLMtOC

--HG--
extra : rebase_source : 3872312d3aed6530554ef524e4fd99fd68f28202
2016-05-16 18:15:17 +08:00
Alfredo Yang 3fed340de9 Bug 1257107 - Discard decoded data if its pts is smaller than seek time. r=jya
--HG--
extra : rebase_source : 2f17f7b3b70f774e03322dbc63727b0794279f91
2016-05-17 21:46:00 -04:00
Jean-Yves Avenard b4a0208665 Bug 1273018: P3. Adjust range of audio assertions. r=gerald
With the new video-only seek type, we need to ignore the current audio decoding state whenever video-only seeking is in progress.

MozReview-Commit-ID: 5eynmG2UyyA

--HG--
extra : rebase_source : 7e9bdd7c44cb4a80129bfc468da87288e520c984
2016-05-16 16:15:45 +08:00
Jean-Yves Avenard 48ddbe88b9 Bug 1273018: P2. Don't reject audio waiting promise when performing a video only seek. r=gerald
MozReview-Commit-ID: G1MeZWxLayy

--HG--
extra : rebase_source : ea07192655c474997d7a3253adf9f13eefd45212
2016-05-16 14:50:04 +08:00
Jean-Yves Avenard 9773d374d9 Bug 1273018: P1. Rename some members. r=gerald
MediaFormatReader::mOriginalSeekTarget now has different use and the name was no longer reflective of the actual usage.

MozReview-Commit-ID: Fu0fmgUlbgr

--HG--
extra : rebase_source : 7c106fc4832def7c6a4b91e1950ed5b3e1109129
2016-05-16 14:47:57 +08:00
Dan Glastonbury 02af730fcf Bug 1272562 - Don't check audio asserts when seeking video. r=jya
MozReview-Commit-ID: 8njbfw7ni24

--HG--
extra : rebase_source : 59bee06a39cc627831e160127120511eb5304fe8
2016-05-13 16:35:43 +10:00
Jean-Yves Avenard cc8c8725df Bug 1271491: P6. Remove the need to call PDMFactory::Init(). r=cpearce
PDMFactory will automatically load and initialize the required frameworks upon first use.
Also fix constness of some methods.

MozReview-Commit-ID: HFbvTMRFAey

--HG--
extra : rebase_source : ce3e7ff6cefc35b32674c9a81c3488fe21b48626
2016-05-12 18:54:35 +10:00
Dan Glastonbury 332d6f1a7d Bug 1272422 - Part 3: Don't reset audio queue. r=jya
When resuming from suspended video, don't reset the audio queues or
audio demuxing state in MFR.

Extracted the code from ResetDemuxers() and inlined it at calling sites
as recommended by jya.

MozReview-Commit-ID: 3wpH075RrKW
2016-05-13 15:50:11 +10:00
Jean-Yves Avenard 80fb61d88f Bug 1272182: P2. Reject upfront videos for which we have no decoder. r=cpearce
Similar logic with audio tracks, but those are ignored instead.

MozReview-Commit-ID: 6p9ej66aFgD

--HG--
extra : rebase_source : 01406ed958ce9e71d886955cf728d625acc779e1
2016-05-12 12:00:21 +10:00
Jean-Yves Avenard ee67f44c7c Bug 1272182: P1. Ignore invalid video tracks. r=cpearce
MozReview-Commit-ID: BdCdLkCMBRt

--HG--
extra : rebase_source : c83e636f9d34d909ed1f9c086eb89af1391a5adb
2016-05-12 11:42:20 +10:00
Sebastian Hengst 5bd0507354 Backed out changeset e8354c6f439c (bug 1272182) for missing latest updates. r=backout request by developer 2016-05-12 13:40:42 +02:00
Sebastian Hengst 266bbbd332 Backed out changeset d5eac62c7880 (bug 1272182) 2016-05-12 13:39:36 +02:00
Jean-Yves Avenard 9bc456e050 Bug 1272182: P2. Reject upfront videos for which we have no decoder. r=cpearce
Similar logic with audio tracks, but those are ignored instead.

MozReview-Commit-ID: 6p9ej66aFgD

--HG--
extra : rebase_source : 0d696fed85bc53feabfe248e9ae16c5380e70261
2016-05-12 12:00:21 +10:00
Jean-Yves Avenard ff6e5b2b5f Bug 1272182: P1. Ignore invalid video tracks. r=cpearce
MozReview-Commit-ID: BdCdLkCMBRt

--HG--
extra : rebase_source : c83e636f9d34d909ed1f9c086eb89af1391a5adb
2016-05-12 11:42:20 +10:00
Jean-Yves Avenard d31cb0499b Bug 1206637: P2. Replace all cached preferences with MediaPrefs ones. r=cpearce
Additionally, clean up stray and unused Preferences.h header.

MozReview-Commit-ID: IcPrD2inkDE

--HG--
extra : rebase_source : c3c6e37767627db3601090c2855a3dfa98cb4368
2016-05-10 11:02:28 +10:00
Dan Glastonbury 526fdd85f6 Bug 1224973 - Part 5: Implement suspend decoding for background video. r=cpearce,jwwang,jya
Implemented by short-circuiting calls to RequestVideoData in MDSM so no
frames are decoded. Resuming playback when video moves to foreground by
using the SeekTask/SeekJob/Seek in MDSM with result of GetMediaTime().

Special consideration is made to only seek the video part of Seek() to
remove an audible glitch in the audio playback when the video becomes
visible again.

MozReview-Commit-ID: 7YFDTanslXu
2016-05-12 09:54:15 +10:00
Jean-Yves Avenard 9f2e0f2c87 Bug 1269408: P10. Reject promise early if in error state. r=me
Partial revertial of commit 3fa48191a0f (P9).

MozReview-Commit-ID: 2jAW7RLZ2xg
2016-05-07 19:16:34 +10:00
Nathan Froyd ea473279ae Backout 6d6749bb5c26 (bug 1269408) for being pushed too soon, Executus 2016-05-06 22:08:46 -04:00
Jean-Yves Avenard 969594ea8c Bug 1269408: P10. Reject promise early if in error state. r=me
MozReview-Commit-ID: 2jAW7RLZ2xg
2016-05-07 11:23:32 +10:00
Carsten "Tomcat" Book f3c7e2f2aa Backed out changeset 31dc08c9c505 (bug 1068151) for causing assertion failures
--HG--
extra : rebase_source : b91b953d3ef0d4f37496de9e3fb8de10b2f6770d
2016-05-06 14:02:12 +02:00
Alfredo Yang 96ae363c0b Bug 1068151 - keep decoding with malformat video. r=jya 2016-05-06 01:10:00 +02:00
Jean-Yves Avenard 92553ea442 Bug 1258922: [MSE] P4. Set draining flag to true when skip to next keyframe failed. r=gerald
data promise is only resolved once the decoder has been drained. It was possible for a promise to never be resolved if skipping to the next key frame failed.

MozReview-Commit-ID: GimbQTImH9e
2016-05-06 17:29:41 +10:00
Jean-Yves Avenard 10c2e4ded5 Bug 1269408: P9. Move handling logic of skip to next keyframe to its own function. r=gerald
MozReview-Commit-ID: EjCAFvdcdJ6
2016-05-06 17:29:14 +10:00
Jean-Yves Avenard 946c83d7c5 Bug 1269408: P8. Add debugging log. r=gerald
Almost everytime I had to debug the MFR, I had to print those details.

MozReview-Commit-ID: GR0vZuKiqyd
2016-05-06 17:29:07 +10:00
Jean-Yves Avenard 85dfb74665 Bug 1269408: P7. Start skip to next keyframe logic when resume point is behind current time. r=gerald
There is no point decoding up to the internal seek time if it's already behind the current playback time.

MozReview-Commit-ID: ErPrjEPFCOH
2016-05-06 17:29:01 +10:00
Jean-Yves Avenard ffcc71c256 Bug 1269408: P6. Add debugging information, useful when a mochitest timeout. r=gerald
Access to some members is not thread-safe; but the typical use of those informations is when a mochitest has timed out, and by that time the MFR will have been idled for over 5 minutes.

MozReview-Commit-ID: 21BxrSZXVVJ
2016-05-06 17:28:55 +10:00
Jean-Yves Avenard 420e17dd76 Bug 1269408: P5. Only drop the seek target if it's exactly the seek target. r=gerald
If the Skip To Next Keyframe logic was activated, the next frame demuxed would have been passed the internal seek target, causing it to be unnecessarily dropped.

MozReview-Commit-ID: DExwMPLXlZu
2016-05-06 17:28:48 +10:00
Jean-Yves Avenard 6da72a9485 Bug 1269408: P4. Ensure the decoders are flushed prior performing an internal seek. r=gerald
Some decoders (WMF) keep some internal counters on how many frames have been output and use this to calculate the time of the decoded audio frame. As such, when internally seeking, the next frame decoded would have always been past the seek target.

MozReview-Commit-ID: puzs6ecqbD
2016-05-06 17:28:41 +10:00
Jean-Yves Avenard 7d7e1ae0c4 Bug 1269408: P3. Ensure a new seek request will cancel the previous internal seek. r=gerald
MozReview-Commit-ID: 3dR8JWt4KSN
2016-05-06 17:28:35 +10:00
Jean-Yves Avenard 89278050c4 Bug 1269408: P1. Retry InternalSeek if previous attempt failed once more data is available. r=gerald
MozReview-Commit-ID: Jro2PRtGX7c
2016-05-06 17:28:21 +10:00
Jean-Yves Avenard 7945decc88 Backed out changeset ecb87e0e1cab ("Bug 1269178: P1. Retry InternalSeek if previous attempt failed once more data is available. r=gerald") 2016-05-06 17:27:34 +10:00
Jean-Yves Avenard aab4c4df00 Backed out changeset 31f6d645e9e5 ("Bug 1269178: P2. Ensure that no skip to next keyframe logic is activated while there's a pending seek. r=gerald") 2016-05-06 17:27:34 +10:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Jean-Yves Avenard 0508995f47 Bug 1269178: P2. Ensure that no skip to next keyframe logic is activated while there's a pending seek. r=gerald
While a seek is pending, the demuxer has been reset meaning that ShouldSkip() would almost always incorrectly return true and would corrupt the seeking state.

MozReview-Commit-ID: 6R912Fu6Nul

--HG--
extra : rebase_source : a20a5d0ed1c0d21c04014790bdf5a0c07edb82a4
2016-05-02 10:53:31 +10:00
Jean-Yves Avenard a2f6eca10d Bug 1269178: P1. Retry InternalSeek if previous attempt failed once more data is available. r=gerald
MozReview-Commit-ID: DtaKBzxRVR8

--HG--
extra : rebase_source : ad49222ad6405caac6e56cda959cd230b5f9b925
2016-05-01 23:37:09 +10:00
Jean-Yves Avenard 74dc9128dc Bug 1269177: Wait for demuxing request to complete before treating new data notification. r=gerald
MozReview-Commit-ID: LF0YiCJJr3l

--HG--
extra : rebase_source : 05efa1d0be191bc5ceb754a30b5b2c72c09a4228
2016-05-01 20:54:11 +10:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey 48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Jean-Yves Avenard f15a29610d Bug 1267637: P2. Ignore outright audio track considered invalid. r=gerald
MozReview-Commit-ID: 6rMz8cjgLiY

--HG--
extra : rebase_source : 9e006f0125d9d3c786d64aae5f521f8239bbae8b
2016-04-27 17:35:58 +10:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
JW Wang 69b738fc15 Bug 1266304. Part 1 - Merge MediaDecoderReader::AudioDataPromise and MediaDecoderReader::VideoDataPromise. r=kaku.
MozReview-Commit-ID: BhhA7sjCTtQ
2016-04-22 14:16:49 +08:00
Gerald Squelart ecfb205472 Bug 1248507 - p1. Pass DecoderDoctorDiagnostics to PDMs&more - r=jya
Pass declared-but-yet-undefined DecoderDoctorDiagnostics pointer to various
routines that contribute to deciding if a media format can be played, and
those that create decoders.

Points where a DecoderDoctorDiagnostics can be injected are currently marked
with "/* DecoderDoctorDiagnostics* */ nullptr", and some will be used in
following patches.

MozReview-Commit-ID: 7u37bvY4CpW
2016-04-19 17:36:19 +10:00
Mats Palmgren ae56d6d1e1 Bug 1264500 - Include Telemetry.h to avoid build errors. r=cpearce 2016-04-13 17:02:00 -04:00
Matt Woodrow fd534aefc7 Bug 1257013 - Part 3: Stop checking for corrupt frames in MediaDecoderStateMachine since we no longer produce them. r=ajones
--HG--
extra : rebase_source : a68da2757970cd28da5719d77e3036f9051041e5
2016-03-21 18:50:41 +13:00