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

465 Коммитов

Автор SHA1 Сообщение Дата
Jean-Yves Avenard 19ca46af01 Bug 1400614 - P2. Change string output content. r=gerald
Doesn't look as nice as I had hoped.

MozReview-Commit-ID: 6GAXsVKC2sQ

--HG--
extra : rebase_source : bc06616f22f08a6ae6d14dc2fb8b4b60448120f2
2017-09-17 09:56:38 +02:00
Jean-Yves Avenard 56de0134f7 Bug 1400614 - P1. Handle case where we have no video track. r=gerald
MozReview-Commit-ID: KcHMH3pOouc

--HG--
extra : rebase_source : 5b8135156a535ea75d13c2568123d242b79dd5cc
2017-09-17 00:57:17 +02:00
Jean-Yves Avenard f170080ea4 Bug 1397307 - P10. Remove uncessary loop. r=gerald
We only process a demuxed sample at a time. Waiting until one is decoded to do the next pending ones.

MozReview-Commit-ID: JlXhyPzso8U

--HG--
extra : rebase_source : c11185ca75fd5950aa4273dd9ec03d2cf9b217ba
2017-09-14 14:45:10 +02:00
Jean-Yves Avenard e1eaa06ce9 Bug 1397307 - P7. Display video resolution and frame rate in debug data. r=gerald
MozReview-Commit-ID: 9vsheKkAm4p

--HG--
extra : rebase_source : 701231cbb976f72819eab7de20c9a5d9c5780136
2017-09-12 17:40:42 +02:00
Jean-Yves Avenard a73b2aa424 Bug 1397307 - P6. Calculate average video frame rate as video is playing. r=gerald
We unfortunately can't store this information in the VideoInfo as typically the framerate isn't found in the container's metadata. Additionally, the VideoInfo object is readable-only as it is shared across threads.

As such, we can only estimate it as we demux samples.

MozReview-Commit-ID: 5HB33ubfGAs

--HG--
extra : rebase_source : 1d6d09da76a99524422b14d50db477a9aa222da0
2017-09-12 21:20:09 +02:00
Jean-Yves Avenard 6940b5e2e4 Bug 1397307 - P5. Avoid creating two decoders on first sample. r=gerald
Don't unnecessarily, create a decoder, flush, shutdown and create a new one on the first sample.

MozReview-Commit-ID: 8utEX5JEmq8

--HG--
extra : rebase_source : e40548e7ef4ad1a8e3c57f3070a2ffc77bf81a3f
2017-09-12 21:02:24 +02:00
Jean-Yves Avenard c59188889b Bug 1397307 - P2. Wrap boolean in structure to prevent unwanted conversion. r=gerald
Automatic conversion (say from int to bool) makes DecoderParam difficult to extend.

MozReview-Commit-ID: G0T7jPogskN

--HG--
extra : rebase_source : 59437fd2b430ccd6be50b18c98b5a5c4ed2c8240
2017-09-08 15:45:38 +02:00
Alastor Wu 10f4de4d65 Bug 1397141 - part7 : update error description in MFR. r=jya
MozReview-Commit-ID: 9Sb5ogX2Bf2

--HG--
extra : rebase_source : 8a2ae32439097c583c63290009b8ca5de36b49a8
2017-09-13 15:38:06 +08:00
Sebastian Hengst 6f1ea8f932 Backed out changeset eab2e401c60f (bug 1397141) 2017-09-13 09:25:28 +02:00
Alastor Wu 0fc4a508a5 Bug 1397141 - part7 : update error description in MFR. r=jya
MozReview-Commit-ID: 5QPdFCMesi5

--HG--
extra : rebase_source : e62040cbeccd55a30ffe3b7b2d16010f7c86ee6f
2017-09-13 15:06:14 +08:00
Jean-Yves Avenard 089160d545 Bug 1396629 - P1. Use nsCString. r=cpearce
The default string is over 400 bytes long, it will never fit in the default 64 bytes buffer of an nsAutoCString.

MozReview-Commit-ID: 3FHPQDgCtMF

--HG--
extra : rebase_source : 13d6070acc9f29afab922d9e37c215114729aef4
2017-09-04 21:07:11 +02:00
Jean-Yves Avenard 9349efba14 Bug 1396515: Fix incorrect && and || operator placements. r=sylvestre
Includes some side 80 columns fix.

MozReview-Commit-ID: IXRoQfM0Hjc

--HG--
extra : rebase_source : 918cf87b2ce82c8de245dcb23cc359289ac5f21f
2017-09-04 11:27:43 +02:00
Jean-Yves Avenard 831c4202f5 Bug 1394591 - P3. Add codec type to decoder description name. r=gerald
MozReview-Commit-ID: 8vQUFhhMtqO

--HG--
extra : rebase_source : 5d6d6ff3f360bac1cbabccda6bdeb41328831529
2017-09-01 14:58:19 +02:00
Jean-Yves Avenard f2acd77b7c Bug 1394591 - P1. Use nsCString for decoder description. r=gerald
This will allow to modify the string returned later.

MozReview-Commit-ID: Giw1JyukE4v

--HG--
extra : rebase_source : d126b8b956ff1f54c33a838834aee9cc6340de95
2017-09-01 14:25:28 +02:00
Sebastian Hengst 94169d21f8 Backed out changeset 409dbe62d0ea (bug 1394591) for asserting GLBlitHelper requires vertex_array_object in dom/media/mediasource/test/test_FrameSelection.html on Android 4.3. r=backout 2017-09-04 00:08:33 +02:00
Sebastian Hengst 82383978f8 Backed out changeset 478ba48df051 (bug 1394591) 2017-09-04 00:07:07 +02:00
Jean-Yves Avenard 23c55d9a28 Bug 1394591 - P3. Add codec type to decoder description name. r=gerald
MozReview-Commit-ID: 8vQUFhhMtqO

--HG--
extra : rebase_source : 5d6d6ff3f360bac1cbabccda6bdeb41328831529
2017-09-01 14:58:19 +02:00
Jean-Yves Avenard 15e988718f Bug 1394591 - P1. Use nsCString for decoder description. r=gerald
This will allow to modify the string returned later.

MozReview-Commit-ID: Giw1JyukE4v

--HG--
extra : rebase_source : d126b8b956ff1f54c33a838834aee9cc6340de95
2017-09-01 14:25:28 +02:00
Jean-Yves Avenard eccbe26070 Bug 1396428 - Fix end of lines. r=jya
MozReview-Commit-ID: 3reYozTMKk0

--HG--
extra : rebase_source : 1b9d259eca5609ffa68cf6a0d269dfa44aace038
2017-09-03 21:28:52 +02:00
Kaku Kuo a79890cbb6 Bug 1393399 P5 - report the recovery time telemetry; r=gerald
MozReview-Commit-ID: 3Z0Esl1F6fV

--HG--
extra : rebase_source : a0c88bfdf53e17fdebb9d0b33457ce649ba54a7c
2017-08-31 18:02:06 +08:00
Kaku Kuo 8a35a5cc36 Bug 1393399 P4 - implement GPUProcessCrashTelemetryLogger helper class; r=gerald
GPUProcessCrashTelemetryLogger is used to report telemetry of the time used to recover a decoder from GPU crash.

It uses MediaDecoderOwnerID to identify which video we're dealing with.
It uses MediaDataDecoderID to make sure that the old MediaDataDecoder has been deleted and we're already recovered.
It reports two recovery times, one is calculated from GPU crashed (that is, the time when VideoDecoderChild::ActorDestory() is called) and the other is calculated from the MFR is notified with NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER error.

MozReview-Commit-ID: 82BRc2Vs3cw

--HG--
extra : rebase_source : 8c92501f625d44e9391a2432b98842769ed8a199
2017-08-31 17:56:17 +08:00
Kaku Kuo e738871d59 Bug 1393399 P3 - keep the MediaDecoderOwner's identification in MFR; r=gerald
When GPU process crashes, the MediaDecoder, MDSM, and MFR are all destroyed.
So, we use MediaDecoderOwner to identify which video we're dealing with.

MozReview-Commit-ID: 1cv08M7Cpcf

--HG--
extra : rebase_source : 62f7be874d97a58eb4c1d7a98b4e9fe83a9313d3
2017-08-31 17:31:51 +08:00
Kilik Kuo 216e7acf63 Bug 1393336 - Remove WaitForCDM state from MDSM. r=jwwang,jya
MozReview-Commit-ID: 7XofvBZTerH

--HG--
extra : rebase_source : 99a7c9459bf1c3f0fe8a27e57595d8bebf8ac9c3
2017-08-25 17:11:14 +08:00
Chris Pearce ec0ac75c45 Bug 1394648 - Switch from nsInt{Point,Rect,Size} to gfx::Int{Point,Rect,Size} in dom/media. r=jwwang
The nsRect.h and nsSize.h headers typedef nsIntRect to gfx::IntRect etc, so the
rect/size objects we use will be the same, just under a different name.
However the old headers #include a bunch of things we don't use, so we if we
use the gfx objects directly we end up with a smaller include graph.

MozReview-Commit-ID: 7S4OSqBJK9m

--HG--
extra : rebase_source : 7cc48507356ce754e8395af957fa68a28711e00a
2017-08-29 14:00:33 +12:00
Carsten "Tomcat" Book d360d49d2a merge mozilla-inbound to mozilla-central a=merge 2017-07-27 10:57:25 +02:00
Bevis Tseng a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Kartikaya Gupta ba4b3b9101 Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.

MozReview-Commit-ID: 6s78RvPFMzv

--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
2017-07-26 16:03:57 -04:00
JW Wang 709010e3e9 Bug 1378295. P2 - move AutoNotifyDecoded from AbstractMediaDecoder to FrameStatistics. r=jya
MozReview-Commit-ID: EdS2U2sfPdk

--HG--
extra : rebase_source : 786439f7fc7b9ed0904faf383a8e1ff0ccf35311
extra : intermediate-source : 3587a73488e07e13ccd0bc540cd814b5ee3210d9
extra : source : dcd94df0c7577e8c28d913d7061384650955d69f
2017-07-13 15:17:25 +08:00
JW Wang 35f6829a03 Bug 1378295. P1 - remove unused MFR::mDecoder. r=jya
MozReview-Commit-ID: BuvxlYs0LqD

--HG--
extra : rebase_source : 8595e8c5e08e9cd6575b3e3bf37e59e25c79045c
extra : intermediate-source : 589082a3f0571cea45e6942a1e6b82adda7efdcb
extra : source : 47cdc0a2b7acec44d102b165e1867b4f689e488c
2017-07-13 15:13:12 +08:00
JW Wang e8dccab6e2 Bug 1380568. P2 - remove AbstractMediaDecoder::NotifyDecodedFrames(). r=jya
MozReview-Commit-ID: AZyPseUiZLl

--HG--
extra : rebase_source : d95e84525ebde5311361daa588abe83ab7342882
extra : intermediate-source : 35bf63aab05dedec7248de5ff97572b078c430db
extra : source : 8e00ba5990178daefa228a011ad3eed629dcbcd6
2017-07-13 14:12:25 +08:00
JW Wang 0ad4cd546b Bug 1380568. P1 - store FrameStatistics in MFR. r=jya
So we can remove the use of AbstractMediaDecoder::NotifyDecodedFrames().

MozReview-Commit-ID: Ch7Saha6zdi

--HG--
extra : rebase_source : 8562faa56d1f31797643ed0f7ae550765d8c86d7
extra : intermediate-source : 05b50517cc40f2adf06facfccea628488dd319da
extra : source : d5af89f5a09e03c8fbb0d6111f88e3221f3a1d57
2017-07-07 11:05:03 +08:00
Wes Kocher d45eb771f0 Merge m-c to inbound, a=merge
MozReview-Commit-ID: Ah48RzFU8Mt
2017-07-21 18:20:46 -07:00
Sylvestre Ledru 7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
JW Wang ef025c6fcf Bug 1316211. P15 - remove MDR from the base class of MFR. r=gerald
MozReview-Commit-ID: Jf5pCxkhexg

--HG--
extra : rebase_source : 3ec9423d4d0f3b60ee9e5f6f19af18188530e1d9
extra : source : 4fbc225bfc79abacaf47ffd4405ef2d6711dea32
2017-07-19 22:18:37 +08:00
JW Wang 2e40eb607f Bug 1316211. P14 - move members from MDR to MFR. r=gerald
MozReview-Commit-ID: EwdteoEY1uS

--HG--
extra : rebase_source : 2cc250720539ba6c1682efac69d3724164338137
extra : source : d4cc3de1ae224bdca414cd02f4d3473c44fe4d20
2017-07-19 17:34:05 +08:00
JW Wang a7d0db5642 Bug 1316211. P11 - remove empty functions. r=gerald
MozReview-Commit-ID: 44blKyrVzLV

--HG--
extra : rebase_source : c65bc3b216cbd2409f22c519100a525f8c01beac
extra : source : dcdb98fbdd1389eaec08ccf32a685774ce53f755
2017-07-19 15:15:14 +08:00
JW Wang b9b872859b Bug 1380574 - remove the call to MediaDecoderOwner::DecodeWarning() from MediaFormatReader. r=gerald
Note we will move OnDecodeWarning() from MDR to MFR when removing MDR.

MozReview-Commit-ID: 92jpwy6ghH2

--HG--
extra : rebase_source : 72e84f364cdab589efe60e70a071816cb4404955
extra : intermediate-source : fc7ff704e2096935b949ed8b9f6e73945db56a79
extra : source : 6e65a382de5de478948d434fc238a6afe231d2ac
2017-07-13 15:02:06 +08:00
JW Wang dfccb2f79b Bug 1380569. P2 - plumb the 'waitingForKey' event into the media element. r=gerald
Note we put OnWaitingForKey() in MediaDecoderReader for MediaDecoder references
MDR instead of MFR. The function will be moved into MFR when we remove MDR and
have MediaDecoder reference MFR instead.

MozReview-Commit-ID: LBGfGmc6yFm

--HG--
extra : rebase_source : 473c95cf6eb5e7e4065f9c1251af7dacb78538a5
extra : intermediate-source : 85981e2bafa1047f8321c02de6f0726c32506811
extra : source : 5203bf6895273701ef36a81d2e827e7a7c219fdb
2017-07-13 14:49:23 +08:00
Kaku Kuo 4175fed6b6 Bug 1378691 P3 - return next key frame time back to MDSM; r=jwwang
MozReview-Commit-ID: LVhJ0DpM24c

--HG--
extra : rebase_source : 4aefd89a2cc2243538c248977bfff79731fc2946
2017-07-11 10:15:33 +08:00
JW Wang 9b07417b6b Bug 1380545 - remove DispatchKeyNeededEvent from MediaFormatReader.cpp. r=gerald
We will use MediaEventSource to dispatch the 'encrypted' events.

MozReview-Commit-ID: KY3nS9OrysI

--HG--
extra : rebase_source : 4e1fa125b099567426f5a6ea2c825b77d407b2c4
extra : source : 8413b0625159d85a5814cb3bd748121653735e96
2017-07-13 11:18:07 +08:00
JW Wang 789cd1ebe8 Bug 1380532. P1 - pass GMPCrashHelper through MediaDecoderReaderInit to MFR. r=gerald
So we can reduce dependency on AbstractMediaDecoder.
See bug 1378295 comment 1 for the detail.

Note it is not ideal to repeat |init.mCrashHelper = ...| several times in
this patch. We will re-visit it to reduce code duplication after bug 1378295
is done.

MozReview-Commit-ID: AEC56ukqtYr

--HG--
extra : rebase_source : 07554566af74b65f391811e55847e58365ac81fe
extra : source : 7f613117f815369f65256408b221131683c0dd82
2017-07-13 10:19:36 +08:00
JW Wang ac2b0f2173 Bug 1380234. P3 - remove AbstractMediaDecoder::CompositorUpdatedEvent() and its users. r=jya
MozReview-Commit-ID: JioS7MC5qFh

--HG--
extra : rebase_source : 9df457507bfcbcd1baa2e66af61781cc2a2ec06f
extra : source : af4993bcca5097628b12b4861074d8eed9163d9b
2017-07-12 16:49:59 +08:00
JW Wang 803c5fa941 Bug 1380234. P2 - send compositor updates to the reader directly without using MediaEventSource. r=jya
MozReview-Commit-ID: EJO2PK525gS

--HG--
extra : rebase_source : 11a033d2e6a94b307ca8095b2ffd7348edb2b6d4
extra : source : 44c52998638933e8b709fa5196ef442314145d2f
2017-07-12 16:28:19 +08:00
JW Wang 4ca981216d Bug 1380234. P1 - pass KnowsCompositor to MFR through MediaDecoderReaderInit. r=jya
MozReview-Commit-ID: 3krK3meG5jV

--HG--
extra : rebase_source : f0a628ab28a527fa7f79ec61672e988cf1def8e7
extra : source : c8c2a6f2506338a8208f3bcf56160c47e6a29000
2017-07-12 15:37:02 +08:00
Kaku Kuo 1226fb4d2c Bug 1380244 - trigger skip-to-next-key-frame quicker; r=jya
This patch is going to loose the criteria of skip-to-next-key-frame.

The original rules are here:
http://searchfox.org/mozilla-central/rev/31311070d9860b24fe4a7a36976c14b328c16208/dom/media/MediaFormatReader.cpp#1559

Skip-to-next-key-frame is triggered if the playback position is LARGER than the next key frame time.
But, from the video-track point of view, when the skip-to-next-key-frame is triggered, it skips to the next-next key frame.

Here is an example, say, we are playing a media file with its playback position at time _a_,
and its video decoding is falling behind at time _v_.
The next key frame is at time _k1_ and next-next key frame is at time _k2_.

              a
----|---------|---------|-------------|----------------> time
    v                   k1            k2

When the playback position _a_ passes _k1_ (_a_ > _k1_), the skip-to-next-key-frame is triggered,
and the demuxer jumps to _k2_ directly.



The idea here is to give a chance when (_a_ == _k1_), let demuxer jump to _k1_ and see if the video decoding could catch up.

MozReview-Commit-ID: 6aRSYDOI1ds

--HG--
extra : rebase_source : c448df7af9f83b9127bad9bae28f353b40669b7f
2017-07-12 16:16:49 +08:00
JW Wang aeaad5857f Bug 1378689 - add a structure to pack the data sent to the MediaDecoderReader constructor. r=jya
It would be handy we want to pass more data to the constructor.

MozReview-Commit-ID: 3AUUsTbv534

--HG--
extra : rebase_source : 8d230c85addf1ba296e6a0512f0d18ebd41c0d17
extra : source : e6568e9fa24f52c59baecaa16aa044b492f407fb
2017-07-06 16:59:22 +08:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Jean-Yves Avenard 760145ec59 Bug 1223270: P5. Reduce VideoQueue size for GPU based images. r=mattwoodrow
MozReview-Commit-ID: JGiHiBLyQZN

--HG--
extra : rebase_source : ac03662c8dd1864696a4ba9bbeaeea16458009e9
2017-06-16 22:43:51 +02:00
Jean-Yves Avenard 10d2da1b08 Bug 1374596: P7. Fix includes as per coding style. r=padenot
MozReview-Commit-ID: 5WfOWcOoxg0

--HG--
extra : rebase_source : 988c09623e83a0d9188d9ff5d705314e2c43e756
2017-06-20 17:56:55 +02:00
Carsten "Tomcat" Book f90688c325 Backed out changeset 3e74b1fb1b79 (bug 1223270) 2017-06-20 09:41:36 +02:00