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

11050 Коммитов

Автор SHA1 Сообщение Дата
JW Wang 21dc253e76 Bug 1377025. P2 - dispatch intrinsic size changes to the main thread. r=cpearce
So we can remove the use of mMutex from InvalidateWithFlags().

MozReview-Commit-ID: 75pHDM5xYYb

--HG--
extra : rebase_source : e39e1a3e4c796b8163b0c9b1bfeec048e6fb06f0
2017-06-29 10:27:38 +08:00
JW Wang 2545c614c0 Bug 1377025. P1 - dispatch image size changes to the main thread so mImageSizeChanged is for main thread only. r=cpearce
MozReview-Commit-ID: 6rpxjSVAY2h

--HG--
extra : rebase_source : e441d96e6e18c7891a6236d7909357248dad3bd6
2017-06-28 23:04:49 +08:00
Gerald Squelart 7866e6fdb6 Bug 1377015 - MediaCodecs::ContainsPrefix implementation and tests - r=rillian
Many video codecs use a suffix to specify level, profile and optional features,
like "avc1.42E001" or "vp09.00.41.08".
MediaCodecs::ContainsPrefix() can be used to facilitate codec identification
from their prefix alone, e.g.: "avc1" or "vp09".

MozReview-Commit-ID: D6kcjggXptS

--HG--
extra : rebase_source : 3a60c01da1d91adf29f51ce3c32f8df60282c90a
2017-06-29 11:17:56 -07:00
Andreas Pehrson 0a679e33cf Bug 1376885 - Add prefs for automatically denying camera/microphone gUM prompts. r=jib
MozReview-Commit-ID: ISWek1BcLss

--HG--
extra : rebase_source : cc55cdce0e90ab56de05a165b7e1438830006f30
2017-06-28 12:09:14 -07:00
Mark Banner 9125ef0441 Bug 1376357 - Fix remaining ESLint issues in dom/media/*.js*. r=bwc
MozReview-Commit-ID: 7kjmQt1Ik6e

--HG--
extra : rebase_source : 44df30a423c897c3f4ef52cebffa59961a65ff25
2017-06-26 17:25:22 -07:00
Mark Banner ed3e830fe1 Bug 1376357 - Automatically fix ESLint issues in dom/media/*.js*. r=bwc
MozReview-Commit-ID: 6JXIHvJoZqS

--HG--
extra : rebase_source : 601c811e8cf623bf5a29c2bdbcdd2f1413a6eaca
2017-06-28 12:41:50 -07:00
Mark Banner fcf4f2c48b Bug 1376357 - Drop use of non-standard catch-if in dom/media/*.js. r=bwc
MozReview-Commit-ID: 1LkJGQz1y1w

--HG--
extra : rebase_source : 09f16297633c9d1b9841454ac1750bceeb7ca572
2017-06-26 16:55:26 -07:00
Carsten "Tomcat" Book 5f00ae3a8b merge mozilla-inbound to mozilla-central a=merge 2017-06-29 15:47:04 +02:00
JW Wang c6e43291cb Bug 1376363. P3 - remove MediaResource::GetContentType() and its friends. r=gerald
Note we remove the call to mChannel->SetContentType() from RecreateChannel().

The hint never works as expected for [1] is the only caller to
nsIChannel::GetContentType() and MediaResource::Create() always happens
before any reads from the resource.

[1] http://searchfox.org/mozilla-central/rev/b425854d9bbd49d5caf9baef3686e49ec91c17ec/dom/media/MediaResource.cpp#1500

MozReview-Commit-ID: 1n4yHEouCjC

--HG--
extra : rebase_source : 9a7345c29b985ddee7a90a94191e9d526e2a0a67
extra : source : 054d9ffaf21eb937a6349df76228269ad2d7dc2c
2017-06-26 21:39:16 +08:00
JW Wang 69f64ebb45 Bug 1376363. P2 - call ContainerType() in EnsureTelemetryReported(). r=gerald
MozReview-Commit-ID: 515Q6nXZ7WU

--HG--
extra : rebase_source : a13964ca23cd561db8f95ad2ffbeac5ff2411238
extra : source : 59e7c3d78a9df5b2827cb14a211d59113968f432
2017-06-26 17:11:48 +08:00
JW Wang 1e2be3e873 Bug 1376363. P1 - store container type in MediaDecoder. r=gerald
So we can remove MediaResource::GetContentType() in the future.

MozReview-Commit-ID: zWUNF2uGpf

--HG--
extra : rebase_source : 04f50c4db9dac8503f878a8a1986e627f9a074a3
extra : source : 10737393beaabed640aa3ff67fac2a07567400b4
2017-06-26 17:10:47 +08:00
Ralph Giles efcb8bc380 Bug 1376636 - Exempt AV1 decoding from the vp9 benchmark. r=gerald
Accept av1 video in the webm decoder even when we've determined
the machine is too slow for software vp9 decoding. While we're
at an experimental stage with this codec, poor performance is
preferable to not being able to see a demo at all.

MozReview-Commit-ID: 6DJHCPfXHlA

--HG--
extra : rebase_source : 8fb5c0dac6483abf4775e3546dadd5aaa45947ac
2017-06-27 17:20:00 -07:00
Kilik Kuo 200981e17f Bug 1368904 - Handle unexpected error callback from GeckoHlsPlayer. r=JamesCheng
MozReview-Commit-ID: CQDjFXiFDrQ

--HG--
extra : rebase_source : 48624955e10c3df3b860bcf77ada11da43f9d068
2017-06-28 15:09:00 -07:00
Sebastian Hengst 9a1a3b8ebd Backed out changeset 0e4bdf5c1628 (bug 1376636) for Android bustage. r=backout 2017-06-29 03:28:18 +02:00
Ralph Giles 892c70acff Bug 1376636 - Exempt AV1 decoding from the vp9 benchmark. r=gerald
Accept av1 video in the webm decoder even when we've determined
the machine is too slow for software vp9 decoding. While we're
at an experimental stage with this codec, poor performance is
preferable to not being able to see a demo at all.

MozReview-Commit-ID: 6DJHCPfXHlA

--HG--
extra : rebase_source : 0819c3ddd437e9e56b18ba1fc6c56d4bdaebfa77
2017-06-27 17:20:00 -07:00
Jan Keromnes 5257fdad8c Bug 1372977 - Use nullptr in /media and /dom/media (clang-tidy: modernize-use-nullptr). r=bwc 2017-06-28 15:38:00 -04:00
Chris Pearce d4a2f03ae3 Bug 1376957 - Call rand_s() before starting GMP sandbox on Windows. r=bobowen
The loading of Widevine CDM 970 is being blocked on Windows 7 by our sandbox
when the CDM calls RtlGenRandom(). Chrome is calling s_rand() before enabling
the sandbox [1] in order to load the appropriate DLLs so that the call
succeeds, so we should do the same.

[1] https://cs.chromium.org/chromium/src/content/ppapi_plugin/ppapi_thread.cc?l=424&rcl=d0d190c09619cb359296999438551b66f0e1cdb1

MozReview-Commit-ID: IvmlQY0ohHc

--HG--
extra : rebase_source : d84780fda8181d2afaf4526ea37526522e90431c
2017-06-28 15:19:30 -07:00
Chris Pearce c1a1beca7f Bug 1376509 - Bump supported playack rates to [1/16,16]. r=padenot
Chrome supports playback rates in the ranges of [1/16,16], so we may as well
support the same.

MozReview-Commit-ID: 7mMXQfPiv9d

--HG--
extra : rebase_source : 5dd0b717ad711f49ff3df5156cc07d48c8a694b7
2017-06-28 10:00:58 -07:00
Jean-Yves Avenard d61a420f11 Bug 1376838: Revert "Bug 1360006: Whitelist VP9 decoder to intel GPU only." r=cpearce
This reverts commit 77f2dd5563d2c3e9ad7ada388036f1846c1e2107

MozReview-Commit-ID: 71Hr05Z6hA4

--HG--
extra : rebase_source : 3efa2e95d2a560b43443a07fc1948cf146d054f0
2017-06-28 19:45:24 +02:00
JW Wang 02c08823c6 Bug 1376360. P3 - remove the call path for null aStreamListener in FileMediaResource::Open(). r=gerald
Null aStreamListener is passed only when cloning.
Since we remove cloning in P2, we can now remove the call path.

MozReview-Commit-ID: B0vKVy5jsqo

--HG--
extra : rebase_source : a93fad61325d29faa2d45e7c1d3762616ab72cff
2017-06-23 16:35:09 +08:00
JW Wang 286ed749b6 Bug 1376360. P2 - make FileMediaResource non-cloneable. r=gerald
It doesn't make much sense to clone a FileMediaResource for they have no data to share.

MozReview-Commit-ID: IoR87DAUCFa

--HG--
extra : rebase_source : eab6c0f013be9e3b1877d29f16c1701f27460578
2017-06-23 16:28:36 +08:00
JW Wang a05b9a90ee Bug 1376360. P1 - give CloneData() a default implementation for most resource types don't support clone. r=gerald
Also remove CanClone() overrides that are identical to that of the base class.

MozReview-Commit-ID: A0Q5ychQtso

--HG--
extra : rebase_source : 3369558a8e6bc9f86ab6dcdc39fe40f686041001
2017-06-23 16:26:30 +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
Dan Minor 052a7764f8 Bug 1319489 - Allow DOMMediaStream constructor to accept a nullptr for aWindow; r=jesup
For testing purposes, it is useful to pass a null aWindow to the DOMMediaStream
constructor. This limits the amount of code that needs to be mocked to create
a mock media stream.

MozReview-Commit-ID: Jgm1m7N0FU4

--HG--
extra : rebase_source : 90ab0157bd0d75cb53190bf4a5d388971a6fdd1b
2017-06-21 12:51:33 -04:00
Carsten "Tomcat" Book 259377b6ab merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
JW Wang 43c85c2307 Bug 1376227. P5 - merge CreateResource() and Load() for they are highly coupled. r=gerald
MozReview-Commit-ID: EH9NROdQfmd

--HG--
extra : rebase_source : 63c2ba04de1a25fb05db15977d8a19638e31b272
2017-06-23 15:39:57 +08:00
JW Wang 350f03bde7 Bug 1376227. P3 - move Load() down the class hierarchy. r=gerald
So we won't pass an unused |nsIStreamListener**| to MediaSourceDecoder::Load().

MozReview-Commit-ID: 2TCby8m8K5H

--HG--
extra : rebase_source : 349179aa4303c0abd8b86a695789770e158e5c28
extra : intermediate-source : d6f550bd6709a0ee7db6033286af42565a20cdb1
extra : source : ed524d855a1a78665c499152a9360ba961655641
2017-06-23 14:12:41 +08:00
JW Wang 1dbf0f77fa Bug 1376227. P2 - remove unused code following P1. r=gerald
MozReview-Commit-ID: JbwY1Owtk7H

--HG--
extra : rebase_source : 0f82ac16f56ce6ba27944b093b49c8ff6479e66c
extra : intermediate-source : 38c1c8a70fb0209f8c6a3ca596664db9af089763
extra : source : 7cfe394c4790ca7687db9004c96380f088c2bb59
2017-06-21 17:34:22 +08:00
JW Wang 884c26d368 Bug 1376227. P1 - let MediaDecoder sub-classes have the knowledge how to create a MediaResource. r=gerald
MozReview-Commit-ID: 2fHEkU46MUr

--HG--
extra : rebase_source : 18f5b01a065d6acbdc88ce808f8bd1e8e462e8d7
extra : intermediate-source : e003e070535d95f7e6334f4a92d6d763d436023c
extra : source : 450d506c6bb85f53b44fed296a32845bcd777905
2017-06-21 17:30:56 +08:00
Jean-Yves Avenard f71786c57f Bug 1374774: P4. Correct H264 telemetry reporting. r=gerald
The code couldn't have worked, mNeedSPSForTelemetry can only be set if we didn't get an H264 extradata in the MP4 metadata.
So any calls to HasSPS(sample->mExtraData) would have always returned false.

MozReview-Commit-ID: 3PcRXJHBJyC

--HG--
extra : rebase_source : 5b70a1e40b38b61982264784c489f11ddf9d4682
2017-06-22 14:52:07 +02:00
Jean-Yves Avenard 234164b774 Bug 1374774: P3. Remove HasSPS method. r=gerald
It was only used in one spot, and incorrectly at that.

MozReview-Commit-ID: EWkkrAlYT7W

--HG--
extra : rebase_source : a19afe8f49e1e0fd430ddbff81978eb3511c5fb5
2017-06-22 14:44:21 +02:00
Jean-Yves Avenard 0ac3f1c5b4 Bug 1374774: P1. Move H264 methods into H264 code. r=gerald
HasSPS, ExtractExtraData and CompareExtraData have nothing to do with the handling of annex B format. They are raw H264 related methods.

It will also prevent in the following change to have cycling references between two headers.

MozReview-Commit-ID: FCs5aU4GcTU

--HG--
extra : rebase_source : a96fe0c70416d38690b0c2f1dee567b0b025e947
2017-06-22 14:36:11 +02:00
Sebastian Hengst 261b25bf86 Backed out changeset 0d953ca28add (bug 1374774) for bustage at media/libstagefright/binding/H264.cpp(205). 'ptr' not declared. r=backout on a CLOSED TREE 2017-06-24 00:49:18 +02:00
Sebastian Hengst ca778305be Backed out changeset 361c9c559b7e (bug 1374774) 2017-06-24 00:48:18 +02:00
Sebastian Hengst 1f514e90aa Backed out changeset e7e570157874 (bug 1374774) 2017-06-24 00:48:14 +02:00
Jean-Yves Avenard bfeee68f7d Bug 1374774: P4. Correct H264 telemetry reporting. r=gerald
The code couldn't have worked, mNeedSPSForTelemetry can only be set if we didn't get an H264 extradata in the MP4 metadata.
So any calls to HasSPS(sample->mExtraData) would have always returned false.

MozReview-Commit-ID: 3PcRXJHBJyC

--HG--
extra : rebase_source : 4137b9c985ffe7ee3958fad509149bf911229eed
2017-06-22 14:52:07 +02:00
Jean-Yves Avenard bcd57adc64 Bug 1374774: P3. Remove HasSPS method. r=gerald
It was only used in one spot, and incorrectly at that.

MozReview-Commit-ID: EWkkrAlYT7W

--HG--
extra : rebase_source : 9c719bbf668eafaac0415580ffdfa0cea0942673
2017-06-22 14:44:21 +02:00
Jean-Yves Avenard abaade7f70 Bug 1374774: P1. Move H264 methods into H264 code. r=gerald
HasSPS, ExtractExtraData and CompareExtraData have nothing to do with the handling of annex B format. They are raw H264 related methods.

It will also prevent in the following change to have cycling references between two headers.

MozReview-Commit-ID: FCs5aU4GcTU

--HG--
extra : rebase_source : b204723cdbb599d4f0a227871ed28f5da39e9cff
2017-06-22 14:36:11 +02:00
Carsten "Tomcat" Book 7af37a52bd Merge mozilla-central to mozilla-inbound 2017-06-23 11:44:21 +02:00
Carsten "Tomcat" Book 5f51e5596e merge mozilla-inbound to mozilla-central a=merge 2017-06-23 11:28:19 +02:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Gerald Squelart 3faa7098b0 Bug 1374441 - Backed out bug 1374173 (MediaCacheStream Seek&Read refactoring) - r=jwwang
Bug 1374173 seems to be the cause of all MediaCache intermittent assertion
failures. It's not an important bug, so let's back-out and verify that
intermittents disappear.

MozReview-Commit-ID: 2X8iW1hWu99

--HG--
extra : rebase_source : e22443a5b9d5ba9a6ce4b126953a880e8e469cd2
2017-06-23 13:18:07 +12:00
Chris Pearce 5734680cc7 Bug 1375708 - Use base::Time() instead of time(0) in WidevineDecryptor::GetCurrentWallTime(). r=gerald
On Linux some implementations of time(0) appear to be suffering from integer
overflow and giving us the wrong dates. This causes the time we expose to the
CDM to be wrong, and so licenses passed to the CDM are failing to authenticate,
and Netflix is thus broken on some Linux systems.

This is only happening in Firefox 54 and earlier, as in those versions we use
the WidevineDecryptor to talk to the CDM. In 55 (in beta) and later we use the
PChromiumCDM protocol to talk to the CDM. This doesn't use time(0) to get a
time for the CDM, so it's immune to the problem here.

So this patch makes the GetCurrentWallTime() implementation in
WidevineDecryptor match the code currently being used on Nightly and Beta in
the ChromiumCDMChild::GetCurrentWallTime() function.

Since we use the PChromiumCDM protocol to talk to the CDM on Nightly and Beta
by default, the WidevineDecryptor isn't actually being used on Nightly and
Beta. So this patch will only cause a behaviour change in Release, which still
uses the old backend. However it will make Release run the same code that we're
running in Nightly and Beta, so it should be safe to uplift to Release.

MozReview-Commit-ID: J58iDyinyQG

--HG--
extra : rebase_source : dcdf4a846f7b007526aa626db24598942f13f01d
2017-06-23 16:02:14 +12:00
bechen 64a0e9a63e Bug 1373975 - Modify the testcase to meet spec. if a cue.endTime is equal to playbacktime, the cue is not an activeCue. r=rillian
MozReview-Commit-ID: 24sXOtW3n54

--HG--
extra : rebase_source : e9ea01def3c9bdf4485530a1c8616b001e6f2dee
2017-06-23 09:36:20 +08:00
Nicholas Nethercote f1364a75ea Bug 1374580 (part 3) - Remove ns{,C}Substring typedefs. r=froydnj.
All the instances are converted as follows.

- nsSubstring  --> nsAString
- nsCSubstring --> nsACString

--HG--
extra : rebase_source : cfd2238c52e3cb4d13e3bd5ddb80ba6584ab6d91
2017-06-20 19:19:52 +10:00
Nicholas Nethercote 033f83145c Bug 1375387 - Reorder and section-ify GeckoProfiler.h. r=mstange.
This patch gives some structure and order to the profiler's API.

It also renames AutoProfilerRegister as AutoProfilerRegisterThread, to match
profiler_register_thread().
2017-06-22 14:28:47 +10:00
Jan Beich 2ade215022 Bug 1375398 - Unbreak build without Gecko Profiler after bug 1374389. r=jya
MozReview-Commit-ID: 7DZESkA9G28

--HG--
extra : rebase_source : 89fd05d4e68f7096a46d95dfbb7c3f857ca390d2
2017-06-22 07:50:52 +00:00
Nico Grunbaum f24257104b Bug 1343515 - fixing video recv side jitter timebase;r=drno
MozReview-Commit-ID: Kax8OTcSnSL

--HG--
extra : rebase_source : 197786598a62e7657219f0cca11b6742c441b62d
2017-06-07 12:33:22 -07:00
JW Wang 6cd0d57b3c Bug 1374930. P4 - move ResourceCallback to ChannelMediaDecoder. r=cpearce
We also move some methods to protected so they are callable from ChannelMediaDecoder.

MozReview-Commit-ID: 6s9LKNkbJhX

--HG--
extra : rebase_source : 172ea88bc01552a90f5ef51db2b5af0ac5551c3b
extra : intermediate-source : a724333159c6b408e2fa68dba2d0a467f3c55940
extra : source : 03760e05ea8044b3404d29bb62205a2f62892d4b
2017-06-20 18:10:56 +08:00
JW Wang 61f7ca2479 Bug 1374930. P3 - move Clone() down to ChannelMediaDecoder for clone is possible only for those use channel-based resource. r=cpearce
MozReview-Commit-ID: Ci2kbts2pkQ

--HG--
extra : rebase_source : 3a2e70ca4bf56e1c73b7faff8e183211787a96bf
extra : source : 682cb949adae4683ae1cbbfbb4c457b83cb1fddc
2017-06-20 18:10:27 +08:00