Граф коммитов

8027 Коммитов

Автор SHA1 Сообщение Дата
ctai b89641505e Bug 1291946 - Append the latest video frames from updateTracks. r=jesup.
In some cases, we need to resend missed VideoSegment to new added MediaStreamVideoSink. Append the latest video frames from updateTracks.

MozReview-Commit-ID: 76RFs5fgKpY

--HG--
extra : rebase_source : 31e5c41caedd337e85fe9277752f6775849627f0
2016-08-10 10:31:14 +08:00
Phil Ringnalda 66b3a90750 Merge m-i to m-c, a=merge 2016-09-05 13:05:52 -07:00
JW Wang acc161f5fd Bug 1297590. Part 10 - remove some mSentFirstFrameLoadedEvent checks for it is surely true when mState is DECODING. r=kaku
MozReview-Commit-ID: 5wwCc33KTHF

--HG--
extra : rebase_source : 0263c6a732729a4c0ae952f51ee3c5d0a1aa616b
2016-09-01 16:34:24 +08:00
JW Wang cd7ea5d9ef Bug 1297590. Part 9 - fix MaybeFinishDecodeFirstFrame(). r=kaku
1. The return value is not used.
2. It should be called only when mSentFirstFrameLoadedEvent is false.
3. Transition to SEEK if there is any pending seek or DECODER_STATE_DECODING otherwise.

MozReview-Commit-ID: LIO0MPGzhsX

--HG--
extra : rebase_source : 591339cf0c239be618ecf25e384baab9c0bb35be
2016-09-01 13:01:48 +08:00
JW Wang a4f936a75c Bug 1297590. Part 8 - add an entry action for DECODER_STATE_DECODING_FIRSTFRAME. r=kaku
We move the handling of pending seek from the entry action of DECODING to that of DECODING_FIRSTFRAME.

MozReview-Commit-ID: qMnJ0ON2cK

--HG--
extra : rebase_source : d35985d8d66b201a842aea0eeb0650e8ade5cc5b
2016-09-01 12:54:43 +08:00
JW Wang beee28368c Bug 1297590. Part 7 - remove the call to MaybeFinishDecodeFirstFrame() from OnNotDecoded(). r=kaku
It is impossible to finish decoding first frames while waiting for data.

MozReview-Commit-ID: 8eR8Rf9TuD8

--HG--
extra : rebase_source : f8d14b294f0518f48f72828b3e9ed5f2b18a3479
2016-09-01 12:02:49 +08:00
JW Wang fd788dec0e Bug 1297590. Part 6 - Move MaybeFinishDecodeFirstFrame() from case DECODER_STATE_DECODING to case DECODER_STATE_DECODING_FIRSTFRAME. r=kaku
MozReview-Commit-ID: aylNzLhwaT

--HG--
extra : rebase_source : f820000efedd53f13222e1b43073b9aa2d4fec2a
2016-09-01 12:00:44 +08:00
JW Wang f1e5f07d49 Bug 1297590. Part 5 - change some `SetState(DECODER_STATE_DECODING)` to `SetState(DECODER_STATE_DECODING_FIRSTFRAME)`. r=kaku
MDSM used to transition to DECODING in the following places:
1. BUFFERING
2. OnMetadataRead()
3. WAIT_FOR_CDM
4. SeekCompleted()

We will transition to DECODING_FIRSTFRAME in case 2 and 3.

For case 1, BUFFERING makes sense only after decoding first frames. So BUFFERING
should never transition to DECODING_FIRSTFRAME.

For case 4, we always finish decoding first frames before completing seek. So
It should not transition to DECODING_FIRSTFRAME either.

MozReview-Commit-ID: 7VnK82wjgZv

--HG--
extra : rebase_source : c92150a2cd989286d680760c6b7dc615fe58b65e
2016-09-01 11:55:43 +08:00
JW Wang c4a99cb033 Bug 1297590. Part 4 - change test `mState >= DECODER_STATE_DECODING` to `mState >= DECODER_STATE_DECODING_FIRSTFRAME`. r=kaku
MozReview-Commit-ID: ImqqLCyp2Yc

--HG--
extra : rebase_source : 6f203cced5bfdd5a768d4326713157de7b0c74f1
2016-09-01 11:48:16 +08:00
JW Wang 99b108b143 Bug 1297590. Part 3 - change test `mState >= DECODER_STATE_DECODING && mSentFirstFrameLoadedEvent` to `mState >= DECODER_STATE_DECODING`. r=kaku
MozReview-Commit-ID: ASWBi7D7DOK

--HG--
extra : rebase_source : ee4078efc4a765a1d92fa6cbd810cd8aa6d270b5
2016-09-01 11:47:17 +08:00
JW Wang 2cd25680b0 Bug 1297590. Part 2 - change test `mState != DECODER_STATE_DECODING` to `mState != DECODER_STATE_DECODING && mState != DECODER_STATE_DECODING_FIRSTFRAME`. r=kaku
MozReview-Commit-ID: F62HdoctGpD

--HG--
extra : rebase_source : 82a1d056650727094d850a928f69025754dc36ec
2016-09-01 11:45:56 +08:00
JW Wang aa7b6844dd Bug 1297590. Part 1 - add DECODER_STATE_DECODING_FIRSTFRAME to MDSM. r=kaku
When separating decoding frist frames from the DECODING state, we need
to change the test `mState == DECODER_STATE_DECODING` to
`mState == DECODER_STATE_DECODING || mState == DECODER_STATE_DECODING_FIRSTFRAME`.
However, we don't make changes for those where mSentFirstFrameLoadedEvent is
proven to be true. Because there is no way for mState to be DECODING_FIRSTFRAME
when mSentFirstFrameLoadedEvent is true.

MozReview-Commit-ID: 7jv3SDlmBBG

--HG--
extra : rebase_source : d7212fa84d81cb1874e6a76fb92627255039e859
2016-09-01 14:28:45 +08:00
Andreas Pehrson 4dd22ec29d Bug 1298515 - Ignore ended tracks for AudioCaptureStreams. r=padenot
MozReview-Commit-ID: BamiTYxTCUw

--HG--
extra : rebase_source : dd72df76841ee750b5b091e662ba8124f8a2577c
2016-09-02 17:23:26 +02:00
Gerald Squelart 6e6bb23cf3 Bug 1300446 - Check return value from GetCubebContext - r=kinetik
MozReview-Commit-ID: Y9b5Aq2RZE

--HG--
extra : rebase_source : 11422dc401d95cd91329b33b082b29bd193b16da
2016-08-30 17:20:10 -07:00
Gerald Squelart f1e3f0e4e8 Bug 1300446 - Check return value from GetCubebContextUnlocked - r=kinetik
MozReview-Commit-ID: LaXsymagjGW

--HG--
extra : rebase_source : e6e69fb11f3e8921de4406ed1561595fa5d75075
2016-08-30 17:08:06 -07:00
Gerald Squelart e7d6a387d7 Bug 1300446 - Keep explicit cubeb state - r=kinetik
Cubeb can be in three states: Uninitialized, initialized (or in
error), or shutdown.
This will ensure that we only initialized cubeb once, and that
we don't attempt to re-initialize it after shutdown.

MozReview-Commit-ID: 8LhRe7bvS4K

--HG--
extra : rebase_source : 3b58d94ad1e578c9316455893deb2d826aefe0dc
2016-08-30 17:03:04 -07:00
JW Wang 625fff7eaf Bug 1299393. Part 2 - remove unused functions. r=kaku
MozReview-Commit-ID: AfpKC88rC4n

--HG--
extra : rebase_source : 7fadadb11e309634acb0622f4bbf90696cf09f9d
2016-08-31 15:48:45 +08:00
JW Wang 1e5d551232 Bug 1299393. Part 1 - make some functions return void and fix the comments. r=kaku
MozReview-Commit-ID: 3wAjgxcMLhX

--HG--
extra : rebase_source : ab61399a46797bc5b3eab58770eb7e186a91d772
2016-08-31 15:46:59 +08:00
JW Wang 9b63ba4dc6 Bug 1299387 - check the duration instead of mState to match the comment. r=kaku
MozReview-Commit-ID: E1MgKHDIRAq

--HG--
extra : rebase_source : ccdd715392571e80e803810179eafe857f5bf71b
2016-08-31 14:54:24 +08:00
Ryan VanderMeulen 1cac8d1e6d Merge inbound to m-c. a=merge 2016-09-04 13:36:59 -04: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
Phil Ringnalda 07667e0564 Merge m-c to m-i 2016-09-03 21:59:01 -07:00
JW Wang 75d62bdc6e Bug 1299369. Part 4 - remove the check for mSentFirstFrameLoadedEvent from RequestVideoData() because NeedToSkipToNextKeyframe() already checks it. r=kaku
MozReview-Commit-ID: 4iUgyeKKNlD

--HG--
extra : rebase_source : 9cde8a260e0181f56ba99b7d8f7328b56f3f674a
2016-08-31 13:12:51 +08:00
JW Wang 8bc67ddaaa Bug 1299369. Part 3 - remove unused functions. r=kaku
MozReview-Commit-ID: DzLCeR79zdz

--HG--
extra : rebase_source : 73c7dc4ae5bf42c3eb1c82f2576038406b8b8775
2016-08-31 13:07:15 +08:00
JW Wang cefdb6ce18 Bug 1299369. Part 2 - except for BUFFERING or SEEKING, HaveNextFrameData() should be able to tell us whether next frames are available. r=kaku
MozReview-Commit-ID: HtVP2ncyxjv

--HG--
extra : rebase_source : d06ede67efb4f688993fb1175fee4b562caef1c5
2016-08-31 13:06:19 +08:00
JW Wang 07fce265fe Bug 1299369. Part 1 - assert !mSentFirstFrameLoadedEvent in FinishDecodeFirstFrame(). r=kaku
FinishDecodeFirstFrame() is called from:
1. MaybeFinishDecodeFirstFrame() when mSentFirstFrameLoadedEvent is false.
2. SeekCompleted() when mSentFirstFrameLoadedEvent is false.

MozReview-Commit-ID: HOV3ZeS2qB0

--HG--
extra : rebase_source : c1e19b966c55a6d4ef9b1e4956e719d4d861bb32
2016-08-31 12:54:50 +08:00
Sotaro Ikeda 8cffca6531 Bug 1299415 - Clear ImageContainer cached resources When VideoSink pause playing r=jwwang 2016-09-04 23:38:43 -07:00
Paul Adenot 36a828f198 Bug 1288359 - Add a pref to disable the Web Audio API. r=karlt,smaug
MozReview-Commit-ID: 6h37P9PctYW

--HG--
extra : rebase_source : c4ab6cfe7b8267e6529b10358e3e4102cce1f15f
2016-07-22 13:59:52 +02:00
Tim Huang 52370e14ba Bug 1278037 - Part 4: Modify the mozIGeckoMediaPluginChromeService.forgetThisSite() to take the originAttributes pattern as an argument. r=cpearce
--HG--
extra : rebase_source : c480a89fabd99a6ead348c172e68f524dbb2b458
extra : histedit_source : 145d639edff67799e33dd2c4592b4f5902b872e5
2016-07-28 11:46:06 +08:00
Wes Kocher ee92002ede Merge inbound to m-c a=merge 2016-09-02 13:17:30 -07:00
Bryce Van Dyk 5c7d75495a Bug 1299756 - VideoPuppeteer: Use played ranges in determining time remaining. Relax playback done check. r=maja_zf
The VideoPuppeteer now uses played ranges where possible to calculate the
remaining time. It will also use the played ranges to determine the expected
duration where possible. This is more accurate than using the time when the
tests first poll the video. The first poll time was previously self._start_time,
but I've renamed this to self._first_seen_time, to reduce ambiguity -- the video
may have started playing before this time.

The playback_done function has had it's remaining time check relaxed. Previously
it was possible to skip over the window where a video would be considered
complete, that window is now expanded so that if the start threshold is passed
the video is considered played.

A concrete example: the tests could play a 90 second video, but the duration of
the test is set to 60 so only part of the video need be played back before the
test completes. If a 1 second interval was used in the tests there would be a
window between 59 to 61 seconds during which if the video were polled it would
be considered complete. However, due to latency polling may not take place in
this window, leading to racy fails. Now the tests will consider any point beyond
59 seconds to be complete.

MozReview-Commit-ID: J6DpqCbZxUg

--HG--
extra : rebase_source : 7990e4eee0bce30718b875f652c7148110cd4c3f
2016-09-01 14:51:19 +12:00
Bryce Van Dyk f3afe526e9 Bug 1299756 - Update VideoPuppeteer __str__ to output played ranges. r=maja_zf
This is a quality of life change. Since VideoPuppeteer uses, and since I plan on
using the played ranges of a video element more, it is useful to output them as
part of the str representation.

MozReview-Commit-ID: LwVPfVtFF1v

--HG--
extra : rebase_source : 1ebe4b7a7176a15f7e9300dee84103a8f6b86708
2016-09-01 10:50:05 +12:00
Andi-Bogdan Postelnicu 038e7bc3cc Bug 1299749 - removed unused variable from SessionMessageTask. r=baku
MozReview-Commit-ID: 6QfkkCfQ60

--HG--
extra : rebase_source : 8dd222b4218f4b461e547713c5e0f45998a3569c
2016-09-01 11:55:49 +03: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
Jean-Yves Avenard d6a56e1228 Bug 1297265: P1. Remove decode ahead logic. r=kamidphish
The MediaFormatReader will no longer attempt to decode several frames in advance and ahead of the MDSM actually requesting it. The speed advantages were dubious at best, and as most MediaDataDecoders abused the use of InputExhausted callbacks we had to place artificial throttle that would often cause side effects.

As such, it is now expected that the MediaDataDecoder will now always call InputExhausted once Input has been called. InputExhausted indicates that the current decoding session has completed and the MediaDataDecoder is waiting for another input.

MozReview-Commit-ID: 9KUpNP9jozV

--HG--
extra : rebase_source : d261a5eb98de54d5bd29acb738c4205c56abca6b
2016-09-01 19:25:54 +10:00
Jean-Yves Avenard 64be3299d6 Bug 1299735: [FLAC] Fix reading of bit depth. r=JamesCheng
MozReview-Commit-ID: 8djHfIRY4kv

--HG--
extra : rebase_source : 3716cc0e3461080553fbc0cac1d99b9c9c1e9f29
2016-09-01 15:43:38 +10:00
JW Wang dd0c4e65ac Bug 1299074. Part 5 - remove unused members. r=kaku
MozReview-Commit-ID: DPDPuMKUNPv

--HG--
extra : rebase_source : b7d4ae01543d433e763591393b8b2a6390d02ec2
2016-08-30 16:48:09 +08:00
JW Wang 39dc5c1878 Bug 1299074. Part 4 - replace checks for IsDecodingFirstFrame() with !mSentFirstFrameLoadedEvent. r=kaku
MozReview-Commit-ID: 4ouQAdn4hbZ

--HG--
extra : rebase_source : a66defca7645b08a600b8a6f188918dfb4ac8032
2016-08-30 16:45:26 +08:00
JW Wang 442262c9fe Bug 1299074. Part 3 - check |mSentFirstFrameLoadedEvent| to know whether we can finish decoding first frames. r=kaku
MozReview-Commit-ID: 10VNH3rhPpy

--HG--
extra : rebase_source : 2ff6d30abdf5d6abb70be562183728be49a1f63d
2016-08-30 16:32:36 +08:00
JW Wang a9f543d367 Bug 1299074. Part 2 - simplify the handling of pending seek in StartDecoding(). r=kaku
mSentFirstFrameLoadedEvent is sufficient to tell us whether we can handle the pending seek now or later.

MozReview-Commit-ID: KzDd2brvKPA

--HG--
extra : rebase_source : 3c01e4193789c2b535a68ba65d76373269acfc2f
2016-08-30 16:21:43 +08:00
JW Wang 30ac5c6fec Bug 1299074. Part 1 - fix the comment of mSentFirstFrameLoadedEvent because it is not necessarily related to dormant state. r=kaku
MozReview-Commit-ID: 8YewoncY46P

--HG--
extra : rebase_source : e8a21ec8a2ebfcd035d8ea4ba334ddcb2d332698
2016-08-30 16:11:58 +08: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
Jean-Yves Avenard e88897a8a3 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 : d9fec0f88d2c0a878723d75d79aa3ff63b5938cc
2016-08-30 15:18:25 +10:00
Jean-Yves Avenard 3734f817c6 Bug 1297265: P2. Amend MediaDataDecoder documentation to emphasize the new expected behavior. r=kamidphish
MozReview-Commit-ID: EHFnCnc58qh

--HG--
extra : rebase_source : 2a9e2c4a08103d10f77ceaee3f87300a1b7a56a2
2016-08-30 15:17:47 +10:00
Jean-Yves Avenard 20189a5b95 Bug 1297265: P1. Remove decode ahead logic. r=kamidphish
The MediaFormatReader will no longer attempt to decode several frames in advance and ahead of the MDSM actually requesting it. The speed advantages were dubious at best, and as most MediaDataDecoders abused the use of InputExhausted callbacks we had to place artificial throttle that would often cause side effects.
As such, it is now expected that the MediaDataDecoder will now always either return a decoded sample or call InputExhausted. Never both.

MediaDataDecoder will continue to work as-is, even if they call InpuxExhausted too many times as the MediaFormatReader will only feed a single sample at a time.

MozReview-Commit-ID: 9KUpNP9jozV

--HG--
extra : rebase_source : ebb919fd3f1ce1adf5d08ed3f4292839b84c8321
2016-08-30 15:15:30 +10:00
Bryce Van Dyk ae1691c635 Bug 1213731 - Remove unused Youtube URLs, use embedded URLs where possible. r=maja_zf
Many of the youtube URLs were not being used in tests. Many were are/also dead.
Furthermore, non-embedded links are causing issues due to the next video auto
play feature defaulting to on in youtube.

This is a quick once over to remove unused links, prune some of the dead, and
rewrite those that can be embedded to embedded URLs. In future I would like to
see the embedded links and non embedded separated into their own files. However,
theses changes are a halfway house that will not break compatibility downstream.

MozReview-Commit-ID: 4aPMNjD3LC4

--HG--
rename : dom/media/test/external/external_media_tests/urls/youtube/long3-crashes-720.ini => dom/media/test/external/external_media_tests/urls/youtube/long2-crashes-720.ini
rename : dom/media/test/external/external_media_tests/urls/youtube/long4-crashes-900.ini => dom/media/test/external/external_media_tests/urls/youtube/long3-crashes-900.ini
rename : dom/media/test/external/external_media_tests/urls/youtube/short0-10.ini => dom/media/test/external/external_media_tests/urls/youtube/short1-10.ini
rename : dom/media/test/external/external_media_tests/urls/youtube/short3-crashes-15.ini => dom/media/test/external/external_media_tests/urls/youtube/short2-crashes-15.ini
extra : rebase_source : a5abcc8d7b1f1f1e3e2b6303f91b6183f4e4d9ee
2016-08-30 18:36:16 +12:00
Bryce Van Dyk ab7cc0932e Bug 1213731 - Rework Youtube puppeteer to work with both youtube and embedded youtube. r=maja_zf
Rework the Youtube puppeteer to look up player and video element based on class
names, instead of ID. This means that the tests can work with embedded players.
This has the benefit that we can use youtube embedded links
(youtube.com/embedded/<videoId>), which do not suffer from auto play related
issues (auto play jumping to another video).

MozReview-Commit-ID: 9UFyL7di6gH

--HG--
extra : rebase_source : 69301bfa2b7ea9fd729742ae670ecb6e8209c4f9
2016-08-30 16:25:01 +12:00
Andreas Pehrson b8ed2ee25c Bug 1299172 - Assert on MSG thread in DispatchToMainThreadAfterStreamStateUpdate. r=jesup
MozReview-Commit-ID: 9ihJduZOSa

--HG--
extra : rebase_source : 1088fc98f97456c933f146565ba91ce0358e6a4c
2016-08-31 14:07:53 +02:00
Jan-Ivar Bruaroey ad60fcbdf9 Bug 1284909 - Allow raw deviceId constraints in gUM when caller is chrome. r=jesup
MozReview-Commit-ID: IB0BhGKbdam

--HG--
extra : rebase_source : 29006317f365076717f88bdafc64366eb996913c
2016-08-19 16:39:54 -04:00
JW Wang 561f334bec Bug 1299064. Part 3 - remove the calls to ScheduleStateMachine() following |SetState(DECODER_STATE_DECODING)|. r=kaku
Note nextState is either DECODER_STATE_COMPLETED or DECODER_STATE_DECODING in SeekCompleted().
Their entry actions call ScheduleStateMachine() directly or indirectly.

MozReview-Commit-ID: DpDW7qtlogV

--HG--
extra : rebase_source : a6faef46929de27a863d22d152d8721d68524edf
2016-08-30 15:11:15 +08:00
JW Wang 8be4980a44 Bug 1299064. Part 2 - remove the if/else statement at the end of SeekCompleted(). r=kaku
|SetState(nextState)| is the equivalent of the if/else.

MozReview-Commit-ID: 51ab4BBdd4T

--HG--
extra : rebase_source : ec0eb034dad98a20f961c94e72319fb80ba121c5
2016-08-30 15:06:56 +08:00
JW Wang d28e80999f Bug 1299064. Part 1 - move |SetState(nextState)| and ScheduleStateMachine() to the bottom of SeekCompleted(). r=kaku
UpdatePlaybackPositionInternal(), |mQuickBuffering = false| and |mMediaSink->Redraw| should belong to
the exit action of SEEKING. By change the order of the statements, we have a better definition/scope
for the jobs of each state.

MozReview-Commit-ID: 6WESdwaD8Ba

--HG--
extra : rebase_source : eab747abcf2cf375ed99d5800eba9c5558e1436c
2016-08-30 15:04:43 +08:00
JW Wang 713c29c0d1 Bug 1299021. Part 2 - ensure resolving the end promise when mVideoSinkEndRequest is resolved. r=kikuo
MozReview-Commit-ID: 2XTpqVGBrBN

--HG--
extra : rebase_source : 37246ada49fd5b8a4de57ece3c3941f182db5e2c
2016-08-29 21:28:36 +08:00
JW Wang 2ecd9cc1dd Bug 1299021. Part 1 - extract the code about resolving the end promise. r=kikuo
MozReview-Commit-ID: ECr058zKdUk

--HG--
extra : rebase_source : ae2b59cbf758ab9b703c9aed471ddb7bf3145f4f
2016-08-29 20:56:00 +08:00
Makoto Kato ec124dbfbd Bug 1299054 - Remove old Android support (API level < 15) from Gecko. r=snorp
MozReview-Commit-ID: K32YSqGsLf9

--HG--
extra : rebase_source : be0d3b3fc1146234efc75229171ea61258c46492
2016-08-30 14:11:55 +09:00
Andrew McCreight cdcad29bd2 Bug 1296275 - Be better about exposing to active js in AudioBuffer::StealJSArrayDataIntoSharedChannels(). r=terrence
MozReview-Commit-ID: GC8sncFJlPS

--HG--
extra : rebase_source : 13603a66a9281fc42b59cc71f0793745a04755d9
2016-08-29 15:03:42 -07:00
JW Wang 716c3e5830 Bug 1299019 - ensure mVideoFrameEndTime is mono-increasing. r=kikuo
MozReview-Commit-ID: 3rwItcTAqUQ

--HG--
extra : rebase_source : dfcefdd15f85387a13312c271c4df7b424f4d239
2016-08-29 20:46:26 +08:00
JW Wang 2e69d86d5c Bug 1298297 - Remove DECODER_STATE_ERROR from MDSM. r=kaku
MozReview-Commit-ID: BWpPoXDDlux

--HG--
extra : rebase_source : 3061e420ad02c6ca7eb9ce389ec668bec59027ee
2016-08-26 17:41:45 +12:00
JW Wang ea84ad3a97 Bug 1298217. Part 11 - Move some code to the entry action of DECODER_STATE_BUFFERING. r=kaku
MozReview-Commit-ID: BCtmXQi2zNg

--HG--
extra : rebase_source : ff7cf8e167d276e058317dac9eb7061ebdb55441
2016-08-29 11:50:10 +08:00
JW Wang 689d8d387b Bug 1298217. Part 10 - Assert |mState == DECODER_STATE_DECODING| in StartBuffering() which is only called by MaybeStartBuffering() which also asserts that. r=kaku
MozReview-Commit-ID: BhcNiiQZX3I

--HG--
extra : rebase_source : c06aa95641a1f82451ca2182588fe28f760d4cb8
2016-08-26 06:34:06 +12:00
JW Wang 17a06a9459 Bug 1298217. Part 9 - Assert |mState == DECODER_STATE_DECODING| in MaybeStartBuffering() which is only called in the DECODER_STATE_DECODING case of RunStateMachine(). r=kaku
MozReview-Commit-ID: KLz8CpxDz71

--HG--
extra : rebase_source : 5ceea28dce4772bbd591f6d52b868c42dec7ca70
2016-08-26 06:31:57 +12:00
JW Wang caab92744a Bug 1298217. Part 8 - Move some code to the entry action of DECODER_STATE_DECODING. r=kaku
MozReview-Commit-ID: 1gzwIX566i

--HG--
extra : rebase_source : aad6069fb2e3957e15d5b03fd4db7b499912ace7
2016-08-29 11:46:08 +08:00
JW Wang 81b7f740b1 Bug 1298217. Part 7 - Assert |mState != DECODER_STATE_DECODING| in StartDecoding(). r=kaku
StartDecoding() is called from several places where mState is proven to be not DECODER_STATE_DECODING:
1. Called by PlayStateChanged() when mState is BUFFERING.
2. Called by OnMetadataRead() where mState is DECODING_METADATA.
3. Called by SeekCompleted() where mState is SEEKING.
4. Called by RunStateMachine() when the case is BUFFERING.
5. Called by OnCDMProxyReady() when mState is WAIT_FOR_CDM.

MozReview-Commit-ID: 53LWipLzdRo

--HG--
extra : rebase_source : ec157a8b4075d71ee757f72451a0af4878eda7c9
2016-08-29 11:36:26 +08:00
JW Wang 462f1fb025 Bug 1298217. Part 6 - Move some code to the entry action of DECODER_STATE_COMPLETED. r=kaku
MozReview-Commit-ID: 5hf3NV5uLvS

--HG--
extra : rebase_source : 648b0a5ebfcc549ba888a1904185a4ef2f43e083
2016-08-26 06:25:15 +12:00
JW Wang d74f20ebb4 Bug 1298217. Part 5 - Move the call to |SetState(DECODER_STATE_COMPLETED)| out of CheckIfDecodeComplete() to make it easier to move more code to entry actions. r=kaku
MozReview-Commit-ID: 7nJTIGwPyCs

--HG--
extra : rebase_source : a3834124401ea97c43d383e6adf34db282a00205
2016-08-26 06:18:53 +12:00
JW Wang e3bb274c85 Bug 1298217. Part 4 - Remove the call to DispatchDecodeTasksIfNeeded() from CheckIfDecodeComplete() because we've decoded all samples. r=kaku
MozReview-Commit-ID: 22qa8K8j5zb

--HG--
extra : rebase_source : 62601ec6e7d34fe8cdf3e2f031b531bb46190074
2016-08-26 06:08:54 +12:00
JW Wang e44da8a1e4 Bug 1298217. Part 3 - Remove the check for IsShutdown() from CheckIfDecodeComplete() because it is called only when mState is DECODING or BUFFERING. r=kaku
MozReview-Commit-ID: 80eWIjZnLAO

--HG--
extra : rebase_source : cc41e66fba57f7b2d0d7e583136e7e9fd8d9790e
2016-08-26 06:06:20 +12:00
JW Wang fe3759a62a Bug 1298217. Part 2 - Move some code to the entry action of DECODER_STATE_DORMANT. r=kaku
MozReview-Commit-ID: 9q35AhxS5IP

--HG--
extra : rebase_source : 3073e87bc126b8dda594d295a403b087689299bd
2016-08-26 05:58:12 +12:00
JW Wang 3e7acbb34a Bug 1298217. Part 1 - Move the code about decoding metadata to the entry action of DECODER_STATE_DECODING_METADATA. r=kaku
MozReview-Commit-ID: Dyb0HnMTLpQ

--HG--
extra : rebase_source : 06bbbd437b3e388fde3b3fc251a2c176472aabf9
2016-08-26 10:52:52 +12:00
JW Wang 67073c9df0 Bug 1297301. Part 2 - remove dom/media/raw. r=cpearce
MozReview-Commit-ID: E1XcTwRfsx3

--HG--
extra : rebase_source : b4c7a4709481ed07e88d91b82bc44cb3c315d327
2016-08-24 22:49:16 +12:00
JW Wang 6862b9379e Bug 1297301. Part 1 - Remove #ifdef MOZ_RAW. r=kentuckyfriedtakahe
MozReview-Commit-ID: LF4if8bZZGY

--HG--
rename : dom/media/raw/RawStructs.h => netwerk/protocol/device/RawStructs.h
extra : rebase_source : 96191a564754311200d6df36b1643990efa87e51
2016-08-24 11:02:37 +12:00
ctai 310fb4ce18 Bug 894922 - Enable test case on windows. r=jwwang.
MozReview-Commit-ID: CaKry95yiPY

--HG--
extra : rebase_source : 8b114be0c54f7d21d7d84c5600cdbfbcfa0fcf54
2016-08-29 14:36:14 +08:00
Munro Mengjue Chiang c8fa8d35f8 Bug 1272877 - dispatch GetAsSourceSurface() to main thread to prevent assert; r=jesup
MozReview-Commit-ID: 7Y5cuNFw8sm

--HG--
extra : rebase_source : a418c6baa2e2ecb52155dc9f7a1320b41acd3b6b
2016-08-23 15:45:23 +08:00
Wes Kocher 08fbeaaf2e Merge m-c to autoland, a=merge 2016-08-29 17:57:01 -07:00
Wes Kocher ed461fdf11 Merge inbound to m-c a=merge 2016-08-29 17:40:50 -07:00
Ryan VanderMeulen f55f7d9df3 Backed out 3 changesets (bug 1286041) for crashtest failures.
Backed out changeset 5e08455b6011 (bug 1286041)
Backed out changeset 25dd85b13da9 (bug 1286041)
Backed out changeset 48bb5e3170a0 (bug 1286041)

--HG--
extra : rebase_source : 303a619a5be40f81fcd1a418f0b5253c1e34c2d0
2016-08-29 17:05:33 -04:00
Ryan VanderMeulen 4460ee8698 Backed out changeset 5f43357fe5b4 (bug 1284909) for bustage on a CLOSED TREE. 2016-08-29 11:25:00 -04:00
Kaku Kuo 8f72f1ce87 Bug 1286454 part 4 - remove DecoderData::mDiscontinuity since it leads to nothing now; r=jwwang
MozReview-Commit-ID: I6Qzq1p6GyT

--HG--
extra : rebase_source : 796fa9611c31068cec69b631b26e542ae1cf4295
2016-08-25 18:18:22 +08:00
Kaku Kuo a863ce05a0 Bug 1286454 part 3 - remove MediaDecoderReader::mVideoDiscontinuity since it leads to nothing now; r=jwwang
MozReview-Commit-ID: 1JMngmA61Bd

--HG--
extra : rebase_source : 10e74faa50c897f130006014956d85f4c3886020
2016-08-25 18:16:05 +08:00
Kaku Kuo 4000b4f2ab Bug 1286454 part 2 - remove MediaDecoderReader::mAudioDiscontinuity since it leads to nothing now; r=jwwang
MozReview-Commit-ID: DjOXLa5aDm1

--HG--
extra : rebase_source : 1ada8cb696ffdd884723a2c75634a3edfcad1815
2016-08-25 18:14:17 +08:00
Kaku Kuo fcd9df9127 Bug 1286454 part 1 - remove MediaData::mDiscontinuity; r=jwwang
This member is only assigned but never used now.

MozReview-Commit-ID: IbuAbRaXzc4

--HG--
extra : rebase_source : 166bd3bc7478f725b64b5b2a0e8e258980674d06
2016-08-25 20:30:02 +08:00
Jan-Ivar Bruaroey de3b766278 Bug 1284909 - Allow raw deviceId constraints in gUM when caller is chrome. r=jesup
MozReview-Commit-ID: IB0BhGKbdam

--HG--
extra : rebase_source : 9ed1f4218e66bd3c96d044cacce167cbde79e775
2016-08-19 16:39:54 -04:00
Jean-Yves Avenard 2014b787b8 Bug 1298617: [MSE] P3. Optimize sample search by breaking loop early. r=gerald
MozReview-Commit-ID: 48YcQiy0p8S

--HG--
extra : rebase_source : 00e6c3468618bc6811faa80b5da590ab9e31d582
2016-08-28 02:43:36 +12:00
Jean-Yves Avenard da968e2d25 Bug 1298617: [MSE] P2. Attempt to search the exactly matching sample first. r=gerald
MozReview-Commit-ID: AW1T51n6WMl

--HG--
extra : rebase_source : 241a200fdb4f450e8188000aa70ea058aae817b5
2016-08-28 02:38:59 +12:00
Jean-Yves Avenard d97b525caa Bug 1298617: [MSE] P1. Don't attempt to estimate next sample time if exact value known. r=gerald
MozReview-Commit-ID: 8DE9WHFsePt

--HG--
extra : rebase_source : dd9edb407d6f2cc8ba76367fca0e10fb91f2eea7
2016-08-28 02:34:44 +12:00
Jean-Yves Avenard d9412b2ac0 Bug 1298594: P5. Fix mochitest. r=gerald
The assumption was that the waiting event would be fired once the last frame prior the gap had been played. This is however incorrect, as per spec, the waiting event is to be fired once readyState is <= HAVE_CURRENT_DATA. So the waiting event is actually fired anytime between the start of the last frame and its end.

MozReview-Commit-ID: AA4Qhn7okhB

--HG--
extra : rebase_source : fc1f336b2e07cc2549071563804de8fae9c9ab67
2016-08-29 16:07:38 +10:00
Jean-Yves Avenard b3537bb63d Bug 1298594: P4. Pop the frame when current time is past the end of the current frame. r=jwwang
Most frames start when the previous one stop.

MozReview-Commit-ID: H92Bmiki49Q

--HG--
extra : rebase_source : 071416d9151d5188550d73f0eb5a4c70a5fbd48b
2016-08-29 15:46:56 +10:00
Jean-Yves Avenard 9e433b8a83 Bug 1298594: P3. Ensure currentTime is updated prior changing readyState. r=jwwang
Otherwise we get intermittent in mochitests checking the value of currenTime when events are fired

MozReview-Commit-ID: AVktWrXochp

--HG--
extra : rebase_source : 76c952e62e9b449834d5924454c25ddad305ada6
2016-08-28 21:20:52 +10:00
Jean-Yves Avenard a9dab88295 Bug 1298594: [MSE] P1. Add mochitest to verify correct behavior. r=gerald
1- We shouldn't reach ended if we have a gap in the buffered range prior the end of the file (see bug 1297036)
2- Waiting should be fired when readyState goes below HAVE_FUTURE_DATA

MozReview-Commit-ID: 18bEnkNpYvO

--HG--
extra : rebase_source : c42c7fd19fec9ede5bb64ea697a0086116882403
2016-08-27 00:08:38 +12:00
Jean-Yves Avenard 3b8c226443 Bug 1297036: [MSE] P6. Fix invalid mochitest. r=gerald
The test accidentally worked because any demuxing failures in ended mode would be treated as EOS. There's no audio between [0-3), so playback couldn't start

MozReview-Commit-ID: 4B90CrVUTy4

--HG--
extra : rebase_source : 9079aa8a6983877745baac71c7868ca360b85095
2016-08-28 12:26:40 +10:00
Jean-Yves Avenard 46842a940a Bug 1297036: [MSE] P5. Make fuzz research consistent. r=gerald
The aim is to only allow skipping gaps of fuzz=500ms.

MozReview-Commit-ID: 8uHxni2nPHI

--HG--
extra : rebase_source : ccef593170fb3a0c3ff61dc97ad1a0508be06934
2016-08-27 23:51:40 +10:00
Jean-Yves Avenard 8d676d83a6 Bug 1297036: [MSE] P4. Only report end of stream when reaching the end. r=gerald
MozReview-Commit-ID: 5EWhBVnscXY

--HG--
extra : rebase_source : 914aa1b8abb8d4026993281dbd68b1ba2ef04642
2016-08-28 01:00:39 +12:00
Jean-Yves Avenard 90f7e263a7 Bug 1297036: P3. Revert "Bug 1293646: [MSE] P2. Only reject a seek request with EOS if it's passed the explicit duration." r=gerald
This reverts commit 5a949eb358e27

Another more complete solution will follow.

MozReview-Commit-ID: K3lTdrBxW7W

--HG--
extra : rebase_source : d0f9443193b0816ae85972a4a368599b872fd437
2016-08-26 19:30:50 +12:00
Jean-Yves Avenard 03f6dc4d61 Bug 1297036: [MSE] P2. Make seek always succeed when attempting to seek past the end time. r=gerald
MozReview-Commit-ID: H2YJu7vY0aP

--HG--
extra : rebase_source : 73b1e324a6d9f8612ef03dcbf7dc5e5a91c7e2b2
2016-08-26 19:23:29 +12:00
Jean-Yves Avenard e4f3e62f41 Bug 1297036: [MSE] P1. Add mochitest to verify behavior. r=gerald
Seeking in the buffered range should always succeed, even if we have no data in a given track

MozReview-Commit-ID: FGjsDCNIdWC

--HG--
extra : rebase_source : c91348e44055f82deee0e97da4abef0cf799b225
2016-08-26 23:10:00 +12:00
Jean-Yves Avenard fb042f363f Bug 1298606: P3. Fix coding style. r=gerald
MozReview-Commit-ID: L5MHnYOkyDV

--HG--
extra : rebase_source : 5da52435a47cc1dae14459ad44e910329c702ce4
2016-08-29 16:59:17 +10:00
Jean-Yves Avenard 85862da5ee Bug 1298606: [MSE] P2. Properly determine next frame status in ended state. r=gerald
MozReview-Commit-ID: 2m05GzauHes

--HG--
extra : rebase_source : d5541dd96dc0480c41e7d68cfb96a95243b9a454
2016-08-27 22:27:22 +12:00
Jean-Yves Avenard e45036c616 Bug 1298606: P1. Add Intervals::ContainsStrict method. r=gerald
MozReview-Commit-ID: 7XA8xVUWSi7

--HG--
extra : rebase_source : e8123ed9a11063a5e0e83f4b31bb9cafec7f02b4
2016-08-27 20:24:31 +10:00
Jean-Yves Avenard 954647ed96 Bug 1297218: [MSE] Remove unnecessary call to Find(). r=gerald
MozReview-Commit-ID: Af7mzXbLiNy

--HG--
extra : rebase_source : b3107a0be24a839be06ab5d4d22045a6fb0c94c3
2016-08-26 16:51:18 +12:00
Jean-Yves Avenard 5b04109e85 Bug 1297037: [MSE] Update Duration Change algorithm as per latest spec. r=gerald
The MSE spec was recently updated to use the highest end time across tracks rather than across the buffered ranges.

See https://github.com/w3c/media-source/issues/124 and the fix described in https://github.com/w3c/media-source/pull/154

MozReview-Commit-ID: 4CqI8d2e9gu

--HG--
extra : rebase_source : b25f0e2a76c517c0dca0a9def00edd6eff38d8ad
2016-08-26 16:39:36 +12:00
JW Wang 663ca6b4fa Bug 1297553 - Dump more debugging messages for MDSM and MediaSink. r=kaku
MozReview-Commit-ID: ILcF1hT2hVN

--HG--
extra : rebase_source : 1f6564eb5161608ee6031b1c362a6b689762dcfe
2016-08-24 11:45:58 +12:00
Gerald Squelart d56f52d1c6 Bug 1298271 - Make BoxReader use AutoByteReader - r=jya
This is done by moving FlacFrameParsers' AutoByteReader to a more public spot
in libstagefright's bindings.
Using AutoByteReader means there is no more need for explicit calls to
DiscardRemaining(); which means our parsers relying on BoxReader will be more
lenient about boxes that are larger than needed.

MozReview-Commit-ID: 3EERU749WYB

--HG--
extra : rebase_source : 6deba02ac553303b0a2b694c24bfcb54c2e732b1
2016-08-26 18:14:24 +10:00
Gerald Squelart 2088a45732 Bug 1298275 - Make ~AutoByteReader non-virtual - r=jya
Also ByteReader and AutoByteReader are marked RAII, to help prevent misuses.

MozReview-Commit-ID: 7oklXs4QMnq

--HG--
extra : rebase_source : 54fca3168a70d951e6012baea4bf0544827cae11
2016-08-26 17:27:23 +10:00
Byron Campen [:bwc] d4187beab5 Bug 1275461 - Part 2: See if slowing down the color changes helps. r=drno
MozReview-Commit-ID: HuYKmnXMl4T

--HG--
extra : rebase_source : 98a87572ac9cc07aa51102a9faf4058a9521e199
2016-08-22 12:43:03 -05:00
Alex Chronopoulos d635328838 Bug 1286041 - Assert audio callback is not called in initialized state. r=jwwang 2016-07-12 16:53:58 +02:00
Ryan VanderMeulen 1c0c6ec5d4 Merge m-c to inbound. a=merge 2016-08-29 12:56:19 -04:00
Michael Layzell b258dfaa89 Bug 1297802 - Remove unused RefPtr<> and COMPtr<> types in dom/, r=baku
MozReview-Commit-ID: CLUJZdbN7sW
2016-08-29 11:40:02 -04:00
Randell Jesup 9f2b9ce819 Bug 1298698: Block race between EnsureNextIteration and WaitForNextIteration r=karlt 2016-08-29 10:41:01 -04:00
Munro Mengjue Chiang 7290087ca7 Bug 1297911 - followup: if block needs to be braced; r=jib
MozReview-Commit-ID: I44jAWKquTd

--HG--
extra : rebase_source : a59a286a63aa12ff8f10aae340d0ad7b6f028c98
2016-08-25 14:07:42 +08:00
Wes Kocher f78f2d693b Merge inbound to central, a=merge 2016-08-25 16:59:00 -07:00
Ryan VanderMeulen e5adfbffe6 Merge m-c to autoland. a=merge
--HG--
rename : accessible/tests/browser/browser_caching_attributes.js => accessible/tests/browser/e10s/browser_caching_attributes.js
rename : accessible/tests/browser/browser_caching_description.js => accessible/tests/browser/e10s/browser_caching_description.js
rename : accessible/tests/browser/browser_caching_name.js => accessible/tests/browser/e10s/browser_caching_name.js
rename : accessible/tests/browser/browser_caching_relations.js => accessible/tests/browser/e10s/browser_caching_relations.js
rename : accessible/tests/browser/browser_caching_states.js => accessible/tests/browser/e10s/browser_caching_states.js
rename : accessible/tests/browser/browser_caching_value.js => accessible/tests/browser/e10s/browser_caching_value.js
rename : accessible/tests/browser/browser_events_caretmove.js => accessible/tests/browser/e10s/browser_events_caretmove.js
rename : accessible/tests/browser/browser_events_hide.js => accessible/tests/browser/e10s/browser_events_hide.js
rename : accessible/tests/browser/browser_events_show.js => accessible/tests/browser/e10s/browser_events_show.js
rename : accessible/tests/browser/browser_events_statechange.js => accessible/tests/browser/e10s/browser_events_statechange.js
rename : accessible/tests/browser/browser_events_textchange.js => accessible/tests/browser/e10s/browser_events_textchange.js
rename : accessible/tests/browser/browser_treeupdate_ariadialog.js => accessible/tests/browser/e10s/browser_treeupdate_ariadialog.js
rename : accessible/tests/browser/browser_treeupdate_ariaowns.js => accessible/tests/browser/e10s/browser_treeupdate_ariaowns.js
rename : accessible/tests/browser/browser_treeupdate_canvas.js => accessible/tests/browser/e10s/browser_treeupdate_canvas.js
rename : accessible/tests/browser/browser_treeupdate_cssoverflow.js => accessible/tests/browser/e10s/browser_treeupdate_cssoverflow.js
rename : accessible/tests/browser/browser_treeupdate_doc.js => accessible/tests/browser/e10s/browser_treeupdate_doc.js
rename : accessible/tests/browser/browser_treeupdate_gencontent.js => accessible/tests/browser/e10s/browser_treeupdate_gencontent.js
rename : accessible/tests/browser/browser_treeupdate_hidden.js => accessible/tests/browser/e10s/browser_treeupdate_hidden.js
rename : accessible/tests/browser/browser_treeupdate_imagemap.js => accessible/tests/browser/e10s/browser_treeupdate_imagemap.js
rename : accessible/tests/browser/browser_treeupdate_list.js => accessible/tests/browser/e10s/browser_treeupdate_list.js
rename : accessible/tests/browser/browser_treeupdate_list_editabledoc.js => accessible/tests/browser/e10s/browser_treeupdate_list_editabledoc.js
rename : accessible/tests/browser/browser_treeupdate_listener.js => accessible/tests/browser/e10s/browser_treeupdate_listener.js
rename : accessible/tests/browser/browser_treeupdate_optgroup.js => accessible/tests/browser/e10s/browser_treeupdate_optgroup.js
rename : accessible/tests/browser/browser_treeupdate_removal.js => accessible/tests/browser/e10s/browser_treeupdate_removal.js
rename : accessible/tests/browser/browser_treeupdate_table.js => accessible/tests/browser/e10s/browser_treeupdate_table.js
rename : accessible/tests/browser/browser_treeupdate_textleaf.js => accessible/tests/browser/e10s/browser_treeupdate_textleaf.js
rename : accessible/tests/browser/browser_treeupdate_visibility.js => accessible/tests/browser/e10s/browser_treeupdate_visibility.js
rename : accessible/tests/browser/browser_treeupdate_whitespace.js => accessible/tests/browser/e10s/browser_treeupdate_whitespace.js
rename : accessible/tests/browser/doc_treeupdate_ariadialog.html => accessible/tests/browser/e10s/doc_treeupdate_ariadialog.html
rename : accessible/tests/browser/doc_treeupdate_ariaowns.html => accessible/tests/browser/e10s/doc_treeupdate_ariaowns.html
rename : accessible/tests/browser/doc_treeupdate_imagemap.html => accessible/tests/browser/e10s/doc_treeupdate_imagemap.html
rename : accessible/tests/browser/doc_treeupdate_removal.xhtml => accessible/tests/browser/e10s/doc_treeupdate_removal.xhtml
rename : accessible/tests/browser/doc_treeupdate_visibility.html => accessible/tests/browser/e10s/doc_treeupdate_visibility.html
rename : accessible/tests/browser/doc_treeupdate_whitespace.html => accessible/tests/browser/e10s/doc_treeupdate_whitespace.html
rename : accessible/tests/browser/events.js => accessible/tests/browser/e10s/events.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/browser_ext_pageAction_title.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/head_pageAction.js
rename : dom/events/test/pointerevents/pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html
rename : dom/events/test/pointerevents/test_pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
rename : media/webrtc/trunk/tools/gyp/test/compiler-override/compiler.gyp => media/webrtc/trunk/tools/gyp/test/compiler-override/compiler-exe.gyp
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/ios/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.gyp => media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.py
rename : media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.asm => media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.assem
rename : mfbt/unused.h => mfbt/Unused.h
rename : testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture.html => testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture-manual.html
extra : rebase_source : a3de7d91a61df9b14fe07a89f5b0184a067549cf
2016-08-25 08:14:36 -04:00
Ryan VanderMeulen 520acfd195 Merge inbound to m-c. a=merge 2016-08-25 08:10:52 -04:00
Randell Jesup fd2b3d5eb8 Bug 1255737: don't set a shutdown timer if we don't have a shutdown ticket r=pehrsons 2016-08-24 12:24:17 -04:00
JW Wang 2fa66fff7d Bug 1295906 - Remove the call to |mVideoFrameContainer->ClearCurrentFrame()| from ReleaseResources(). r=jya
ReleaseResources() is called when MDSM enters dormant or during shutdown.

When it is called in response to dormant request, we don't want to clear
current frames so we are able to enter dormant state more aggressively
even when the media element is visible to the user.

When it is called from MediaDecoderReader::Shutdown(), it doesn't really
call ClearCurrentFrame() because MediaFormatReader::Shutdown clears the
|mVideoFrameContainer| pointer. So it doesn't make a difference to remove
the call.


MozReview-Commit-ID: IakGHbSMWTv

--HG--
extra : rebase_source : 7a25de39e04f5c7728bf65fcd447cc67b7a85411
extra : source : 44ff0ffaf63ad51a7a382cf0ee1c16e64ade63b9
2016-08-17 17:11:19 +08:00
Jean-Yves Avenard bca42a94d5 Bug 1297580: [MSE] P4. Add mochitest. r=gerald
MozReview-Commit-ID: IulzS2GSHa2

--HG--
extra : rebase_source : aeae90406b115d8215a5b134a54f34d7c3c49baa
2016-08-25 10:59:42 +12:00
Jean-Yves Avenard b32b9b034f Bug 1297580: [MSE] P3. Increase gap threshold to 500ms. r=gerald,kentuckyfriedtakahe
MozReview-Commit-ID: Ii9YjJ7YaJB

--HG--
extra : rebase_source : 0871be48b09bcb804ecca3bf67548c06441e21c7
2016-08-24 17:21:57 +12:00
Jean-Yves Avenard 94ece3bfc4 Bug 1297580: [MSE] P2. Halves the fuzz value when checking if seek target is present. r=gerald
The fuzz value is a +/- one. To check if a target is within an interval
we need to check with half the fuzz only.

MozReview-Commit-ID: J5H5sbNokse

--HG--
extra : rebase_source : aeedcb111c84a353307c8e641385ef0800792fa7
2016-08-24 17:20:52 +12:00
Jean-Yves Avenard a3cc5764c1 Bug 1297580: P1. Remove broken optimisation in IntervalSet. r=gerald
Interval.LeftOf would always return true if the length of the interval
is less than the fuzzing value.

MozReview-Commit-ID: L9uyZjQXnGA

--HG--
extra : rebase_source : af14038da603b928c7a4942f1b37f031908e61bb
2016-08-24 17:17:25 +12:00
Andreas Pehrson 20c6e5d1e0 Bug 1259788 - Remove direct track listeners from TrackUnionStream before inputs are removed. r=jesup
MozReview-Commit-ID: DTHF2pHEFSt

--HG--
extra : rebase_source : feddfc8ddbae33b2c97d0009b2a648ca71b33bbe
2016-08-23 18:08:19 +02:00
Andreas Pehrson 9f015ef1b0 Bug 1259788 - Implement disabled track modes for direct track listeners. r=jesup
MozReview-Commit-ID: H8TygONnCiv

--HG--
extra : rebase_source : 58f76583517fcf1f7f49e8c6fae139f402a83e52
2016-08-23 18:05:51 +02:00
Andreas Pehrson 821c28c6c3 Bug 1259788 - Use RefPtr<MediaStream> in NewRunnableMethod() in DOMMediaStream. r=jesup
MozReview-Commit-ID: F7nNCJBcWGz

--HG--
extra : rebase_source : b3e9243e60f9d1bcc51b459747d8a927ed5b4555
2016-08-18 18:24:50 +02:00
Andreas Pehrson dfb49b5ab0 Bug 1259788 - Raise "addtrack" in separate tasks. r=jesup
Turns out runnables added through
MediaStreamGraph::DispatchToMainThreadAfterStreamStateUpdate on the same
iteration are all run in the same task. Creating them in the owning dom stream
in one task solves the timing issues and lets us add them
(and raise "addtrack") in individual tasks.

MozReview-Commit-ID: 9Q3NoFrmnQs

--HG--
extra : rebase_source : aa391668ec424d2f9b1485f6218d7d1f9948abc9
2016-08-22 12:23:37 +02:00
Andreas Pehrson 9a907cfbfc Bug 1259788 - Add a new disabled mode for MSG tracks. r=jesup
MozReview-Commit-ID: 1dMTR4Wmcd8

--HG--
extra : rebase_source : 8c2ea262d53901a11ec5c0e5067f328461dee8f2
2016-08-15 14:19:42 +02:00
Andreas Pehrson 091e8c0b00 Bug 1259788 - Support MediaStream sources for HTMLMediaElement.mozCaptureStream(). r=jesup
This adds support for HTMLMediaElement.mozCaptureStream() and
mozCaptureStreamUntilEnded() for a HTMLMediaElement playing a MediaStream.

This is up to spec, while capturing a HTMLMediaElement playing a file is not.
This incompatibility means we cannot mix sources for the returned MediaStream.

As such, a MediaStream returned while the HTMLMediaElement was playing a file
will only have content while the element is playing files. If the src changes
to a MediaStream, the stream will be empty.

It works the same way if a MediaStream was captured while the HTMLMediaElement
was playing another MediaStream.

This is due to TrackID management - MediaDecoder doesn't care, and creates new
tracks when you seek, so users are unable to keep track, while for MediaStream
we control everything from main thread and keep track of the TrackIDs used
previously.

This also adds a separate path from MediaElementAudioSourceNode so that we don't
forward video tracks when the returned MediaStream is only used internally for
WebAudio. We should in that case not require a DOMMediaStream but just forwarding
tracks to a TrackUnionStream should be enough, and will save us some cpu cycles.
This is however fine for now as it's simpler.

MozReview-Commit-ID: Bg8hESDISDU

--HG--
extra : rebase_source : 83885a73ec8cfc5fbe3c30a9330a52cd6b6dff12
extra : source : f1aec79078869c0a6435a1c06957c649d7a40dd9
2016-08-23 17:51:50 +02:00
JW Wang d13f41c2a0 Bug 1294616 - Somewhat improve the string performance by defining string literals whose length is known at compile time. r=cpearce
MozReview-Commit-ID: LAlqMDtGQN7

--HG--
extra : rebase_source : 4f2cdc9cb9ee7e4dd024d47dad329304f6ba70ae
extra : source : 6db22a524b1452fc50bf56535e7c619a8441dcfe
2016-08-15 15:41:53 +08:00
JW Wang a208d2cb40 Bug 1295073 - Remove the aRealTime parameter from the MediaDecoderStateMachine constructor. r=cpearce
MozReview-Commit-ID: BXMVAV1R3gx

--HG--
extra : rebase_source : 0749ff95de361da3c935dfe113690aa8c5e7dc2a
2016-08-15 14:54:10 +08:00
Andreas Pehrson 83dcc7266e Bug 1259788 - Break out AddTrackInternal() from DOMMediaStream::CreateDOMTrack. r=jesup
Sometimes a track is added to a stream synchronously (before the stream is
exposed to script), and sometimes asynchronously (see the mediacapture-main spec
on the "addtrack" event).

In the latter case we might still need to create the MediaStreamTrack object
synchronously for tracking purposes. CaptureStream of Media element playing a
MediaStream wants this.

MozReview-Commit-ID: 7me8xzN7rwj

--HG--
extra : rebase_source : 4f129b127b855e47aad2ae9ab3981ffde057412d
2016-08-12 13:50:41 +02:00
Munro Mengjue Chiang b6c7822e72 Bug 1296684 - export DeviceChangeCallback.h no matter webrtc is enabled or not; r=jib
MozReview-Commit-ID: 9xocLhe1QZw

--HG--
extra : rebase_source : cfa81f49e8b98b93c90a6ea436ee106db7a12f00
2016-08-22 18:16:28 +08:00
Chia-hung Tai 80a7e0d9a0 Bug 1292335 - Call mozCaptureStreamUntilEnded in loadedmetadata. r=pehrsons.
MozReview-Commit-ID: 5S3jR9V23Yn

--HG--
extra : rebase_source : 65fa7e3f76318d1149a9700fae96a55a9a395d31
2016-08-22 11:01:27 +08:00
Andreas Pehrson 0a0c94abc9 Bug 1297099 - Change LoadManagerSingleton WeakPtr to RefPtr. r=jesup
--HG--
extra : rebase_source : c40fe1ca338ca3e8aed7e618ea4dd8e95dc74672
2016-08-25 10:04:58 -04:00
James Cheng c6899c4863 Bug 1290830 - [Part2] Remove the GMP types using genral types instead. r=cpearce
MozReview-Commit-ID: 3EKwTNPddI1

--HG--
extra : rebase_source : 00f7267a76ad299b52d02b16425bb266ee58985b
2016-08-02 15:05:21 +08:00
James Cheng b74f50bca9 Bug 1290830 - [Part1] Detach the GMPDecryptorProxyCallback interface to DecryptorProxyCallback. r=cpearce
MozReview-Commit-ID: EPGf0ITakPO

--HG--
extra : rebase_source : 1186be0680789c1f9e66366e549fd5ec5b418a38
2016-08-01 17:37:18 +08:00