Commit Graph

103 Commits

Author SHA1 Message Date
Jean-Yves Avenard
b2e8ddbd93 Bug 1336358: P2. Drain Android's RemoteDataDecoder one frame at a time. r=jolin
MozReview-Commit-ID: A9R9dR71FTB

--HG--
extra : rebase_source : 70840bc129784cd783c74eb67cb73eea20e83eb1
2017-02-07 23:11:32 +01:00
Jean-Yves Avenard
73fd84bc5d Bug 1319987: P5. Promisify MediaDataDecoder. r=cpearce,gerald,mattwoodrow,snorp
This is a big change, and unfortunately impossible to break down with independently functional commits.

There are four main changes being applied here:

* Code cleanup, including making all MediaDataDecoder related code mozilla coding style compliant
* Make MediaDataDecoder use MozPromise
* Making Flush and Shutdown processes fully asynchronous
* Fixing few data races encountered across the code, in particular in the Android PDM

MozReview-Commit-ID: DpiZucGofJT

--HG--
extra : rebase_source : 80bd6c6f9726d536b6f306c40d9af6df27333be9
2017-01-26 13:56:46 +01:00
John Lin
f5936d67a7 Bug 1336009 - null Java object check before accessing. r=jchen
MozReview-Commit-ID: 8Wkr2nnXacs

--HG--
extra : rebase_source : e78cf87caf031ab074628035166b58775ce1d01a
2017-02-02 17:14:10 +08:00
James Cheng
4e7969fe5b Bug 1325558 - [EME][Fennec] Handle Sample wait for key for OOP decoding case. r=kikuo
MozReview-Commit-ID: KqdAdqdpAvX

--HG--
extra : rebase_source : 7c627de1ec571e4634cca9c910cb5e7353a669f2
2016-12-23 15:47:58 +08:00
Kilik Kuo
dfa33df891 Bug 1325356 - Remove unnecessary SamplesWaitingForKey object in VideoDataDecoder. r=jwwang
MozReview-Commit-ID: 7uYfh3F2t2e
2016-12-23 16:00:35 -08:00
Wes Kocher
1f805d68a6 Backed out changeset 72f2f33715b4 (bug 1325356) for failing tests it added a=backout 2016-12-23 14:32:31 -08:00
Kilik Kuo
c25c957225 Bug 1325356 - Remove unnecessary SamplesWaitingForKey object in VideoDataDecoder. r=jwwang
MozReview-Commit-ID: 7uYfh3F2t2e

--HG--
extra : rebase_source : fb09263e3da9e38993feb8385d810d5abb1b692e
2016-12-23 12:49:05 +08:00
karo
a91edd5c7a Bug 1321076 - PDMFactory defaults to using VPXDecoder when alpha is present. r=jya
FFmpegDecoderModule and AndroidDecoderModule returns nullptr if alpha is
present, then PDMFactory rolls over to using VPXDecoder.

MozReview-Commit-ID: H2JaolEfJgR

--HG--
extra : rebase_source : a2b4bad848c6350041c2cff805803fb5728342d2
2016-12-21 15:00:17 +13:00
John Lin
d9ccdc207e Bug 1323152 - protect DurationQueue with lock. r=snorp
Remove an unused class too.

MozReview-Commit-ID: KlUKMIPbMuo

--HG--
extra : rebase_source : dfe75e62bda15ba3d422860b2b58e400dc1c923b
2016-12-13 16:41:37 +08:00
Jean-Yves Avenard
716c21f071 Bug 1322070: P1. Don't attempt to decode some audio format. r=jolin
Rather than asserting that the bit depth is 16 bits, let it fallback to other PDMs

MozReview-Commit-ID: DnO3nvgEFAe

--HG--
extra : rebase_source : 486e2aece7ebbbdf7058a6580198b1dc5c97247a
2016-12-05 08:05:35 +11:00
John Lin
0c318ba97d Bug 1299068 - part 5: release/render buffers when VideoData sent to compositor. r=snorp
MozReview-Commit-ID: JmEKLKlJnaL

--HG--
extra : rebase_source : 5177ed35206aad3423b9960ea5e9e59459540cde
2016-11-30 17:55:52 +08:00
Jean-Yves Avenard
9a70b4c5ee Bug 1320705: P8. Don't use stagefright to decode vorbis. r=gerald
Fixing the codec mimetype in P6, had the side effect of Android PDM trying to use the stagefright decoder which crashes.

MozReview-Commit-ID: 1OSGGCTdGFO

--HG--
extra : rebase_source : 232c0855dbf6a880355f975418951516b759953c
2016-12-05 07:41:54 +11:00
James Cheng
2fca45e7dc Bug 1320618 - Check if codec supports adaptive playback to determine the decoder support recycling or not. r=jolin
MozReview-Commit-ID: C3pI9NCUgiP

--HG--
extra : rebase_source : c9da5d21ee76e660ea5a18f77b1ea6bccd14286d
2016-11-30 16:30:16 +08:00
James Cheng
71d701898a Bug 1299105 - Part 1: Check if the decoder support recycling to prevent from recreating decoder. r=jya
MozReview-Commit-ID: 7Xj6tSnGM81

--HG--
extra : rebase_source : 9f4f6f5161c6bee34bffa0da4aa7b77052c1239c
2016-11-25 14:22:40 +08:00
James Cheng
a429f2b9f4 Bug 1317239 - Part2 - Config the video decoder with adaptive playback feature if it is supported. r=jolin
MozReview-Commit-ID: FORF2NNxgUH

--HG--
extra : rebase_source : 11f32b62296a53fd01182455d1abac942a8c9501
2016-11-23 14:12:05 +08:00
Kilik Kuo
f041399009 Bug 1307818-[P2] Setup MediaCrypto for both in-process and out-of-process decode. r=cpearce,jchen
MozReview-Commit-ID: Ehbm2u8LeLg

--HG--
extra : rebase_source : 63ddb16545e254b468e9f72f8c4ad7c957f8b29b
2016-11-16 22:10:01 +08:00
John Lin
aae0af521c Bug 1313993 - Return zero-duration video frames. r=snorp
MozReview-Commit-ID: I5LDWb4V1ky

--HG--
extra : rebase_source : 4e94338d5f200741afa7cc3133ff8cd265a075bf
2016-11-01 12:46:04 +08:00
Ralph Giles
2de2f42926 Bug 1266792 - Don't play opus with AndroidDecoderModule. r=jya
The android 5.1.1 OMX decoder claims to support audio/opus
but crashes on the output of our mp4 demuxer. Work around
this by rejecting the mime type, allowing fallback to the
libopus-based AgnosticDecoderModule.

In any case, since we're shipping the libopus-based decoder
we're prefer to use it for consistency.

MozReview-Commit-ID: GQaTMALajnZ

--HG--
extra : rebase_source : fb43ddc6bd7b5ed92308124045ad2330a8043f46
2016-10-31 16:39:03 -07:00
John Lin
ce8e57f426 Bug 1295106 - Part 1: abstract payload in Sample to support both Java byte array and shared memory. r=snorp
MozReview-Commit-ID: GFcwSyHlR4

--HG--
extra : rebase_source : 442487fcee43d86f974f87c69466e5fbb5d2793f
2016-09-08 11:20:34 +08:00
Jim Chen
3f0f41aeb3 Bug 1305271 - 2. Add and use jni::IsFennec() for Fennec-only code; r=snorp
Add jni::IsFennec() that returns whether we're in a Fennec environment
(defined as the presence of the GeckoApp class). Then, add
jni::IsFennec() checks to places where we use JNI for Fennec-only classes.
2016-09-28 23:49:25 -04:00
James Cheng
345dc9fc9d Bug 1304258 - Part2 - Use XXXArray::New instead. r=jchen
MozReview-Commit-ID: 2bqO7839fX2

--HG--
extra : transplant_source : Y%A7%17%04%97%06%C8%96%29%8C%1Dy%98%AD%04%DB%BA%B9%9A%C3
2016-09-23 14:33:47 +08:00
Kilik Kuo
a9eb354248 Bug 1302331 - [Part3] Create CryptoInfo from MediaRawData and deliver it to MediaCodecDataDecoder or remote codec decoder. r=jchen,jolin
MozReview-Commit-ID: 9pHHrhQPs9m

--HG--
extra : rebase_source : 34829208221e4787b25e29ad75b57d113f7e94c0
2016-09-20 16:44:30 +08:00
Jean-Yves Avenard
5b5bc32ab4 Bug 1304252: P2. Provide further error details for android decoder. r=gerald
MozReview-Commit-ID: 8xi9MBnZsfQ

--HG--
extra : rebase_source : 529c5185802b9e9a954e3993129a9c774210de7c
2016-09-21 13:22:31 +10:00
Jim Chen
8e0ad67a7a Bug 1291375 - 5. Use Fennec bindings where needed; r=snorp
Switch include statements from GeckoView bindings to Fennec bindings
where needed.
2016-09-16 15:13:48 -04:00
Jean-Yves Avenard
70ed5282de Bug 1299072: P18. Use MediaResult with InitPromise. r=gerald
MozReview-Commit-ID: JiLgiyxvfNC

--HG--
extra : rebase_source : 4cc453a5fe7b1e4f4b865c31a24a5feed64df7e4
2016-09-13 13:06:18 +10:00
Jean-Yves Avenard
f4efa8be06 Bug 1299072: P4. Return extended failure details to reader. r=gerald
We provide even further details for the GMP decoder. Other decoders to follow.

MozReview-Commit-ID: 7NxJPec8xWv

--HG--
extra : rebase_source : f44120983070e5c107ecd5cafc762da90aab44bf
2016-09-10 09:56:53 +10:00
Matt Woodrow
99bf9b18df Bug 1301294 - Remove unnecessary nsresult return value from MediaDataDecoder interface. r=jya 2016-09-09 15:50:37 +12:00
John Lin
077d1abae1 Bug 1297307 - Add extra video duration element for EOS sample. r=snorp
MozReview-Commit-ID: 4QUTABCNT06

--HG--
extra : rebase_source : db9a186de79d9fe6a307ffb125f980609224dfdc
2016-08-30 17:40:49 +08:00
Ryan VanderMeulen
01c4e8cc1b Merge inbound to m-c. a=merge 2016-08-19 09:52:53 -04:00
James Cheng
edbbde54c3 Bug 1296198 - Somewhat of improvement on MediaCodecDataDecoder on Fennec. r=jwwang
MozReview-Commit-ID: 12z9ySoa0xv

--HG--
extra : rebase_source : 97d23268f13607c39007e2f9f24ff4ce0d364373
2016-08-18 14:21:55 +08:00
James Cheng
21f18593ca Bug 1295920 - Replace enum with enum class in PlatformDecoderModule.h. r=jya
MozReview-Commit-ID: lDjsTI82pV

--HG--
extra : rebase_source : 9ec7b89e3af8fe0e50ea4bb48d464367e49c86c4
2016-08-17 17:24:13 +08:00
John Lin
d7cf8502c8 Bug 1257777 - Part 6: Implement remote data decoders and enable/disable them with pref. r=snorp
MozReview-Commit-ID: 54ZEckQHsBI

--HG--
extra : rebase_source : e655067a487aafeccb866877157616036044ba4b
2016-08-05 15:24:46 +08:00
John Lin
d8af0bb89e Bug 1257777 - Part 5: Seperate PDM and data decoders into different files. r=snorp
MozReview-Commit-ID: KP4hAZXLPAU

--HG--
extra : rebase_source : 64f4c8c086d10ce1268945c74c813177b2401d58
2016-08-05 15:24:06 +08:00
Matt Woodrow
f323872778 Bug 1292032 - Clean up VideoData static constructor methods. r=jya
--HG--
extra : rebase_source : e025c9a15ad00e970f9027f72c78b5d6effbc301
2016-08-04 15:31:52 +12:00
Jim Chen
ce45a595ab Bug 1287946 - Update existing code to use mozilla::java; r=me 2016-07-21 13:49:04 -04:00
Jim Chen
6cd5749e48 Bug 1286663 - Update existing code using ByteBuffer; r=me 2016-07-21 13:49:04 -04:00
Nathan Froyd
121f6f491f Bug 1282154 - add more override declarations for Android-specific code; r=snorp 2016-07-21 16:46:41 -04:00
Carsten "Tomcat" Book
b4d852ccc0 Backed out changeset 7cd055ed9366 (bug 1286663) for android bustage on a CLOSED TREE
--HG--
extra : amend_source : 71f29d4505b7b2443ef3b7293ba60f685a5bf676
2016-07-21 08:18:59 +02:00
Carsten "Tomcat" Book
e8bc59a87a Backed out changeset 684888aeee81 (bug 1287946) 2016-07-21 08:07:12 +02:00
Jim Chen
78f67d1f6f Bug 1287946 - Update existing code to use mozilla::java; r=me 2016-07-21 00:42:26 -04:00
Jim Chen
5509026d50 Bug 1286663 - Update existing code using ByteBuffer; r=me 2016-07-21 00:41:13 -04:00
Dan Glastonbury
1b2a65cfc3 Bug 1281632 - P1: Extract creation parameters and pass via struct. r=gerald
Extract all the parameters passed to CreateAudioDecoder/CreateVideoDecoder and
place them into a structure that is passed down to the creation of the actual
decoder, where the relevant parameters can be extracted.

This makes it easier to add more arguments to the Create*Decoder calls in future.

MozReview-Commit-ID: 9LZlcfRVz6A

--HG--
extra : rebase_source : ce3f0c7d0784b96267728697ff5d535ccb8ee7a6
2016-06-28 17:56:55 +12:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Alfredo Yang
68adb6b579 Bug 1068151 - keep decoding a corrupted video. r=jya 2016-05-30 18:24:00 +02:00
JW Wang
8b980a3cbc Bug 1274216 - remove use of FlushableTaskQueue from PlatformDecoderModule. r=jya.
MozReview-Commit-ID: E3DG84yKRmw

--HG--
extra : rebase_source : 2636b7d1ef5cc544f70b3912d4d6bd30f25424df
2016-05-19 17:50:31 +08:00
Ryan VanderMeulen
84b0a4b61f Backed out changeset 0e4c5be816f3 (bug 1257107) for webm reftest failures.
CLOSED TREE
2016-05-19 10:39:07 -04:00
Alfredo Yang
3fed340de9 Bug 1257107 - Discard decoded data if its pts is smaller than seek time. r=jya
--HG--
extra : rebase_source : 2f17f7b3b70f774e03322dbc63727b0794279f91
2016-05-17 21:46:00 -04:00
Eugen Sawin
e98e0d70e0 Bug 1273523 - [1.2] Don't process output if no duration is available. r=snorp 2016-05-18 22:08:36 +02:00
Kyle Huey
941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book
ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00