Commit Graph

1420 Commits

Author SHA1 Message Date
Matt Woodrow
5afd2f3dd1 Bug 1538969 - Report an opaque surface format for AndroidSurfaceTextureData when it's being used for an opaque video. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D25185

--HG--
extra : moz-landing-system : lando
2019-04-10 08:08:22 +00:00
Cosmin Sabou
fa2d5b1cec Backed out 3 changesets (bug 1538969) for wpt reftests failures on transform3d-backface-visibility-001.
Backed out changeset c8e85a802c77 (bug 1538969)
Backed out changeset 911386e724bc (bug 1538969)
Backed out changeset 2332a2fb02fa (bug 1538969)

--HG--
extra : amend_source : 6f1ed1f9f2e978ab6c52a03cde73b225ff09448b
2019-04-09 08:52:20 +03:00
Matt Woodrow
34ec34f8a9 Bug 1538969 - Report an opaque surface format for AndroidSurfaceTextureData when it's being used for an opaque video. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D25185

--HG--
extra : moz-landing-system : lando
2019-04-09 03:16:09 +00:00
John Lin
2441080e34 Bug 1542440 - Recycle sample directly rather than through CodecProxy. r=jya
mJavaDecoder is invalid after the decoder is shut down and should never
be used.

Differential Revision: https://phabricator.services.mozilla.com/D26438

--HG--
extra : moz-landing-system : lando
2019-04-08 09:16:20 +00:00
Sylvestre Ledru
03c8e8c2dd Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-05 21:41:42 +00:00
John Lin
e86d5d39e0 Bug 1540036 - p2: Check buffer and codec state before processing buffers. r=jya
HandleOutput() runs on Android binder thread pool and could be preempted
by RemoteDateDecoder task queue. That means ProcessOutput() could be scheduled
after ProcessShutdown() or ProcessFlush(). When that happens, aBuffer is no
long valid and should never be processed, and aSample can be
recycled immediately.
Also assert preconditions of buffers received from Java callbacks.

Differential Revision: https://phabricator.services.mozilla.com/D26189

--HG--
extra : moz-landing-system : lando
2019-04-05 21:01:56 +00:00
Csoregi Natalia
ba58e936bd Backed out changeset 4ad80127f89f (bug 1519636) for bustage on MarkupMap.h and nsAccessibilityService.cpp. CLOSED TREE 2019-04-05 09:48:19 +03:00
Sylvestre Ledru
d1c1878603 Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-04 21:36:16 +00:00
Narcis Beleuzu
24dbe577a5 Backed out changeset 389b6bbd76db (bug 1519636) for bustages on MarkupMap.h . CLOSED TREE 2019-04-05 00:27:56 +03:00
Sylvestre Ledru
399dbd28fe Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-04 20:12:23 +00:00
Alex Chronopoulos
df730bd21e Bug 1540231 - Stop dispatching a task to the TaskQueue when we are already in it. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D25576

--HG--
extra : moz-landing-system : lando
2019-04-01 22:05:48 +00:00
Sylvestre Ledru
ef0bfc3822 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D24168

--HG--
extra : moz-landing-system : lando
2019-03-31 15:12:55 +00:00
John Lin
c668fd7d06 Bug 1308405 - p4: Separate buffer from sample object. r=snorp
To prevent new buffer object from being created per frame, either
Sample.CREATOR has to keep track of all buffers from every remote codec,
or the client must memorize seen buffers and avoid asking for them again
and again. The former saves client code from modifications but complicates
the implementation of Sample, a data structure class, while the latter
requires changes to client code but avoid overcomplicating Sample.CREATOR
implementation.

The 2nd approach is taken:
- move SampleBuffer out of Sample, and update clients accordingly
- add a new IPC method for clients to get the buffers only when needed

Differential Revision: https://phabricator.services.mozilla.com/D24590

--HG--
extra : moz-landing-system : lando
2019-03-28 18:06:23 +00:00
John Lin
f5eaaf3299 Bug 1308405 - p1: Recycle input buffer info. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D24587

--HG--
extra : moz-landing-system : lando
2019-03-28 18:04:55 +00:00
Jean-Yves Avenard
92b55dddb6 Bug 1538508 - P3. Add options to scan all frames for SPS/PPS change. r=bryce
While not required in the two examples provided, should those streams change resolution and continue to use the same type of bytstreams we would miss the changes as the keyframe never contains the new SPS/PPS NALs.

So we add an option to handle this case, so we can separate the cases where this could be needed without regressing bug 1469257

Differential Revision: https://phabricator.services.mozilla.com/D24854

--HG--
extra : moz-landing-system : lando
2019-03-27 11:03:23 +00:00
Jean-Yves Avenard
c1838d082f Bug 1538508 - P2. Don't limit search for SPS/PPS on keyframe only. r=bryce
We limited the search for a SPS/PPS change to keyframe only in bug 1469257.
However this causes issues if the first frame containing a SPS/PPS isn't a keyframe.

We also need to error on content with no SPS/PPS as to inform the caller that something is amiss. Such content was invalid to start with.

Differential Revision: https://phabricator.services.mozilla.com/D24853

--HG--
extra : moz-landing-system : lando
2019-03-27 11:02:07 +00:00
Andreea Pavel
ef6f8bfbc1 Backed out 3 changesets (bug 1538508) for assertion failure at IPCMessageUtils.h on a CLOSED TREE
Backed out changeset 2fc1fe023957 (bug 1538508)
Backed out changeset ff707483b5d4 (bug 1538508)
Backed out changeset 8a573000a49d (bug 1538508)
2019-03-27 08:32:40 +02:00
Jean-Yves Avenard
a98680f98b Bug 1538508 - P3. Add options to scan all frames for SPS/PPS change. r=bryce
While not required in the two examples provided, should those streams change resolution and continue to use the same type of bytstreams we would miss the changes as the keyframe never contains the new SPS/PPS NALs.

So we add an option to handle this case, so we can separate the cases where this could be needed without regressing bug 1469257

Differential Revision: https://phabricator.services.mozilla.com/D24854

--HG--
extra : moz-landing-system : lando
2019-03-27 02:50:08 +00:00
Jean-Yves Avenard
8555e8b380 Bug 1538508 - P2. Don't limit search for SPS/PPS on keyframe only. r=bryce
We limited the search for a SPS/PPS change to keyframe only in bug 1469257.
However this causes issues if the first frame containing a SPS/PPS isn't a keyframe.

We also need to error on content with no SPS/PPS as to inform the caller that something is amiss. Such content was invalid to start with.

Differential Revision: https://phabricator.services.mozilla.com/D24853

--HG--
extra : moz-landing-system : lando
2019-03-27 02:47:37 +00:00
Bryce Van Dyk
8def97eeab Bug 1538253 - VPXDecoder::IsCompatible checks subsampling x members for equality. r=jya
We had a stray `&&` where a `==` should have been.

Differential Revision: https://phabricator.services.mozilla.com/D24526

--HG--
extra : moz-landing-system : lando
2019-03-25 19:37:39 +00:00
Bryce Van Dyk
64a99b218e Bug 1537675 - Ensure reads in VPXDecoder.cpp happen in correct order. r=jya
Function arguments may not evaluate in order, as such, this ensures width is read
before height from VP9 streams.

Differential Revision: https://phabricator.services.mozilla.com/D24372

--HG--
extra : moz-landing-system : lando
2019-03-22 12:24:44 +00:00
Alex Chronopoulos
cbb81ed136 Bug 1536783 - Use two tile threads in dav1d decoder for performance improvement. r=TD-Linux
Differential Revision: https://phabricator.services.mozilla.com/D24331

--HG--
extra : moz-landing-system : lando
2019-03-21 20:37:46 +00:00
Jean-Yves Avenard
2060818e84 Bug 1533252 - P4. Serialize all the video MediaCapabilities queries. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D23653

--HG--
extra : moz-landing-system : lando
2019-03-15 13:54:19 +00:00
Jean-Yves Avenard
7e095aad11 Bug 1533252 - P3. Rename LocalAllocPolicy into SingleAllocPolicy. r=pehrsons
It's more descriptive with what it actually does.

Differential Revision: https://phabricator.services.mozilla.com/D23652

--HG--
extra : moz-landing-system : lando
2019-03-15 13:35:53 +00:00
Jean-Yves Avenard
cbf34767dd Bug 1533252 - P2. Make LocalAllocPolicy inherit from AllocPolicy. r=pehrsons
Despite its name and apparent use LocalAllocPolicy could only handle a single call to Alloc() at a time which was okay due to how it was used by the MediaFormatReader.

However, we do want to handle multiple calls to Alloc().

These changes allow to perform simultaneous requests and have them be processed one at a time serially.

Differential Revision: https://phabricator.services.mozilla.com/D23651

--HG--
extra : moz-landing-system : lando
2019-03-15 13:35:42 +00:00
Jean-Yves Avenard
bbdbe29869 Bug 1533252 - P1. Extract LocalAllocPolicy from MFR. r=pehrsons
So we can re-use it later.

Differential Revision: https://phabricator.services.mozilla.com/D23650

--HG--
extra : moz-landing-system : lando
2019-03-15 13:55:12 +00:00
Jean-Yves Avenard
84716a0281 Bug 1305340 - Enable low-latency decoding on Windows 10 and later. r=pehrsons
Chrome has had it enabled for years, we had disabled it originally due to crashes seen on Windows 7.

Differential Revision: https://phabricator.services.mozilla.com/D23656

--HG--
extra : moz-landing-system : lando
2019-03-15 12:26:59 +00:00
Jean-Yves Avenard
c5e1eb15d6 Bug 1521370 - Ensure WMF PDM is always initialized on the right thread. r=mattwoodrow,gerald.
And only do it once.

Depends on D22874

Differential Revision: https://phabricator.services.mozilla.com/D23247

--HG--
extra : moz-landing-system : lando
2019-03-13 06:16:52 +00:00
Jean-Yves Avenard
1d2b1aedfe Bug 1521370 - Remove unused method. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D22624

--HG--
extra : moz-landing-system : lando
2019-03-13 01:50:41 +00:00
Jean-Yves Avenard
dfa04f21b3 Bug 1521370 - Add crash guard around VPX decoder creation. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21477

--HG--
extra : moz-landing-system : lando
2019-03-13 02:36:08 +00:00
Jean-Yves Avenard
3113118c4a Bug 1534893 - Don't attempt to display an invalid TimeUnit. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D23273

--HG--
extra : moz-landing-system : lando
2019-03-13 06:58:35 +00:00
David Major
56ea434680 Bug 1528074 - Translate MSVC warning flags to clang spelling where supported r=froydnj
clang-cl only acts on five MSVC warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

With MSVC now unsupported, most -wdNNNN have no effect and can be removed.

This patch converts the five supported warnings to their clang spellings, as preparation for a subsequent patch that will remove all remaining `[/-]w[edo][0-9]{4}`.

Differential Revision: https://phabricator.services.mozilla.com/D22582

--HG--
extra : moz-landing-system : lando
2019-03-11 01:39:42 +00:00
Jean-Yves Avenard
d63e3b0ef0 Bug 1521370 - Always assume we can decode vp8/vp9. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21478

--HG--
extra : moz-landing-system : lando
2019-03-05 15:01:38 +00:00
Gurzau Raul
cdf9392948 Merge inbound to mozilla-central. a=merge 2019-03-01 15:01:31 +02:00
Gurzau Raul
6b94d177d1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
Jean-Yves Avenard
51e5ab32af Bug 1531500 - Fix HE-AAC with WMF decoder. r=cpearce
The rate changes after decoding the first sample to what was indicated in the container. The code to handle that case was incorrectly removed in bug  1530234

Differential Revision: https://phabricator.services.mozilla.com/D21618

--HG--
extra : moz-landing-system : lando
2019-03-01 00:54:32 +00:00
Lee Salzman
f5b37f6034 Bug 1530471 - remove SkiaGL Canvas2D functionality r=jrmuizel
Depends on D21050

Differential Revision: https://phabricator.services.mozilla.com/D21051

--HG--
extra : moz-landing-system : lando
2019-02-28 14:58:19 +00:00
Jean-Yves Avenard
2acc7de1f6 Bug 1530234 - P2. Don't recalculate audio sample start time. r=bryce
The WMF audio decoder recalculated the timestamp of each audio sample according to the number of frames decoded so far.
This is incompatible with the trimming mechanism that rely on the timestamps of the audio to be matching what is found in the container.

All the other audio decoders do it that way already.

Depends on D20969

Differential Revision: https://phabricator.services.mozilla.com/D21305

--HG--
extra : moz-landing-system : lando
2019-02-27 14:19:00 +00:00
Jed Davis
5cc3212784 Bug 1506291 - Move the AV1 decoders to a sandbox-friendly CPU counting wrapper. r=gcp,mjf
Counting CPUs accesses the filesystem (sysfs or procfs), which we'd like
to disallow when sandboxed if possible, and fails silently if access
is denied.  Because the CPU count rarely changes, this patch handles
that problem for the RDD process by caching a copy before starting
sandboxing.

Tested with a local patch to have the sandbox file broker client crash
if accessing the sysfs node for the CPU count, to verify that it's not
accessed.

Depends on D14524

Differential Revision: https://phabricator.services.mozilla.com/D20895

--HG--
extra : moz-landing-system : lando
2019-02-25 16:20:50 +00:00
Ryan Hunt
00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
Jean-Yves Avenard
4b9d7d9972 Bug 1528652 - Don't use WMF for decoding VP9 with alpha content. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D20957

--HG--
extra : moz-landing-system : lando
2019-02-25 01:17:31 +00:00
Jean-Yves Avenard
850a9d6aa7 Bug 1524890 - P17. Set duration on IMF sample. r=bryce
We didn't set the duration on the created IMF sample before sending it to the decoder.
For audio this isn't a problem as the duration is calculated from the number of frames returned.
For video however, the duration appears to have been calculated by WMF as the delta of pts. However, for the last frame, the value returned was set to a value not matching our input.

So we set the duration on the IMFSample so it doesn't have to make it up.

Setting the duration on the IMFSample isn't sufficient with Windows 7, which still continues to calculate it based on previous samples durations.
So we store the last sample duration and set it when draining.

Differential Revision: https://phabricator.services.mozilla.com/D20653

--HG--
extra : moz-landing-system : lando
2019-02-23 09:28:14 +00:00
Jean-Yves Avenard
4a6552a7d5 Bug 1524890 - P14. Add AudioTrimmer wrapper. r=bryce
A simplistic decoder wrapper that will take decoded frames and truncate them should the originally compressed frame contained trimming information.

Differential Revision: https://phabricator.services.mozilla.com/D20173

--HG--
extra : moz-landing-system : lando
2019-02-24 10:29:52 +00:00
Jean-Yves Avenard
4377bd3b8b Bug 1524890 - P11. Remove duration from AudioData construction parameter. r=bryce
It can be determined from the size of the buffer and the number of audio frames. Additionally, it ensures that the duration of the frame is always exactly what the AudioData contains.

Differential Revision: https://phabricator.services.mozilla.com/D20170

--HG--
extra : moz-landing-system : lando
2019-02-22 09:19:47 +00:00
Jean-Yves Avenard
7f3801ebd7 Bug 1524890 - P8. Rely on buffer length to calculate the number of frames. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D20166

--HG--
extra : moz-landing-system : lando
2019-02-22 09:19:00 +00:00
Jean-Yves Avenard
3cf8c6d0df Bug 1524890 - P7. No longer access AudioData::mFrames directly. r=bryce
This will allow to remove mFrames member and calculate from the size of the content, which will dynamically change depending on a cropping filter.

Differential Revision: https://phabricator.services.mozilla.com/D20165

--HG--
extra : moz-landing-system : lando
2019-02-22 09:18:47 +00:00
David Major
33bacb9783 Bug 1528074 - Clean up some media warning flags r=jya
I suspect these may have been cargo-culted from elsewhere.

We only need -Wno-sign-compare, which we can add regardless of compiler because clang-cl understands it natively in addition to the -wdNNNN form.

Differential Revision: https://phabricator.services.mozilla.com/D20616

--HG--
extra : moz-landing-system : lando
2019-02-22 17:22:12 +00:00
Sylvestre Ledru
e0c61dafa5 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Summary: # ignore-this-changeset

Reviewers: Ehsan

Reviewed By: Ehsan

Subscribers: emilio, jandem, bbouvier, jya

Bug #: 1519636

Differential Revision: https://phabricator.services.mozilla.com/D20062
2019-02-16 20:20:37 +01:00
Michael Froman
9599965900 Bug 1500596 - pt3 - Add remote audio decoding for Vorbis. r=jya
- Use a single remote decoder IPDL spec and make a remote decoding
  base class.
Renames PRemoteVideoDecoder.ipdl to PRemoteDecoder.ipdl
Renames RemoteVideoDecoder{Child|Parent}.{cpp|h} to
        RemoteDecoder{Child|Parent}.{cpp|h}

- Move remote video decoding to new subclasses.
Creates RemoteVideoDecoder.{cpp|h} that contains both the parent
and child sides of the RemoteVideoDecoder{Child|Parent} classes.

- Create new remote audio decoder
Creates RemoteAudioDecoder.{cpp|h} that contains both the parent
and child sides of the RemoteAudioDecoder{Child|Parent} classes.

- Connect all the plumbing to use the new remote audio decoder to
  decode Vorbis in RDD including a new pref to control whether
  Vorbis is decoding in the AgnosticDecoderModule or the
  RemoteDecoderModule/RDD (media.rdd-vorbis.enabled).

Depends on D18640

Differential Revision: https://phabricator.services.mozilla.com/D18641

--HG--
rename : dom/media/ipc/PRemoteVideoDecoder.ipdl => dom/media/ipc/PRemoteDecoder.ipdl
rename : dom/media/ipc/RemoteVideoDecoderChild.cpp => dom/media/ipc/RemoteDecoderChild.cpp
rename : dom/media/ipc/RemoteVideoDecoderChild.h => dom/media/ipc/RemoteDecoderChild.h
rename : dom/media/ipc/RemoteVideoDecoderParent.cpp => dom/media/ipc/RemoteDecoderParent.cpp
rename : dom/media/ipc/RemoteVideoDecoderParent.h => dom/media/ipc/RemoteDecoderParent.h
extra : moz-landing-system : lando
2019-02-14 19:08:21 +00:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

Differential Revision: https://phabricator.services.mozilla.com/D19615

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00