Commit Graph

11028 Commits

Author SHA1 Message Date
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
JW Wang
5c00111ef1 Bug 1374930. P1 - add ChannelMediaDecoder to be the base class which uses channel-based MediaResource. r=cpearce
MozReview-Commit-ID: 6L4me2BQkgi

--HG--
extra : rebase_source : d78de302d0551b9754569885d79ed3aba6571f61
extra : intermediate-source : d32948c3c5110b663d4ac61a1f483c8f8db00707
extra : source : cfd7941b933671dcb83c1131463b39f58fec627d
2017-06-19 15:50:09 +08:00
Wes Kocher
d0eddcaa44 Merge m-c to autoland a=merge
MozReview-Commit-ID: 5D2HzsGopzc
2017-06-21 18:13:41 -07:00
Wes Kocher
ac0fd2038c Merge inbound to m-c a=merge
MozReview-Commit-ID: 3LXFVwSoMvs
2017-06-21 17:58:17 -07:00
Carsten "Tomcat" Book
7177a36cde Merge mozilla-central to mozilla-inbound 2017-06-21 14:55:27 +02:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bob Clary
47c47f43f9 Bug 1373858 - Disable dom/media/tests/mochitest/test_peerConnection_stats.html for Android failures, r=jmaher. 2017-06-21 04:57:01 -07:00
JW Wang
4bc2a74510 Bug 1374566 - remove methods that have no callers. r=gerald
MozReview-Commit-ID: 7Ze0q32VS0h

--HG--
extra : rebase_source : 470fdf5d480b9115039faeb519756e05787011af
extra : source : be2cd2df4469cec5ded0f9d07977f8f09ba60cb6
2017-06-20 16:47:03 +08:00
Wes Kocher
c0e1236f1a Merge autoland to m-c a=merge
MozReview-Commit-ID: LFtpTAueYrF
2017-06-20 18:24:29 -07:00
Gerald Squelart
c486410640 Bug 1374180 - MediaResourceIndex won't use ReadFromCache, to keep MediaCache more consistent - r=cpearce
Bug 1368837 (Add lockless cache to MediaResourceIndex) used
MediaResource::ReadFromCache when trying to fill its local cache. But this
meant that these reads would not count as "real reads" for the MediaCache,
which could lead to unexpected states, e.g. "Played block after the current
stream position?"

To solve this, this patch reverts to using normal ReadAt() calls, which let
the MediaCache update itself properly.

While still trying to read more than what is requested (to hopefully fulfill
future reads from the local cache), we don't want to be reading so much that
we block waiting for data past the caller-expected point.
To do this, MediaResourceIndex::UncachedRangedReadAt() is called to try and
read as much as could fill the local cache, but if a single
MediaResource::ReadAt() ends before we can fill the local cache, but *after*
the minimum caller-requested size, we stop trying to read, as such extra read
is at risk of blocking (assuming that the caller knows not to read too far.)

MozReview-Commit-ID: 6fGvJpmkuLz

--HG--
extra : rebase_source : bf8e9f20599a05c8f3f221b55d678f0b5da447a9
2017-06-21 11:35:00 +12:00
Bryce Van Dyk
73ab403d2f Bug 1372051 - Remove external media test source. r=maja_zf
MozReview-Commit-ID: 1cGOuAusmUx

--HG--
extra : rebase_source : 0aa62bec8d2aca2ea55c26d6cc0efc4ceec5a761
2017-06-12 10:32:15 +12:00
Sylvestre Ledru
0c1d62e1ab Bug 1375386 - Fix a -Wunused-lambda-capture warning r=jesup
MozReview-Commit-ID: DEjcPY7ihWc

--HG--
extra : rebase_source : 466a38f529ec5e1a9848a3a0f5dac7ac72e69726
2017-06-22 08:43:14 +02:00
Munro Mengjue Chiang
fd9cdef5ad Bug 1374204 - verify webrtc peerconnection tests with android hardware encoder and legacy encoder. r=jib
MozReview-Commit-ID: 8M86Qqx7GZa

--HG--
extra : rebase_source : e6b92b637f5dd63fb325796e2f2043688562246b
2017-06-19 18:22:15 +08:00
Munro Mengjue Chiang
e9b0c56543 Bug 1374204 - remove test_peerConnection_basicVideoRemoteHwEncoder.html. r=jib
MozReview-Commit-ID: UN6IERbvIs

--HG--
extra : rebase_source : 4146d4ec875a25ca988cc8e496925a93cac2d831
2017-06-19 16:24:34 +08:00
Jean-Yves Avenard
e139a2d44e Bug 1373229: P2. Disable DXVA HW decoder if ID3D10Multithread not supported. r=jya
MozReview-Commit-ID: OMFltNZaYe

--HG--
extra : rebase_source : 35b3dc14296c1630f9cebe000609b3e6e99e30f4
2017-06-21 14:40:12 +02:00
Jean-Yves Avenard
3f9301d589 Bug 1373229: P1. Disable IMFYCbCrImage when ID3D10Multithread isn't supported. r=jya
MozReview-Commit-ID: 9zzUJ0utqQm

--HG--
extra : rebase_source : f13c93f8845a1630490e173ac37e948b8c03b6ff
2017-06-16 23:15:00 +02:00
Andreas Tolfsen
955b319e9a Bug 1370863 - Stop using Marionette.log API in external media tests; r=automatedtester,SingingTree
This removes the dependency on the Marionette server-side logging API
from the external media tests.  Instead, we rely on client-side logging
alternatives.

MozReview-Commit-ID: 8kMhMflYh4q

--HG--
extra : rebase_source : 9823e0a39101b2b514cddf42220c3336ba88e411
2017-06-09 14:29:49 +01: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
e52d3b5eaa Bug 1223270: P4. Remove extra copy of YUV buffer for Theora. r=mattwoodrow
MozReview-Commit-ID: FnhPObcv4U3

--HG--
extra : rebase_source : 01a14de6f4de864ec38311549867f95f48b5b2a3
2017-05-04 15:44:46 +02:00
Jean-Yves Avenard
de2ba98442 Bug 1223270: P3. Remove extra copy of YUV buffer on Windows. r=mattwoodrow,nical
MozReview-Commit-ID: JgbAwtLNr9e

--HG--
extra : rebase_source : 72bc0cd32d95fc6eadc0604c00b9f53227135557
2017-05-03 23:25:54 +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
Jean-Yves Avenard
783434855f Bug 1374596: P6. More missing headers fixes. r=padenot
MozReview-Commit-ID: 5VYScGXOJsE

--HG--
extra : rebase_source : 6d7433b9277fb582d4873d6bb88691f5e6eab4ed
2017-06-20 17:35:26 +02:00
Jean-Yves Avenard
9223d7c8a2 Bug 1374596: P5. Fix MediaDecoder* headers. r=padenot
MozReview-Commit-ID: AjSjYXXcutJ

--HG--
extra : rebase_source : 13705fb658bdfa6e98884f9e1ab142355aab399d
2017-06-20 17:34:29 +02:00