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

491 Коммитов

Автор SHA1 Сообщение Дата
Chris Pearce 1cfc65da51 Bug 1392747 - Backed out changeset 6524c2d721db. r=backout
The logging added in this patch was landed to help debug very rare shutdown
failures on android, but the logging runs on other platforms and is annoying.
No one is looking at fixing the rare shutdown problem on Android. So remove the
logging until fixing the shutdown failure becomes a priority.
2018-02-20 15:54:00 +13:00
JW Wang 79b5f2dd2e Bug 1425996 - fix build error: unused variable 'rv'. r=gerald
MozReview-Commit-ID: 7MhsSWbxB3z

--HG--
extra : rebase_source : 81207a1e5b663314295f2f95afd4b726ffe8f12d
2017-12-21 12:12:42 +08:00
Gerald Squelart c5aeab4f69 Bug 1407810 - Use DDMOZ_LOG in media stack - r=jwwang
Mostly-mechanical replacement of MOZ_LOG with DDMOZ_LOG, usually just removing
the class name and `this` pointer (as they are already implicitly recorded).
Some files needed a bit more work when logging was done from helper classes or
static functions.

MozReview-Commit-ID: IeJJmzYqWMQ

--HG--
extra : rebase_source : 94200838dcdaf6c3bda9de30042ce2d307237eef
2017-10-13 16:31:59 +11:00
Gerald Squelart 1b357db99b Bug 1407810 - Use DDLogger in media stack - r=jwwang
Mostly-mechanical additions:
- Log constructions&destructions, usually by just inheriting from
  DecoderDoctorLifeLogger, otherwise with explicit log commands (for internal
  classes for which DecoderDoctorTraits can't be specialized),
- Log links between most objects, e.g.: Media element -> decoder -> state
  machine -> reader -> demuxer -> resource, etc.

And logging some important properties and events (JS events, duration change,
frames being decoded, etc.)

More will be added later on, from just converting MOZ_LOGs, and as needed.

MozReview-Commit-ID: KgNhHSz35t0

--HG--
extra : rebase_source : dd7206e350e32671adc6f3b9e54ebf777251de2c
2017-10-10 17:55:27 +11:00
Chris Pearce 06046a7100 Bug 1423372 - Remove some unnecessary includes and fix unified build problems. r=jwwang
MozReview-Commit-ID: 7DgtGJQvgp7

--HG--
extra : rebase_source : 297baab1fd84e5302a5f90096e2bbe3bd5fbb20f
2017-12-06 11:36:50 +13:00
John Lin 33546f8acf Bug 1392747 - add debug message to trace media shutdown process. r=jwwang
MozReview-Commit-ID: LL19lxlSJem

--HG--
extra : rebase_source : 57ace04484fd3c4f9687e0f79745249358edf56b
2017-11-29 16:28:11 +08:00
Brindusan Cristian d0a4ab96a0 Merge inbound to mozilla-central r=merge a=merge 2017-11-16 00:24:15 +02:00
Kilik Kuo 426964efd1 Bug 1313449 - Refactor the condition for resolving the waiting promise. r=jya
The WaitForDataPromise cannot be resolved even when key has been updated and decode request has be resolved.
2 ScheduleUpdate(NotifyTrackDemuxer, NotifyNewOutput) are merged into 1 so that only mReceivedNewData is set to false again but MFR will
never have a chance to trigger another Update to call CancelWaitingForKey.
By refactoring the condition to resolve the WaitForDataPromise, MDSM is able to request new data and MFR is able to cancel waitingforkey then continue the flow.

MozReview-Commit-ID: 31brwzOoUvF

--HG--
extra : rebase_source : 8caf8b426dd693e2806ebb8a059a3b91026d7f52
2017-11-14 15:20:08 +08:00
Andrea Marchesini 4b1b084ce7 Bug 1416724 - part 3 - AbstractThread::Dispatch return value check in dom/media, r=jwwang 2017-11-15 07:58:03 +01:00
shindli 385fb3428c Backed out 4 changesets (bug 1416724) for failing /builds/worker/workspace/build/src/dom/media/hls/HLSDemuxer.cpp:89:5 r=backout on a CLOSED TREE
Backed out changeset 45352aa4319d (bug 1416724)
Backed out changeset 01d1e5263bcd (bug 1416724)
Backed out changeset bc854c315ec8 (bug 1416724)
Backed out changeset 35a50167485d (bug 1416724)
2017-11-15 09:49:04 +02:00
Andrea Marchesini 642cdd108b Bug 1416724 - part 3 - AbstractThread::Dispatch return value check in dom/media, r=jwwang 2017-11-15 07:58:03 +01:00
Nicholas Nethercote b15805ab71 Bug 1414759 - Replace some unnecessary media prefs with code constants. r=cpearce
Specifically:
- media.decoder.limit
- media.num-decode-threads
- media.resampling.rate
- media.wmf.decoder.thread-count
- media.cache.resource-index

--HG--
extra : rebase_source : a46aa7078b98b4731ec96b66398c51aa6cb42d27
2017-11-13 17:16:06 +11:00
Kilik Kuo f59b425307 Bug 1395922 - [P4] Make MDSM enter buffering state when MediaKeys is removed and resume the playback if setting same MediaKeys back. r=cpearce,jya
MozReview-Commit-ID: KdmeGqoVgak

--HG--
extra : rebase_source : 6c6d033db11a8d3808e08796f32ee72ffdd03aea
2017-11-03 20:14:49 +08:00
Kilik Kuo e785f1055a Bug 1395922 - [P2] Make MediaFormatReader::SetCDMProxy asynchronously with a promise. r=cpearce,jya
MozReview-Commit-ID: 7RarmmlA0lo

--HG--
extra : rebase_source : b9c2aa4489b999b84b6367329d732936822e5dea
2017-11-03 20:12:39 +08:00
Csoregi Natalia 6bf19d4921 Backed out 6 changesets (bug 1395922) for failing Media tests test_eme_sample_groups_playback.html and test_eme_sample_groups_playback.html r=backout a=backout
Backed out changeset f856af63682e (bug 1395922)
Backed out changeset f59a7e727f39 (bug 1395922)
Backed out changeset 9cd31c6a8e2c (bug 1395922)
Backed out changeset d46f952f94f8 (bug 1395922)
Backed out changeset f786d928b1e0 (bug 1395922)
Backed out changeset bacda0f99f71 (bug 1395922)
2017-11-06 12:34:02 +02:00
Kilik Kuo 4c6e8a291c Bug 1395922 - [P4] Make MDSM enter buffering state when MediaKeys is removed and resume the playback if setting same MediaKeys back. r=cpearce,jya
MozReview-Commit-ID: KdmeGqoVgak

--HG--
extra : rebase_source : b65cfc8e0e47c08e6b64b50e992bdf84da852bbd
2017-11-03 20:14:49 +08:00
Kilik Kuo 23f6932509 Bug 1395922 - [P2] Make MediaFormatReader::SetCDMProxy asynchronously with a promise. r=cpearce,jya
MozReview-Commit-ID: 7RarmmlA0lo

--HG--
extra : rebase_source : 195f64f405aa19920ccf09ffeddb087877d653a4
2017-11-03 20:12:39 +08:00
James Cheng 884fc56be9 Bug 1411523 - Remove 'this' from lambda captures [self, this] under dom/media r=jwwang
Capturing |this| only if |self| needs to appear more than twice in a lambda.

MozReview-Commit-ID: 38iYDznjgBH

--HG--
extra : rebase_source : 9471fd4519c5c5be6e6e10eb11db8eeb041327d1
2017-10-26 16:59:40 +08:00
bechen@mozilla.com fbee889f6c Bug 1408693 - Add a lock to protect the sGPUCrashDataMap. r=jwwang
MozReview-Commit-ID: 7NDcoGMkKZ3

--HG--
extra : rebase_source : 206af0de83a1fb4fb5258202a25de8484a9e2bef
2017-10-16 14:03:04 +08:00
Sebastian Hengst 7ef2d3c369 Backed out changeset bd78c5074204 (bug 1400674) 2017-10-16 10:17:55 +02:00
Jean-Yves Avenard 70c233ec2b Bug 1400674 - P3: Never drain audio decoders. r=jwwang
None of our audio decoders require draining, and as all audio frames are keyframes, we can always resume decoding from where we left of when encountering a gap in the data.

The vorbis decoder always "eats" the first sample provided, causing unecessary seek and drain.
This issue will be addressed in another change.

MozReview-Commit-ID: LNd3Pz4QT4v

--HG--
extra : rebase_source : e9e2763ec8d9e933a88319f5965fc08e154347ae
2017-10-12 19:06:07 +02:00
Alastor Wu 1bc4324cb2 Bug 1403832 - part1 : replace Error.Code() with Error.ErrorName(). r=jya
Use ErrorName() as it provides more useful information for the error detail.

MozReview-Commit-ID: BQUPQGcLd8L

--HG--
extra : rebase_source : 734825c88dfbe79de1e61498dcc24606c50314ee
2017-09-29 00:37:45 +08:00
Jean-Yves Avenard 8755f326b6 Bug 1403129 - Don't cache decoder's description. r=gerald
MozReview-Commit-ID: 5ULVmUWUBGk

--HG--
extra : rebase_source : e68fcf4db866e766ec9f60af2ce40787e2cd539a
2017-09-26 15:26:34 +02:00
Alastor Wu e22a7e735d Bug 1402206 - print error name for MediaFormatReader::OnSeekFailed(). r=jya
Print error code couldn't effectively help people understand the reason of error, we should print its name.

MozReview-Commit-ID: KaBTi8zpq91

--HG--
extra : rebase_source : 64eebd9af18fcb5062ff347464045bb9327fb716
2017-09-22 16:23:08 +08:00
Kaku Kuo 88d6505246 Bug 1401902 - we should use MediaDataDecoder's address as an ID instead of MFR::DecoderData's address;r=gerald
We misused MFR::DecoderData's address as an identity in bug 1393399 but our intention was MediaDataDecoder's address.

We report telemetry data when we get the 1st decoded frame from a new MediaDataDecoder, which is identified by its address.

If we misuse the MFR::DecoderData's address as identity, it will take longer than we expect since only when
the MFR is recreated will we get a new MFR::DecoderData.

MozReview-Commit-ID: HOf5hTSoBed

--HG--
extra : rebase_source : 76731bd11eac9243a23a972f85c72203c3a3e7f1
2017-09-21 18:02:30 +08:00
Jean-Yves Avenard ac7ed4578a Bug 1401922 - P1. Ensure an error is returned when no decoder could be created. r=alwu
PDMFactory::CreateDecoder may not always modify CreateDecoderParams::mError as not all PDM handle this optional return value.

MozReview-Commit-ID: K8WFA0o778U

--HG--
extra : rebase_source : 55c35ab0cb5282d8dfbd1bbc1a2e6e22d97d3209
2017-09-21 13:25:05 +02:00
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