Commit Graph

987 Commits

Author SHA1 Message Date
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
caf8ded66d Bug 1374936: P2. Check for error. r=mattwoodrow
MozReview-Commit-ID: A8Cy3BsZS8h

--HG--
extra : rebase_source : b68539f27a8fa1723bd61dda6cff07e13f59e97d
2017-06-21 08:48:18 +02:00
Jean-Yves Avenard
a44433f0b6 Bug 1374936: P1. Properly output ARGB32 with transform. r=mattwoodrow
MozReview-Commit-ID: Cp4fBtqDh7A

--HG--
extra : rebase_source : 35bdf9b4b4e57587cd1878fe9f3035be04895beb
2017-06-21 08:45:52 +02:00
Carsten "Tomcat" Book
57edf8693b Backed out changeset c79b6d337d04 (bug 1223270) 2017-06-20 09:41:39 +02:00
Carsten "Tomcat" Book
597a16c2e2 Backed out changeset b0b4667e25df (bug 1223270) 2017-06-20 09:41:38 +02:00
Carsten "Tomcat" Book
47e4bdba4f Backed out changeset de548d84af20 (bug 1373229) 2017-06-20 09:41:32 +02:00
Jean-Yves Avenard
e80cd91595 Bug 1373229: P1. Disable IMFYCbCrImage when ID3D10Multithread isn't supported. r=bas
Additionally, we disable hardware decoding on those systems.

MozReview-Commit-ID: 9zzUJ0utqQm

--HG--
extra : rebase_source : 0e7fdaf166a47969338018dea0d5fd9f1efb8d4b
2017-06-16 23:15:00 +02:00
Jean-Yves Avenard
ddd4699e3f Bug 1223270: P4. Remove extra copy of YUV buffer for Theora. r=mattwoodrow
MozReview-Commit-ID: FnhPObcv4U3

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

--HG--
extra : rebase_source : c7e813a29bd4d0f46c73b5579fec4bc77081cee1
2017-05-03 23:25:54 +02:00
Jean-Yves Avenard
851b08981f Bug 1374210: Reject/Cancel any pending operations. r=gerald
MozReview-Commit-ID: GVlzm2GWT1D

--HG--
extra : rebase_source : a94491b69960a2679ae20433461ecb51e1821b15
2017-06-19 10:38:22 +02:00
Sebastian Hengst
ae6761b147 Backed out changeset aeba107c84c5 (bug 1374210) for crashing mediasource-activesourcebuffers.html in non-e10s mode and timing out in e10s mode. r=backout 2017-06-19 13:05:00 +02:00
Jean-Yves Avenard
f31aa4ab98 Bug 1374210: Reject/Cancel any pending operations. r=gerald
MozReview-Commit-ID: GVlzm2GWT1D

--HG--
extra : rebase_source : 4c57b062528fe45aaa10d2266ff91f29c283af09
2017-06-19 10:38:22 +02:00
Jean-Yves Avenard
904b949686 Bug 1374068: P2. Rewrite bits with lambdas. r=gerald
Allow to get rid of the mPendingSample member, making the logic easier to follow.

MozReview-Commit-ID: F7a25p1TP8J

--HG--
extra : rebase_source : 9413f8a685df44b6e93e7382a0eda77dce27056f
2017-06-18 17:57:35 +02:00
Jean-Yves Avenard
9935370468 Bug 1374068: P1. Drain the decoder when content is changing. r=gerald
MozReview-Commit-ID: EUiBIaHzBCO

--HG--
extra : rebase_source : 5d6b1f68d3572baa87a4de38d9daf3804cdc6aff
2017-06-18 17:29:23 +02:00
Bill McCloskey
d6affd5261 Bug 1365098 - Convert NS_GetCurrentThread uses in dom/media (r=cpearce)
MozReview-Commit-ID: DUPt6xj49zz
2017-06-12 20:20:08 -07:00
Chris Pearce
abac85f1d9 Bug 1372080 - Reorder frames decoded by Widevine CDM. r=jya
The next version of the Widevine CDM (970) has a new H.264 decoder and it does
not appear to be outputing frames it decodes in presentation order, so we need
to reorder the frames output by the CDM.


MozReview-Commit-ID: HMsQVN3NCIU

--HG--
extra : rebase_source : 68ef406556087434fa12b72ae5ed5c2e1bce2b64
2017-06-12 17:47:05 +12:00
Jean-Yves Avenard
f8c58713e0 Bug 1371290: P2. Override sample duration if unknown. r=mattwoodrow
The VP9 decoder doesn't properly set the sample duration, leading to all samples being marked as having a zero duration.

The compositor drops those frames incorrectly. This issue will be addressed in bug 1222874.

MozReview-Commit-ID: JQdtTL4nAN

--HG--
extra : rebase_source : 7c69cd3522c4b2231a07ab3f3c1d012843ac2f69
2017-06-08 13:48:39 +02:00
Jean-Yves Avenard
3351746b41 Bug 1371290: P1. Use TimeUnit in WMF decoder. r=mattwoodrow
Using a float to store the last duration was unwise (as it has only a 24 bits mantissa), luckily it wasn't used except very particular circumstances.

MozReview-Commit-ID: BpL8ufQFNeR

--HG--
extra : rebase_source : b4a5a1301be4a0a81d1907b6296cbb4b6c4877d9
2017-06-08 13:44:46 +02:00
Jean-Yves Avenard
9f0eebe46e Bug 1370079: P1. Don't check for DXVA support when checking for VP9 support. r=mattwoodrow
SupportsMimeType is called in the content process, for which, following bug  1338011, dxva is marked as disabled.

CanCreateWMFDecoder already performs the check of allowing VP9 only if it's hardware accelerated, so we don't need to test if dxva is enabled prior.

MozReview-Commit-ID: 7Jvaop6ZznU

--HG--
extra : rebase_source : 854e7b09718863e710843d11c9327de47abf1076
2017-06-08 13:54:00 +02:00
Jean-Yves Avenard
45d7f2628e Bug 1370805: P3. Use whichever extradata is available when constructing the decoder. r=jwwang
Prior bug 1313398, the only time we would call H264Converter::CreateDecoderAndInit was if we encountered AVC3 content where the H264 extradata didn't exist in the metadata.
AVC3 was the only situation where mDecoder would be null after construction.

However, now, it is possible for the construction of the decoder to be interrupted, which would leave mDecoder null. For AVC1 content, if this happened, we wouldn't have in-band SPS/PPS necessary for CreateDecoderAndInit to complete.
So we use whichever extradata is available.

MozReview-Commit-ID: 702xj045LAv

--HG--
extra : rebase_source : e85077cedfece066398e36d8a4dd16f4bd406db6
2017-06-07 15:14:57 +02:00
Jean-Yves Avenard
a81b74c44a Bug 1370805: P2. Let current operation completes before continuing. r=jwwang
This is a simpler approach required as both InitPromise and FlushPromise are exclusives.

It's in practice simpler too.

MozReview-Commit-ID: ItaAhC0Bk8T

--HG--
extra : rebase_source : 2c68b8843cfccd784bfcf1ae4fd08407ee891349
2017-06-07 15:10:04 +02:00
Jean-Yves Avenard
09f24e7c7d Bug 1370805: P1. Revert "Bug 1370164: Properly handle flushing during ongoing operations. r=jwwang"
--HG--
extra : rebase_source : d2ed98092313a357912443238d7c48e060c462f7
2017-06-07 13:32:09 +02:00
Jean-Yves Avenard
68e7478636 Bug 1370487: Don't incorrectly recreate a decoder. r=JamesCheng
On android and devices supporting decoder recycling the decoder would be reset for every new sample not containing inband SPS/PPS

MozReview-Commit-ID: 8BHALsDgPvg

--HG--
extra : rebase_source : 11802954ec0dac885d61aebb9983588daff88dc2
2017-06-07 17:25:16 +02:00
John Lin
f6631d92ad Bug 1366706 - accepts video frames with negative timestamp but non-zero size. r=jya
MozReview-Commit-ID: 5QqzOesIynN

--HG--
extra : rebase_source : 7bcebe28e90189a79f554e8fc27d77d7db52d924
2017-06-06 16:11:33 +08:00
Jean-Yves Avenard
6142d3e791 Bug 1370164: Properly handle flushing during ongoing operations. r=jwwang
MozReview-Commit-ID: 4eAHAuBqOtK

--HG--
extra : rebase_source : 855ace96b31fd8404efad8c0d00fc85a58b5753f
2017-06-05 20:56:22 +02:00
Makoto Kato
f6a1c5c5d1 Bug 1369992 - Make GetNative as public for clang. r=jolin
When building Fennec using clang, the following build error occurs.

 0:17.02 /mozilla/mobile/media/webrtc/signaling/src/media-conduit/WebrtcMediaCodecVP8VideoCodec.cpp:1099:27: error: 'GetNative' is a protected member of 'mozilla::jni::NativeImpl<mozilla::java::CodecProxy::NativeCallbacks, mozilla::JavaCallbacksSupport>'
 0:17.02     JavaCallbacksSupport::GetNative(mJavaCallbacks)->Cancel();
 0:17.02                           ^
 0:17.02 /mozilla/objdir-android/dist/include/mozilla/jni/Natives.h:821:18: note: declared protected here
 0:17.02     static Impl* GetNative(const typename Cls::LocalRef& instance) {
 0:17.02                  ^

We should define GetNative as public into JavaCallbacksSupport.h.

MozReview-Commit-ID: DYEyB2dRK8y

--HG--
extra : rebase_source : 8f77cac02800149aef814ce5fcd7bd3d23b56193
2017-06-03 21:09:58 +09:00
Ralph Giles
fcb2bf2018 Bug 1369950 - Update aom. r=gerald
Update our in-tree copy of the aom reference implementation
of the av1 video codec to upstream git commit id
aadbb0251996c8ebb8310567bea330ab7ae9abe4.

This picks up recent changes and addresses a build issue on win64.

MozReview-Commit-ID: 34LXXzFtEFN

--HG--
extra : rebase_source : 0face926928de6bd1c6a1726df912bd20e363e60
2017-05-10 14:16:55 -07:00
Ralph Giles
1cd421b9df Bug 1369950 - Remove aom_codec_stream_info_t sz field references. r=gerald
Upstream has removed the requirement to set this when
initializing the stream_info struct.

MozReview-Commit-ID: 24OJ550Ral

--HG--
extra : rebase_source : 501fd9f51084a4b6f779462536e94c71cf8c5bb7
2017-05-09 11:10:51 -07:00
Jean-Yves Avenard
5e8ee8b868 Bug 1345342: Cancel pending requests. r=jya
If the pending first frame decoding was cancelled, the next call to decode could lead to a crash.

MozReview-Commit-ID: 6Q4eKUzqOly

--HG--
extra : rebase_source : 3640a2edd07fdbd4811295c0088a4086ac579b26
2017-06-04 12:03:25 +02:00
Cameron McCormack
76df568747 Backed out changeset ff724e355b2d (bug 1345342) per jya's request. 2017-06-05 15:58:41 +08:00
Jean-Yves Avenard
f5de325f6f Bug 1345342: Cancel pending requests. r=jya
If the pending first frame decoding was cancelled, the next call to decode could lead to a crash.

MozReview-Commit-ID: 6Q4eKUzqOly

--HG--
extra : rebase_source : 620efb39265944998c23c184e831a5b71f9b437f
2017-06-04 12:03:25 +02:00
James Willcox
5dee9f6c40 Bug 1367287 - Release video surface when decoder is shut down r=jolin
MozReview-Commit-ID: GgWYSzBx7ZF
2017-06-02 10:14:12 -05:00
Jean-Yves Avenard
a9142498ec Bug 1360006: Whitelist VP9 decoder to intel GPU only. r=mattwoodrow
We enable by default the VP9 hardware decoder on intel GPU.

MozReview-Commit-ID: FzMzbpZErjQ

--HG--
extra : rebase_source : f34c969f7dda1ef24224e982f31d5e43cfae7cc0
2017-06-01 22:17:56 +02:00
Ralph Giles
d282fd8a60 Bug 1368839 - Add av1 to MediaSource.isTypeSupported. r=gerald
When av1 video playback is enabled, declare it as supported
in the webm container in MediaSource.IsTypeSupported.

Also support special mime types of the form

  video/webm; codecs=vp9.experimental.<git-commit-id>

so test sites can verify playback support of particular encodings
while the av1 bitstream is under development.

MozReview-Commit-ID: GS4n7cPxfQ7

--HG--
extra : rebase_source : a595942242304ccf97a341474b6e2e1e869e7a77
2017-05-30 16:37:20 -07:00
Jean-Yves Avenard
ba837c02ae Bug 1313398: P4. Check that the out of band extradata hasn't changed. r=gerald
On android, where decoders can sometimes be recycled, the h264converter can be fed over its lifetime MediaRawData with different mExtraData.
So we need to ensure that not only, the inband ones don't change, but that the out of band one hasn't changed either.

This is a condition we could totally ignore on desktop, as when the resolution change the H264Converter is destroyed.

MozReview-Commit-ID: 7w6ku6by1Qi

--HG--
extra : rebase_source : d35f07b372ef0623dbd74384aa5d3a865a3e067a
2017-05-31 22:03:55 +02:00
Jean-Yves Avenard
33005dac56 Bug 1313398: P3. Don't always check if the decoder supports being recycled. r=gerald
The value never changes on a system, so there's no point checking it every single time

MozReview-Commit-ID: KTSslluQsKw

--HG--
extra : rebase_source : 40274727d0e7202087a8282eedb2c78404212f31
2017-05-31 21:43:53 +02:00
Jean-Yves Avenard
72d70a10d9 Bug 1313398: P1. Fix indent. r=gerald
MozReview-Commit-ID: 3eBq1mrR98D

--HG--
extra : rebase_source : 33e5fc37bfb8022a193c8d77e5a9dce5c638635b
2017-05-31 16:12:40 +02:00
Alfredo Yang
55d6ddef12 Bug 1365872 - remove parsing mp4v mCodecSpecificConfig which is for b2g. r=jya
MozReview-Commit-ID: G3l6AtEH0hO

--HG--
extra : rebase_source : bad9f7ae16715acb53826a494203cd7bbee138b3
2017-05-18 16:54:43 +08:00
Jean-Yves Avenard
b35c566d48 Bug 1364870: [ffmpeg] only check format if frame has been decoded. r=gerald
The format member isn't set when an audio frame hasn't been decoded yet.

MozReview-Commit-ID: IgUj6bjVzdF

--HG--
extra : rebase_source : bb47fa523384f9a85ee7d0ed5b6de4fe2c73526a
2017-05-19 09:52:12 +02:00
John Lin
d888243796 Bug 1363276 - discard video output buffers according to presentation time rather than size. r=esawin
This works around an Android 4.2.2 bug that reports incorrect sizes for hardware buffers.

MozReview-Commit-ID: 4rAu8d1RwOJ

--HG--
extra : rebase_source : f63ad96427b90dc24e0cb84319f256d1ec354b5e
2017-05-05 16:19:47 +08:00
JW Wang
4b91acd0b1 Bug 1364834 - Fix rounding error in WaveDataDecoder::ProcessDecode(). r=jya
The duration is rounded down to 0 if |frames| is smaller than |mInfo.mRate|.
We should call FramesToTimeUnit() instead.

MozReview-Commit-ID: E7eOQuD48x2

--HG--
extra : rebase_source : 1edabb9a9fe495f89a13df71d73d3b9aef49fa9d
2017-05-15 17:25:26 +08:00
James Willcox
4649c2acf0 Bug 1322650 - Don't use AndroidBridge to get API version in media stack r=jolin
AndroidBridge is not available in child processes.

MozReview-Commit-ID: KlBs8F1Bu1O
2017-05-15 09:37:57 -05:00
James Willcox
cf48e4bebd Bug 1322650 - Support a 'continuous' mode for SurfaceTexture r=jgilbert
This is needed to support Flash on Android

MozReview-Commit-ID: 5yNIoZHonla
2017-05-15 09:37:50 -05:00
James Willcox
b69402b0ba Bug 1322650 - Make video decoding work with new SurfaceTexture API r=jolin 2017-05-15 09:37:49 -05:00
Ralph Giles
cfe9afb991 Bug 1363857 - Add missing includes to FFmpegLibWrapper. r=gerald
This was working because of the unified build, but passing
--enable-av1 changed the source partitioning in such a way
that the referenced defines and symbols were no longer available.

MozReview-Commit-ID: CRjyhLtOhoM

--HG--
extra : rebase_source : bce3810fcff39669c4578f1b545fb619be691e38
2017-05-10 14:57:25 -07:00
Kris Maglione
b588cdc5bb Bug 1361900: Part 1 - Make CDMProxy.h compatible with mozilla::Result. r=JamesCheng
MozReview-Commit-ID: DiO7IPFYKbE

--HG--
extra : rebase_source : 500e32854c50e2381fd9de3a3533611be1426329
extra : source : 9e3064aec4bb16542f9cc93a89f7a257b6716a98
2017-05-12 12:08:43 -07:00
Sebastian Hengst
7b52c82b67 Backed out changeset 9e3064aec4bb (bug 1361900) for crashing Marionette's test_timeouts.py TestTimeouts.test_reset_timeout on Linux debug with e10s. r=backout 2017-05-13 18:56:06 +02:00
Kris Maglione
49ed37ac3d Bug 1361900: Part 1 - Make CDMProxy.h compatible with mozilla::Result. r=JamesCheng
MozReview-Commit-ID: DiO7IPFYKbE

--HG--
extra : rebase_source : defeef269706ba81ee35272818e468e3ae0b2b19
2017-05-12 12:08:43 -07:00
Iris Hsiao
e22349b74b Backed out 11 changesets (bug 1322650) for media test failures on android. a=backout
Backed out changeset 31bd912fba54 (bug 1322650)
Backed out changeset 4d486c7469eb (bug 1322650)
Backed out changeset 4cf8f4d5064c (bug 1322650)
Backed out changeset 3cb108f7492f (bug 1322650)
Backed out changeset bd53533c108e (bug 1322650)
Backed out changeset 3522917d8f10 (bug 1322650)
Backed out changeset 2c2c1e33eccc (bug 1322650)
Backed out changeset 2f19977cd6ab (bug 1322650)
Backed out changeset 4519296a323e (bug 1322650)
Backed out changeset e56e5e1c8786 (bug 1322650)
Backed out changeset 96fe52231b57 (bug 1322650)

--HG--
extra : amend_source : b11d2181d8f545f4ed1074f09986eddab0b637c8
2017-05-12 10:21:14 +08:00