Commit Graph

669 Commits

Author SHA1 Message Date
Jean-Yves Avenard
40284ca39a Bug 1303673: P9. Make some GMP errors non fatal. r=cpearce
MozReview-Commit-ID: LMWQtJElle7

--HG--
extra : rebase_source : 02e9a30cf049d26b6e7f7f78c98d8b595a72cac5
2016-09-20 16:56:58 +10:00
Jean-Yves Avenard
84106ef146 Bug 1303673: P8. Details for the H264 converter. r=cpearce
Mark some errors as OOM as that's what they are.

MozReview-Commit-ID: 2YEgBjqzMEm

--HG--
extra : rebase_source : 2ae43c8252f93adf9d4b0f86de96875152f739a1
2016-09-20 16:32:04 +10:00
Jean-Yves Avenard
5bb9584b9b Bug 1303673: P7. Provide MFT error code. r=cpearce
MozReview-Commit-ID: BnKR6CKk3eU

--HG--
extra : rebase_source : 53c105d1da372bd89698756988723f9e5ce8bed0
2016-09-20 16:18:17 +10:00
Jean-Yves Avenard
78ecdd8c4e Bug 1303673: P6. Provide further error details for the apple decoders. r=cpearce
MozReview-Commit-ID: 1A0k5BWAlWW

--HG--
extra : rebase_source : da0e24eb45bbe3c07468ae84a8485a5d2f9671af
2016-09-20 16:05:32 +10:00
Jean-Yves Avenard
485daa6ea7 Bug 1303673: P4. Provide GMP error code in MediaResult. r=cpearce
MozReview-Commit-ID: LfXNfMymvk4

--HG--
extra : rebase_source : 12c1bf1fe0245802429bbbbf75910f2906fde9f2
2016-09-20 15:57:32 +10:00
Jean-Yves Avenard
37455bf7f4 Bug 1303673: P3. Provide decryption status in error. r=cpearce
MozReview-Commit-ID: GGWAYcJAZ3R

--HG--
extra : rebase_source : f88b6fee5d9e5582e7fa43f9a13f9f3d1ce7af90
2016-09-20 15:56:17 +10:00
Jean-Yves Avenard
83619b5bc0 Bug 1303673: P2. Change error code to OOM. r=cpearce
Only time this error can occur is if we failed to allocate memory.

MozReview-Commit-ID: A37SQnraC54

--HG--
extra : rebase_source : b05dcdaf1c91d2f94255cd870872ec80e23c81c7
2016-09-20 15:51:54 +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
Carsten "Tomcat" Book
08b3e66490 Merge mozilla-central to autoland 2016-09-15 12:08:47 +02:00
Alexandre Lissy
f6ee6d53f2 Bug 1302641 - Update ImageBridgeChild::GetSingleton() use after 1298938 r=nical
MozReview-Commit-ID: Cs7xUcPnPoz
2016-09-14 19:01:21 +02:00
Carsten "Tomcat" Book
d2c3fe7fd3 merge autoland to mozilla-central a=merge 2016-09-14 12:07:02 +02:00
David Anderson
07336b7d13 Protect ImageBridgeChild's singleton with a StaticMutex. (bug 1298938 part 5, r=mattwoodrow)
--HG--
extra : rebase_source : 974ad32cfaf3ba6d1af75d8857f0a35da5aa3641
2016-09-13 16:30:57 -07:00
Jean-Yves Avenard
66c6aa70b2 Bug 1300292: Call SetSeekThreshold for h264 content. r=gerald
MozReview-Commit-ID: C7vADo0eo2E

--HG--
extra : rebase_source : 51950a23633acc10fef4e514b305daa216229a19
2016-09-13 15:54:26 +10:00
Jean-Yves Avenard
ed9868472d Bug 1301059: Do not use H264Converter when video decode is suspended. r=jya
MozReview-Commit-ID: FWvn3Xkalsl

--HG--
extra : rebase_source : 065979264f1dbf99659757e7edec5aaaf5d98e24
2016-09-07 23:59:59 +10: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
829f0d44fc Bug 1299072: P15. Provide additional error details for most remaining decoders. r=gerald
Additionally, mark non fatal decoding error as such.

Due to the complexity of WMF decoder error handling, this will be done in a follow up bug.

MozReview-Commit-ID: KHWORM8899c

--HG--
extra : rebase_source : 77ada9bb95ba4d44d1bca209e4a7d28369f24f6e
2016-09-13 11:15:36 +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
Carsten "Tomcat" Book
0f2c669a48 merge mozilla-inbound to mozilla-central a=merge 2016-09-09 12:02:43 +02:00
Chris Pearce
e99ce4a9c7 Bug 1294003 - Ensure we destroy DXVA2Manager on main thread if DXVA init fails. r=mattwoodrow
If initializing DXVA fails, we end up destroying the DXVA2Manager on the
decode task queue. The DXVA2Manager asserts that it's destroyed on the
main thread, so we should dispatch a task to destroy it on the appropriate
thread instead of destorying it on the wrong one.


MozReview-Commit-ID: 2pbeMOm74et

--HG--
extra : rebase_source : c4a6871877747d4e04494c638d83b225decaf249
2016-09-09 16:12:50 +12:00
Matt Woodrow
99bf9b18df Bug 1301294 - Remove unnecessary nsresult return value from MediaDataDecoder interface. r=jya 2016-09-09 15:50:37 +12:00
Jean-Yves Avenard
747d2faea4 Bug 1294154: Handle case where WMF is unable to determine time and duration. r=mattwoodrow
The WMF decoder doesn't handle well the case where a single frame was given to decode.
When draining, the output is a correctly decoded frame but with a time of 0 and a duration set at 1/30th.
This is a workaround

MozReview-Commit-ID: JbjgNmPXKIM

--HG--
extra : rebase_source : f25a1fd503678383265ec5053b41f3116ff52da0
2016-09-02 20:49:17 +10:00
Alfredo.Yang
2488fefb27 Bug 1240412 - add VP9-in-MP4 support to Rust demuxer. r=rillian
MozReview-Commit-ID: 1Yq8OOV3kvM

--HG--
extra : rebase_source : d6ee4404eafef8a476767ebfd17a195f81dcf275
2016-08-29 14:37:22 +08:00
Jean-Yves Avenard
ecc1d76946 Bug 1301068: Ensure InputExhausted is called if H264Converter drops a frame. r=gerald
MozReview-Commit-ID: LyZlzU4D58o

--HG--
extra : rebase_source : 8819e290ab46c32052cf1fc800ba49683f7db2b5
2016-09-08 00:22:06 +10:00
Jean-Yves Avenard
9b0354c08b Bug 1300296: P3. Ensure that a new or flushed decoder first h264 frame is always a keyframe. r=gerald
MozReview-Commit-ID: s0NEB8hesj

--HG--
extra : rebase_source : f1ac8aaf58861025cd2bf54d90a14b71d6504b31
2016-09-06 11:47:20 +10:00
James Cheng
2f0406881b Bug 1300693 - adjust the indent. r=jya
MozReview-Commit-ID: 1CMzYy3jQPC

--HG--
extra : rebase_source : 53da0e6ca26eea3d05fae8029402f91711e3fe48
2016-09-07 15:31:22 +08:00
James Cheng
50efc725a2 Bug 1300693 - BBCiPlayer (TV) HTML5 broken in Nightly 51.0a1. r=jya
MozReview-Commit-ID: KY0EpZGZ85A

--HG--
extra : rebase_source : 511b76f9130522dee82154a24a8842061726c0e5
2016-09-06 14:16:07 +08:00
Carsten "Tomcat" Book
7c6c7db247 Merge mozilla-central to autoland 2016-09-07 17:26:11 +02:00
Chris Pearce
c34ab00fb4 Bug 1274498 - Refuse to play H.264 files which have one or more dimensions less than 48 pixels. r=jya
We've had large numbers of shutdown hangs with the Windows H.264 decoder stuck
calling IMFTransform::ProcessOutput(), blocking shutdown. I can reproduce this
with videos with dimensions less than 32 pixels.

Chrome also encountered this with the WMF decoder:
https://bugs.chromium.org/p/chromium/issues/detail?id=373288

The WMF H.264 Decoder is documented to have a minimum resolution of 48x48 pixels.

So this patch causes us to reject H.264 files with either width or height less
than 48 pixels.

I have been able to play files down to 34x34 pixels on Windows 10, but it seems
safest to just follow the what's documented in MSDN, and reject files that are
smaller than the documented minimum.

MozReview-Commit-ID: 5peP6UGnAaB

--HG--
extra : rebase_source : 6e29812642bc3f8ca0f5b39b36064a6d50e09ea7
2016-09-07 14:16:29 +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
Gerald Squelart
df2f457e83 Bug 1298710 - Remove ByteReader::DiscardRemaining and AutoByteReader - r=jya
DiscardRemaning was needed to prevent debug-time assertion that the buffer was
read completely or explicitly discarded.

However this required extra work in cases where buffer didn't need to be read
to the end.
And also it could cause crashes (in debug versions) if a buffer was not fully
read, be it because the parser was incorrect or because the media file itself
was wrong (though possibly still readable despite that).
Finding parser issues is still possible by manually instrumenting ByteReader
during development.
And reading media file with small recoverable errors is a bonus.

MozReview-Commit-ID: 2RUYzaYAeRW

--HG--
extra : rebase_source : 26c41758b1b2c87542bf4e41d08e361198ca5b13
2016-09-04 18:33:30 +10:00
Jean-Yves Avenard
78ef9147a0 Bug 1297265: P12. Rework WAV Decoder use of InputExhausted. r=gerald
MozReview-Commit-ID: A2BCy4hmL2

--HG--
extra : rebase_source : 4d6fee88561149c8c487ce915b0fa8e38fd8b7e4
2016-09-01 20:04:48 +10:00
Jean-Yves Avenard
7eeb483897 Bug 1297265: P11. Rework WMF Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: GX1izQd55Di

--HG--
extra : rebase_source : f3206a7d6e84d16f4e396819c19d306bd899b1ba
2016-09-01 19:43:16 +10:00
Jean-Yves Avenard
526bb76265 Bug 1297265: P10. Rework FFmpeg Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: 8fndcHQELTo

--HG--
extra : rebase_source : ee4d208b67964fbce0b618150c31f80938bea8f5
2016-09-01 19:42:39 +10:00
Jean-Yves Avenard
b2f24696fa Bug 1297265: P9. Rework Vorbis Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: 58KKxY1YcpK

--HG--
extra : rebase_source : e4ebf699c7eba1c68b874d02ccde2fb8bb3c4439
2016-09-01 19:41:53 +10:00
Jean-Yves Avenard
fe5751fd31 Bug 1297265: P8. Rework LibVPX Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: H7KnDpkcaeT

--HG--
extra : rebase_source : b2518d0e292a3e3ddb26048991216a228c09b2b3
2016-09-01 19:41:28 +10:00
Jean-Yves Avenard
b69bfcc9eb Bug 1297265: P7. Rework Theora Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: 1udj9o3r2YE

--HG--
extra : rebase_source : fa0a51879750f2d42720c08a4b21251b179dee96
2016-09-01 19:40:52 +10:00
Jean-Yves Avenard
713efe3bc1 Bug 1297265: P6. Rework Opus Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: 4Usxx2BrQJt

--HG--
extra : rebase_source : c0094e8a3d8ae393bf2f20b8f7d2217978eb0e75
2016-09-01 19:40:15 +10:00
Jean-Yves Avenard
9b83d16355 Bug 1297265: P5. Rework Blank Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: KEfWo1cdRkG

--HG--
extra : rebase_source : fc8c7b9cfb56c3c3cc1dcd56217dc64623c4a8ee
2016-09-01 19:39:28 +10:00
Jean-Yves Avenard
4eaa12cdd8 Bug 1297265: P4. Rework Apple AudioToolbox use of InputExhausted. r=kamidphish
MozReview-Commit-ID: HznYxl9T7t5

--HG--
extra : rebase_source : 5d338eee8fe9039a6887de7170046ba6f5f47609
2016-09-01 19:38:37 +10:00
Jean-Yves Avenard
92fc37ef91 Bug 1297265: P3. Rework Apple VT use of InputExhausted. r=me
The only time we need to use InputExhausted is for the initial video decoding or when a frame is dropped.

MozReview-Commit-ID: IrHqZXJwQe1

--HG--
extra : rebase_source : eb7ff378adafe05458b79a6c3b6c7593c84d40a2
2016-09-01 19:29:19 +10:00
Jean-Yves Avenard
eeb0e7dd1d Bug 1297265: P2. Amend MediaDataDecoder documentation to emphasize the new expected behavior. r=kamidphish
MozReview-Commit-ID: EHFnCnc58qh

--HG--
extra : rebase_source : 0163994bd82d6529d17fc50403956dd68df6cd62
2016-09-01 19:28:24 +10:00
Phil Ringnalda
9f470c98e5 Backed out 11 changesets (bug 1297265) for gtest timeouts during MediaDataDecoder.H264
Backed out changeset 04d9b7160ac9 (bug 1297265)
Backed out changeset c7bffd1ba7fd (bug 1297265)
Backed out changeset ad1915ff688b (bug 1297265)
Backed out changeset 67a97304d44d (bug 1297265)
Backed out changeset e6b9e6184457 (bug 1297265)
Backed out changeset 30636ac0790f (bug 1297265)
Backed out changeset cc70d3a139bc (bug 1297265)
Backed out changeset 345a577c92a1 (bug 1297265)
Backed out changeset ec1f3ac8751c (bug 1297265)
Backed out changeset da9117375d2e (bug 1297265)
Backed out changeset dd4c7aafcc3d (bug 1297265)
2016-08-31 19:49:28 -07:00
Jean-Yves Avenard
223ee82386 Bug 1297265: P11. Rework WMF Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: GX1izQd55Di

--HG--
extra : rebase_source : efc6198d4fa7914b13f808216bd6394ca5b53d43
2016-08-30 15:22:54 +10:00
Jean-Yves Avenard
02473df25a Bug 1297265: P10. Rework FFmpeg Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: 8fndcHQELTo

--HG--
extra : rebase_source : f54aea05056e674a76431a8a95225e13e8b6b57f
2016-08-30 15:22:36 +10:00
Jean-Yves Avenard
b31a3e29a2 Bug 1297265: P9. Rework Vorbis Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: 58KKxY1YcpK

--HG--
extra : rebase_source : 7258069eb8ebf80b10453e9eba8d8e220647b9ec
2016-08-30 15:22:14 +10:00
Jean-Yves Avenard
c3939b1976 Bug 1297265: P8. Rework LibVPX Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: H7KnDpkcaeT

--HG--
extra : rebase_source : 7b63bc3e0571cff0047f141f61797b6510399bf5
2016-08-30 15:21:49 +10:00
Jean-Yves Avenard
1c4550a35f Bug 1297265: P7. Rework Theora Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: 1udj9o3r2YE

--HG--
extra : rebase_source : ba19c9221e19a372c906231443aa2e17bb67dd67
2016-08-30 15:21:29 +10:00
Jean-Yves Avenard
5aa7d037b4 Bug 1297265: P6. Rework Opus Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: 4Usxx2BrQJt

--HG--
extra : rebase_source : 5c74c41db2d11171d4a9c22e712fffb85168caf3
2016-08-30 15:21:05 +10:00
Jean-Yves Avenard
3052030d0e Bug 1297265: P5. Rework Blank Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: KEfWo1cdRkG

--HG--
extra : rebase_source : 46adb7b4d81370ad4217a48e6855afcbfe71c2d6
2016-08-30 15:20:40 +10:00
Jean-Yves Avenard
97c82d5ef3 Bug 1297265: P4. Rework Apple AudioToolbox use of InputExhausted. r=kamidphish
MozReview-Commit-ID: HznYxl9T7t5

--HG--
extra : rebase_source : aa1ebf557c56caf9572eab16df5ecaa4c1a440a6
2016-08-30 15:19:55 +10:00