Commit Graph

4657 Commits

Author SHA1 Message Date
Jean-Yves Avenard
57037c7820 Bug 1208917: Fix VP9 decoding with recent version of libav. r=kentuckyfriedtakahe
Recent libav do not require a codec parser to decode VP9.
2015-09-28 10:30:03 +10:00
JW Wang
74504dc15a Bug 1207915 - Apply the fix of bug 1052206 to DecodedStream. r=roc. 2015-09-28 05:46:47 +08:00
Ehsan Akhgari
ad3a3c6527 Bug 1208892 - Replace the uses of memset to clean up data in GMPLoader::Load with an inline memset; r=cpearce
This is found by Viva64.  Because the data we're memsetting to 0
may not be used after this point, the compiler can eliminate the
memsets.  We need to roll our own inline memset that cannot be
optimized away.
2015-09-27 17:46:04 -04:00
Karl Tomlinson
e8c9471dea bug 1208327 make enum AudioContextOperation strongly typed and forward declare instead of including AudioContext.h r=roc
AudioContext.h is now exported only under mozilla.dom.

--HG--
extra : rebase_source : 7fc0a25a6bb8efe497a0e779dca2df5d7e3397b1
2015-09-25 08:49:03 +12:00
Kaustabh Datta Choudhury
5270e212b7 Bug 1162003 - Enable run-by-dir mode on Fx desktop mac debug platform and re-enable a few tests. r=jmaher 2015-09-28 10:54:22 -04:00
Karl Tomlinson
dc7019feef bug 864171 move "extra" time accounting for AudioContext with no nodes to destination stream r=padenot
--HG--
extra : rebase_source : 28cb7a858721e80d68603c4adeaea55eb17f13ba
2015-09-23 19:05:46 +12:00
Karl Tomlinson
504ac09b2d bug 1053011 align "extra" time on AudioContext with processing block size r=padenot
--HG--
extra : rebase_source : efaf55d88a5c25e01d56a701a0f88205d67424f8
2015-09-23 19:52:26 +12:00
Jean-Yves Avenard
3f3757ce78 Bug 1207429: P2. Enable FFmpeg by default if available. r=kentuckyfriedtakahe
By default we only use libav 9 or FFmpeg 1.2 if found on the system.

If media.fragmented-mp4.ffmpeg.enabled is set, will allow use of libav 0.7 and ffmpeg 0.8 or later.
2015-09-27 15:19:28 +10:00
Jean-Yves Avenard
e071e87392 Bug 1207429: P1. remove media.fragmented-mp4.exposed pref. r=kentuckyfriedtakahe 2015-09-27 15:19:27 +10:00
Jean-Yves Avenard
abc4fb6966 Bug 1207119: [mp3] Properly read channels count. r=esawin
The channel count is stored on bit 6 & 7 of byte at offset 3.
2015-09-27 15:19:27 +10:00
Wes Kocher
40f2f82907 Merge m-c to inbound, a=merge 2015-09-25 18:02:38 -07:00
Carsten "Tomcat" Book
4952084732 Backed out 3 changesets (bug 1155923) for causing test failures in promises-call.html
Backed out changeset 321a932e01a7 (bug 1155923)
Backed out changeset 6ac38acd6ab2 (bug 1155923)
Backed out changeset 2981db92416a (bug 1155923)
2015-09-28 14:02:41 +02:00
Nicholas Nethercote
d0c4a9db1b Bug 1208300 (part 4) - Remove gfxRGBA and some related things. r=jwatt.
Hooray!

--HG--
extra : rebase_source : d691b55eef5a8655aa98b81b5398452a5ebe860d
2015-09-24 19:24:16 -07:00
Jean-Yves Avenard
7ae057dc90 Bug 1207946: [MSE] P3. Reset cached demuxing index when new data overwrite the end. r=gerald
This will force an iterative search upon the next demux request.
2015-09-29 12:31:33 +10:00
Jean-Yves Avenard
488a0d19d9 Bug 1207946: [MSE] P2. Fix seek when target isn't found exactly in a buffered range. r=gerald 2015-09-29 12:31:32 +10:00
Jean-Yves Avenard
9cd4267bfc Bug 1207946: [MSE] P1. Ensure we stop on the closest keyframe when seeking. r=gerald
Should the first frame in the trackbuffer have a time superior to the seek target, mNextSampleTime would be incorrectly set to 0.
2015-09-29 12:31:32 +10:00
Jean-Yves Avenard
9396c59cd0 Bug 1089586: Abort pending seeks. r=jwwang
We only perform the last seek requested instead.
2015-09-29 11:37:15 +10:00
Jean-Yves Avenard
9323ac2f6a Bug 1208799: [webm] Use first track found. r=kinetik 2015-09-29 11:37:14 +10:00
Chris Pearce
d565fd2492 Bug 1208289 - Log outstanding frames in GMP DrainComplete() and detect dropped ResetComplete. r=jwwang
* * *
Bug 1208289 - Yet another bustage fix. r=bustage
2015-09-29 13:06:14 +13:00
Chris Pearce
e85e9eca24 Bug 1208289 - Add SimpleTimer to make setting timeouts in C++ easy. r=jwwang 2015-09-29 13:06:11 +13:00
Randell Jesup
0436e895eb Bug 1178091: tests for large DataChannel transfers and onbufferedamountlow event r=drno 2015-09-28 19:02:58 -04:00
Eugen Sawin
949294537b Bug 1190379 - Disable surface copying on emulators. r=snorp 2015-09-29 00:56:51 +02:00
Eugen Sawin
847a4ccf96 Bug 1190379 - Use AndroidDecoderModule for VP8/9. r=jya 2015-09-29 00:56:51 +02:00
Hayden Huang
997857d190 Bug 1175447 - mono audio support. r=padenot, r=sotaro
This patch is to enable mono audio option for those who has full hearing loss in one ear.
With this feature, they can get the complete audio with using one ear.

--HG--
extra : transplant_source : %EC%27%97%1Ai%0D%E3%BC%D0%12%97-K%0Ek%BD%8A%C8%A9%85
2015-08-06 14:30:22 +08:00
Chris Pearce
dc7d7fd07d Bug 1207439 - Don't use GMPVideoDecoderTrialCreator for Primetime. r=edwin 2015-09-25 14:19:46 +12:00
Sotaro Ikeda
34a6dca7cc Bug 1205351 - Replace nsBaseHashtable::Enumerate() calls in dom/media/ with iterators r=cpearce 2015-09-24 18:48:25 -07:00
Nicholas Nethercote
842dd1cf5a Bug 1207741 - Remove gfxIntSize. r=nical.
gfxIntSize is just a typedef of gfx::IntSize, so this is very mechanical. The
only tricky part is deciding for each occurrence whether to replace it with
IntSize, gfx::IntSize or mozilla::gfx::IntSize; in all cases I went with the
shortest one that worked given the existing "using namespace" declarations.

--HG--
extra : rebase_source : 67fd15f87222b16defa70ef795c6d77dfacf1c36
2015-09-23 11:49:05 -07:00
Jeff Gilbert
187dfafc29 Bug 1191042 - Use CreateOffscreen for WebGL instead of CreateHeadless. - r=jrmuizel 2015-09-24 12:21:05 -07:00
Wes Kocher
03a1803261 Backed out 9 changesets (bug 1170958) for frequent test_getUserMedia_addTrackRemoveTrack.html failures
Backed out changeset 277c1f8098d1 (bug 1170958)
Backed out changeset aa86bb9eea95 (bug 1170958)
Backed out changeset 8af8b85a4b26 (bug 1170958)
Backed out changeset ec1bf225e9cb (bug 1170958)
Backed out changeset 4a04ddca2b6b (bug 1170958)
Backed out changeset e85c9977a311 (bug 1170958)
Backed out changeset 16b40ff04e8f (bug 1170958)
Backed out changeset ad206925c84a (bug 1170958)
Backed out changeset 2106eccec79b (bug 1170958)
2015-09-25 13:08:55 -07:00
Wes Kocher
b4a25c9f58 Backed out 7 changesets (bug 1103188) for frequent test_getUserMedia_addTrackRemoveTrack.html failures
Backed out changeset f0f33a8ef14c (bug 1103188)
Backed out changeset dbe0ebdebad5 (bug 1103188)
Backed out changeset bb656022a1a7 (bug 1103188)
Backed out changeset cc6b5f5ba444 (bug 1103188)
Backed out changeset ca97d52bf144 (bug 1103188)
Backed out changeset de8cc967f8eb (bug 1103188)
Backed out changeset 6da8f4905060 (bug 1103188)
2015-09-25 13:08:44 -07:00
Paul Adenot
cb424cc5a1 Bug 1200579 - Stop copying AudioParam timelines. r=karlt
--HG--
extra : rebase_source : 3acc85754acb096843c45d5ad12e8e3f7954ecdc
2015-09-25 15:57:55 +02:00
Andreas Pehrson
227494cba0 Bug 1103188 - Always check tracks on getUserMedia(). r=jib
--HG--
extra : commitid : FxucwRqUZUo
2015-09-25 23:23:31 +08:00
Andreas Pehrson
35220b1c7c Bug 1103188 - MediaStream::AddTrack/RemoveTrack tests. r=jib,roc
--HG--
extra : commitid : FxucwRqUZUo
2015-09-25 23:23:31 +08:00
Andreas Pehrson
9d10fc1441 Bug 1103188 - Break out MediaTrackListListener to an interface. r=roc
Other modules than MediaTrackLists may want to receive updates on a
DOMMediaStream's track set. This moves the MediaTrackListListener out of
the MediaTrackList class into DOMMediaStream as a general interface.

The logic for adding MediaTracks to the MediaTrackList when
MediaStreamTracks are added or removed from a DOMMediaStream is moved to
HTMLMediaElement as this fits the model better - HTMLMediaElement is the
owner of the MediaTrackLists.

--HG--
extra : commitid : FxucwRqUZUo
2015-09-25 23:23:31 +08:00
Andreas Pehrson
7c822e759d Bug 1103188 - Deprecate DOMMediaStream::Stop(). r=jib
--HG--
extra : commitid : FxucwRqUZUo
2015-09-25 23:23:31 +08:00
Andreas Pehrson
6c449288a0 Bug 1103188 - Remove identical override nsDOMUserMediaStream::Stop(). r=jib
--HG--
extra : commitid : FxucwRqUZUo
2015-09-25 23:23:30 +08:00
Andreas Pehrson
cc2405535d Bug 1103188 - MediaStream::AddTrack/RemoveTrack implementation. r=roc
--HG--
extra : commitid : FxucwRqUZUo
2015-09-25 23:23:30 +08:00
Andreas Pehrson
e4aa371fe5 Bug 1103188 - MediaStream WebIDL update with addTrack/removeTrack. r=smaug,jib
--HG--
extra : commitid : FxucwRqUZUo
2015-09-25 23:23:30 +08:00
Andreas Pehrson
dd7c08d0b3 Bug 1170958 - Destroy track-locked MediaInputPorts when the track ends. r=roc
This is needed to make tests pass until we have bug 1208316 implemented.

--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:18 +08:00
Andreas Pehrson
b4ff8db67c Bug 1170958 - Remove ProcessedMediaStream::ForwardTrackEnabled. r=roc,jesup
TrackUnionStream guarantees that TrackIDs are maintained if no tracks
have claimed them before.

In the gUM case, we have a SourceMediaStream which we wholly own (the
DOMMediaStream's Input stream), piped into a TrackUnionStream which
no-one external is able to add tracks to (the DOMMediaStream's Owned
stream) - addTrack()ed tracks are added to the DOMMediaStream's Playback
stream.

The MediaStreamTracks being enabled/disable refer to a TrackID in the
DOMMediaStream's Owned stream.

Alas, we don't need to forward a track's enabled state, we can just do
it on the source.

--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:18 +08:00
Andreas Pehrson
f02743d4ff Bug 1170958 - Add DOMMediaStream::OwnedStreamListener. r=roc
A DOMMediaStream's owned stream is piped from the input stream which is
under the control of the DOMMediaStream's owner/producer (like
captureStream or gUM). When producers like these create new tracks after
the stream has already been created (the initial set should be available
to JS synchronously), it is nice if the DOMMediaStream picks them up
automatically and create the corresponding MediaStreamTracks.

The OwnedStreamListener added here does just that; creates an owned
MediaStreamTrack when a track appeared in the stream that didn't already
have a MediaStreamTrack.

It also moves the logic for ended tracks from the PlaybackStreamListener
to the OwnedStreamListener as we previously would see a track end in the
playbak stream after removeTrack() and that would be interpreted as the
track ending at the source.

--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:18 +08:00
Andreas Pehrson
3c0c283fea Bug 1170958 - Improve logging of MediaStreams and playback. r=roc
--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:18 +08:00
Andreas Pehrson
96fa1303ef Bug 1170958 - Feed a SourceMediaStream-backed dom stream instead of a raw SourceMediaStream in MediaManager. r=jesup
Simplifies the structure of MediaManager somewhat. Possible since
MediaManager owns both the SourceMediaStream and the DOMMediaStream.

--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:18 +08:00
Andreas Pehrson
eacfc2cf0e Bug 1170958 - Refactor DOMMediaStream to contain a 3-stage track chain. r=roc
This lets us separate tracks by ownership like so:
* Input    - Owned by the producer of the DOMMediaStream (gUM etc.)
* Owned    - Contains Input tracks (per above) or tracks cloned tracks
             if this DOMMediaStream is a clone.
* Playback - Contains Owned tracks plus tracks addTrack()ed to this
             DOMMediaStream minus tracks removeTrack()ed from this
             DOMMediaStream.

--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:18 +08:00
Andreas Pehrson
cbd58a2839 Bug 1170958 - Allow MediaInputPort to lock to a specific input track. r=roc
Locking to specific tracks lets us dynamically remove and add single
tracks to a ProcessedMediaStream.

--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:18 +08:00
Andreas Pehrson
7aca9eb1fd Bug 1170958 - Add input stream and track as args to NotifyQueuedTrackChanges. r=roc
This allows for tracking the input track of an added track (for
ProcessedMediaStream tracks; SourceMediaStream tracks don't have input
tracks) directly in the NotifyQueuedTrackChanges handler, which will be
necessary for locking MediaInputPorts to specific tracks.

--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:17 +08:00
Chris Pearce
e9dd5ecb69 Bug 1208349 - Ensure we query PDM whether it supports MP4 before assuming it supports MP4. r=jya 2015-09-25 23:17:50 +12:00
Gian-Carlo Pascutto
f9d40d7b02 Bug 1205164 - Fix ShmemPool detection of failed allocations. r=jesup 2015-09-25 12:30:46 +02:00
Gian-Carlo Pascutto
d1550b7cc5 Bug 1205164 - Make sure ShmemPool high water mark is logged in all allocators. r=jesup 2015-09-25 12:30:46 +02:00
Carsten "Tomcat" Book
1c9015e1a5 Backed out 1 changesets (bug 1208349) for m2 and w2/3 test failures
Backed out changeset 188a6e9a86a0 (bug 1208349)
2015-09-25 11:54:49 +02:00
Chris Pearce
af04bc849a Bug 1208349 - Ensure we query PDM whether it supports MP4 before assuming it supports MP4. r=jya 2015-09-25 18:38:22 +12:00
Andreas Pehrson
143e9256c4 Bug 1192170 - Remove media capture indicator when all tracks have ended. r=jib
--HG--
extra : commitid : 7nO1zyYTfLV
extra : rebase_source : 4761874ce4d5bb2d5675d3fa8e235cb491348919
2015-09-25 13:55:29 +08:00
Gerald Squelart
9c5368f80d Bug 1200326 - p5 - Moved fallible code from MP4TrackDemuxer constructor to caller - r=jya
In MP4TrackDemuxer constructor, getting the track info and indices could potentially fail, triggering crashing assertions.
The fallible work is now done before calling the constructor, and if it fails a nullptr is returned, which is correctly handled in MediaFormatReader.
Also reordered some MP4TrackDemuxer members for more natural construction.
2015-09-23 00:47:00 +02:00
Martin Thomson
9c3bef623e Bug 1155923 - Removing moz prefix from RTC interfaces. r=jesup r=smaug
--HG--
extra : transplant_source : 1%F0%A8%03%D3%B9OAJW%06v%21%F1WX%03im%22
2015-09-24 16:31:47 -07:00
Randell Jesup
b7ab4c0916 Bug 953265: make getUserMedia fake audio tones configurable in frequency via pref r=jib 2015-09-24 09:23:37 -04:00
Randell Jesup
93f63e0a1a Bug 953265: Update webrtc/getUserMedia default audio capture rate to 32KHz r=padenot 2015-09-24 09:23:37 -04:00
Carsten "Tomcat" Book
4fe48de950 Backed out 1 changesets (bug 1207915) for windows m3 test failures
Backed out changeset 84fd96dc7ddc (bug 1207915)
2015-09-24 11:44:25 +02:00
Nigel Babu
c0f6363af9 Backed out changeset 49847eb6c1ce (bug 1180940) for Mulet Gij(4) bustage on CLOSED TREE 2015-09-24 12:37:52 +05:30
Nigel Babu
99377b8efb Backed out changeset dcbabf6ce153 (bug 1188643) for linux crashtest bustage 2015-09-24 12:31:20 +05:30
JW Wang
41104e7fe4 Bug 1207915 - Apply the fix of bug 1052206 to DecodedStream. r=roc. 2015-09-24 14:29:01 +08:00
Jean-Yves Avenard
2fc3af55bd Bug 1159343: Interrupt seek early when possible. r=jwwang 2015-09-24 16:46:14 +10:00
Jean-Yves Avenard
2b4485947b Bug 1207478: P4: Make it impossible for the MDSM frame calculation to overflow. r=jwwang
This should make P3 unnecessary as far as the MDSM is concerned.
2015-09-24 16:42:53 +10:00
Jean-Yves Avenard
653783f212 Bug 1207478: P3. Reduce chance of overflow. r=jwwang 2015-09-24 16:42:52 +10:00
JW Wang
bd37364bb2 Bug 1188643. Buffer more audio in audio capture mode to avoid glitches. r=cpearce. 2015-09-24 14:20:38 +08:00
sajitk
33f44061ca Bug 1180940 - Changed return type of AudioDestinationNode::CreateAudioChannelAgent method to return errors, if any methods that it calls fail. Added code to handle the return value in AudioContext::Init(), and its callers. r=baku 2015-09-22 18:16:00 +02:00
Randell Jesup
6027a43516 Bug 1207416: Add Telemetry for time spent in different Load states in WebRTC r=gcp 2015-09-23 14:10:28 -04:00
Karl Tomlinson
cbf602ece7 bug 1207003 only create track for external AudioNodeStreams r=padenot
IsFinishedOnGraphThread() was unnecessary due to the !mFinished test.

--HG--
extra : rebase_source : 6dd493c1b87e0f2f16b897f537990f1ac7abba31
2015-09-18 17:07:40 +12:00
Karl Tomlinson
7fe490cca6 bug 1207003 add GraphTime parameter to ProcessBlock() and remove GetCurrentPosition() r=padenot
This is immediately useful for making the track unnecessary, but will also be
required when switching to the destination node stream for tracking time (bug
1205558) because using GetCurrentPosition() on the destination node stream
would give different results depending on the stream processing order (when
called during processing of streams not strictly upstream from the destination
node).

--HG--
extra : rebase_source : 7a3432b2e6a20fa3f42be05776c178dfda64d166
2015-09-18 17:05:25 +12:00
Karl Tomlinson
aa9fd09fa4 bug 1207003 remove unused aStream parameter r=padenot
--HG--
extra : rebase_source : b3c453cc2c13ca1a22bdc5946a8aa1c07639cbaa
2015-09-18 14:58:26 +12:00
Karl Tomlinson
5dc1c2c5d6 bug 1207003 fetch stream position once instead of three times r=padenot
--HG--
extra : rebase_source : b76cf41cf5eedae7f1b131703e14303e4f642560
2015-09-18 14:27:03 +12:00
Karl Tomlinson
49d09f7fa2 bug 1207003 coallesce external output chunks when silent r=padenot
AppendAndConsumeChunk() will always append a new chunk, but AppendNullData()
will use an existing null chunk if possible.

--HG--
extra : rebase_source : b00a131433e5548d2d5bb90303cf4d2e9568419b
2015-09-09 20:07:19 +12:00
Karl Tomlinson
1dcbc7744e bug 1207003 remove unnecessary EnsureTrack() call r=padenot
EnsureTrack() will be called in AdvanceOutputSegment(), if not blocked.

--HG--
extra : rebase_source : 1fe290135e2314bc518e8f67b6a98eddc6cf7768
2015-09-09 18:41:50 +12:00
Andre Natal
5789eeb504 Bug 1206323 - Change cmn level on acoustic model param for better accuracy on aries. r=kdavis
--HG--
extra : rebase_source : 6331880e33c477734490efbb11002a0bcdbfae53
2015-09-18 18:45:00 +02:00
Chris Peterson
71920a9550 Bug 1207030 - Enable -Wshadow flag in more directories that have no -Wshadow warnings. r=glandium 2015-09-22 21:39:03 -07:00
Chris Pearce
787b689f00 Bug 1207376 - Check whether H264Converter created its decoder successfully. r=jya 2015-09-23 17:46:04 +12:00
Chris Pearce
1dce7bcb10 Bug 1187760 - Add telemetry to record navigator.requestMediaKeySystemAccess latency. r=edwin,vladan 2015-09-23 16:43:46 +12:00
Karl Tomlinson
644913284f bug 1206362 be careful about double -> int conversion r=padenot
--HG--
extra : rebase_source : 66fd40ddd3794ac225c581bbae56445d92362e12
2015-09-21 15:44:10 +12:00
Jean-Yves Avenard
5d1d418de1 Bug 1206979: P3. Request S16 audio for libav 0.8 and earlier. r=edwin 2015-09-23 12:59:28 +10:00
Jean-Yves Avenard
4dd514a9b5 Bug 1206979: P2. Get around libav 0.8.5 bug. r=edwin
And probably others. When multhreading decoding is enabled ; the frames dimensions were incorrectly set.
2015-09-23 12:59:27 +10:00
Jean-Yves Avenard
71d911ed61 Bug 1206979: P1. Add method to determine which version of libavcodec is available. r=edwin 2015-09-23 12:59:27 +10:00
Jean-Yves Avenard
9a88d127d2 Bug 1206568: P2. Clean up header declarations. r=cpearce
Make it consistent across the use of virtual/override
2015-09-23 12:59:26 +10:00
Jean-Yves Avenard
8283012c2a Bug 1206568: P1. Ensure FFmpeg decoder is only accessed through the decoder's task queue. r=cpearce
Add strong assertion that it is indeed the case.
2015-09-23 12:59:25 +10:00
Phil Ringnalda
449e9119b4 Back out f84aedf7a62d (bug 1191042) for b2g emulator test failures
CLOSED TREE
2015-09-22 19:26:13 -07:00
Jeff Walden
4046fe1490 Bug 1179003 - Convert the infallible objectClassIs proxy hook into a fallible getBuiltinClass hook that indicates class type via outparam. r=efaust, r=bz on DOM bits, r=billm on IPC bits
--HG--
extra : rebase_source : 6ddc3727c411fdfced6338e5e383a10572575f0f
2015-08-28 21:55:40 -07:00
Jeff Gilbert
8d443901df Bug 1191042 - Use CreateOffscreen for WebGL instead of CreateHeadless. - r=jrmuizel 2015-09-22 16:49:25 -07:00
Olivier Brunel
11e774d18d Bug 1194631 - Make firefox build with --disable-logging. r=jrmuizel 2015-09-22 17:39:12 +02:00
Randell Jesup
6a27768207 Bug 1206900: Add telemetry for device types captured with getUserMedia() r=jib,smaug 2015-09-21 22:20:45 -04:00
Jan-Ivar Bruaroey
1c3f3f8536 Bug 1206982 - getUserMedia s/PermissionDeniedError/SecurityError/. r=jesup
--HG--
extra : transplant_source : %BB%1A%10%27%95%15%E0%A4%F3%F4%93%83%26%B91%CA%C8%9Cn%B1
2015-09-21 20:57:12 -04:00
JW Wang
3b34b7fda2 Bug 1207017. Part 2 - remove duplicated GetStateMachine(). r=kinetik. 2015-09-22 13:57:36 +08:00
JW Wang
ea6f339396 Bug 1207017. Part 1 - fix coding styles. r=kinetik. 2015-09-22 13:57:24 +08:00
JW Wang
4395bf4e9d Bug 1206607 - Remove some dead code from MDSM. r=kinetik. 2015-09-22 13:55:55 +08:00
Chris Pearce
a808146d0f Bug 1207000 - Create GMPVideoDecoderTrialCreator on all platforms. r=edwin 2015-09-22 15:12:09 +12:00
JW Wang
aeb8ca2f81 Bug 1206578 - Group public and private functions respectively for MDSM. r=gsquelart. 2015-09-22 11:03:08 +08:00
JW Wang
9f60378309 Bug 1206574 - Remove AbstractMediaDecoder::IsShutdown(). r=cpearce. 2015-09-22 10:56:17 +08:00
Karl Tomlinson
026a99369a bug 1205540 account for active inputs and skip processing when streams are inactive r=padenot
--HG--
extra : rebase_source : 20eca7c13b9757fc9c79ee414a7b4c2c8da26be2
2015-09-18 00:03:00 +12:00
Karl Tomlinson
82019c145c bug 1205540 initialize mBufferFormat when constructing silent block r=padenot
This makes an AudioBlock valid for code testing mBufferFormat without IsNull(),
without the need for explicit SetNull().

This is useful so that setting AudioNodeStream::mLastChunks each iteration is
not required for inactive nodes.

--HG--
extra : rebase_source : 171b7339bfe91e15b070f03bd5e0b784b58a217a
2015-09-21 11:37:55 +12:00
Karl Tomlinson
2a0fb73346 bug 1205540 mark BufferSource finished only when producing silent output block r=padenot
This allows simpler processing of the finished state to mark the node as an
inactive input of any downstream nodes.  Otherwise the input could not be
considered inactive until after downstream nodes have finished processing,
but ProcessInput() may not be called again on finished streams.

AudioBufferSourceNode now behaves the same as OscillatorNode and similarly
to nodes that release a playing ref.

--HG--
extra : rebase_source : 1268ca8f561fee2a43ba17f5fe3abc804486a50c
2015-09-18 00:00:17 +12:00
Karl Tomlinson
b8a08a30f9 bug 1205540 make source stream available during RemoveInput r=padenot
--HG--
extra : rebase_source : 9f228fc8f2e6bc173dc3f7917c34f4b066f38209
2015-09-09 14:19:05 +12:00
Karl Tomlinson
57f288f403 bug 1205540 provide querying whether engines need to continue processing even without input r=padenot
--HG--
extra : rebase_source : 08dfd9685c49b93a9ca113434f62d92de26f58e7
2015-09-09 08:54:03 +12:00
Karl Tomlinson
7e9bfa19a5 bug 1205540 don't send more null chunks than necessary to AnalyserNode r=padenot
--HG--
extra : rebase_source : c1e6755ee91911f64a95a88abf469276be83f000
2015-09-09 08:52:39 +12:00
Jean-Yves Avenard
ce6cdc5ce3 Bug 1205470: [MSE] Remove assertion. r=cpearce
Can also remove mInitDone member as that information is redundant with the init promise being present
2015-09-22 08:21:04 +10:00
Christoph Kerschbaumer
2fac10d123 Bug 1048048 - add preload content policy types for scripts (r=baku)
--HG--
extra : source : 450d4a13c90e95a58caa398e4fcc0a71f4800071
2015-09-20 14:56:21 -07:00
Wes Kocher
38fc20426e Backed out changeset 49a711e67d8b (bug 1190379) for various android crashes CLOSED TREE 2015-09-21 09:09:29 -07:00
Wes Kocher
cd079d2bf9 Backed out 7 changesets (bug 1048048) for android crashes in various chunks CLOSED TREE
Backed out changeset b5abe23a4ea5 (bug 1048048)
Backed out changeset 4f91b10e8be0 (bug 1048048)
Backed out changeset 450d4a13c90e (bug 1048048)
Backed out changeset 6a727c40eb68 (bug 1048048)
Backed out changeset 88c2333ff745 (bug 1048048)
Backed out changeset 740ab1ecd079 (bug 1048048)
Backed out changeset 02c6d6aef163 (bug 1048048)
2015-09-21 09:08:34 -07:00
Christoph Kerschbaumer
c938714dba Bug 1048048 - add preload content policy types for scripts (r=baku) 2015-09-20 14:56:21 -07:00
Eugen Sawin
3907bbb549 Bug 1190379: Use AndroidDecoderModule for VP8/9. r=jya 2015-09-21 16:39:12 +02:00
Paul Adenot
945decca4e Bug 1203836 - Test that MediaElementAudioSourceNode pipes correct data to an AudioContext. r=karlt
--HG--
extra : rebase_source : a7e55c894e665dcd57f69c730ec8aebc2af9152b
2015-09-21 11:00:12 +02:00
Paul Adenot
ccfa972c4c Bug 1203836 - Properly handle silent chunks in AudioNodeExternalInputStream. r=karlt
--HG--
extra : rebase_source : 272b220adf13ec2a62d048ccaab2f9d70af58987
2015-09-21 10:14:59 +02:00
JW Wang
5d35a74e15 Bug 1206576 - Dispatch some MDSM functions to hide its internal thread model. r=jya. 2015-09-21 14:01:45 +08:00
JW Wang
9fd579e930 Bug 1204430. Part 2 - mirror MediaDecoder::mMediaSeekable. r=kinetik. 2015-09-21 13:49:01 +08:00
JW Wang
c22dac30b8 Bug 1204430. Part 1 - dispatch AbstractMediaDecoder::SetMediaSeekable() to the main thread. r=kinetik. 2015-09-21 13:48:39 +08:00
Andreas Pehrson
f0d1337fdc Bug 1177276 - Pref on canvas.captureStream by default. r=smaug,mt
--HG--
extra : commitid : 8EBhXM9AkEM
extra : rebase_source : 6f6171474350a20096db822e3524c6b2bbe20023
2015-09-17 22:09:24 +08:00
Jan-Ivar Bruaroey
4fbccc5b50 Bug 912342 - get Promise out. r=jesup
--HG--
extra : commitid : L54TpPNzEgB
extra : rebase_source : 29eceb81efe9ab96053b37a202714319be13fc80
2015-09-20 10:04:51 -04:00
Jan-Ivar Bruaroey
5c97b1be39 Bug 912342 - Move code SelectSettings to MediaConstraintsHelper. r=jesup
--HG--
extra : commitid : IHOcGmMAzno
extra : rebase_source : 371c265877854d57f094583066b145aae50ed638
2015-09-19 02:00:48 -04:00
Jan-Ivar Bruaroey
17d85435b2 Bug 912342 - Pass in Audio/VideoDevice in place of Audio/VideoSource. r=jesup
--HG--
extra : commitid : KyF5JvNyJbV
extra : rebase_source : e8fc7ff48eb38d5df55cd685e187a2069f66d6de
2015-09-19 00:49:07 -04:00
Jan-Ivar Bruaroey
434ce0be70 Bug 912342 - Change capture resolution. r=jesup
--HG--
extra : commitid : I3MtL3fA2IA
extra : rebase_source : 5ffa9bc955b35b2915afea6c5bff794ca97a4ea2
2015-09-20 18:45:57 -04:00
Jan-Ivar Bruaroey
e5af2b70b2 Bug 912342 - Move code MediaOperationTask from .h to .cpp. r=jesup
--HG--
extra : commitid : L4YvvKBc9ft
extra : rebase_source : 3f732a3e21b8a9038ce35f232c012169134248e9
2015-09-16 22:44:14 -04:00
Jan-Ivar Bruaroey
f953fc2b69 Bug 1195951 - fix heap type on stack error in MediaUtils' Pledge class. r=jesup
--HG--
extra : commitid : 7vVVqOmBW1W
extra : rebase_source : 186c56708e579f2734a1a9db8acebcb69c9f5af2
2015-09-20 02:26:41 -04:00
Jan-Ivar Bruaroey
19676d62dc Bug 1181896 - make gUM fail w/OverconstrainedError and candidate argument r=jesup 2015-09-18 14:04:41 -04:00
Jan-Ivar Bruaroey
3f14a4d7ce Bug 1181896 - rename .constraintName to .constraint in MediaStreamError r=jesup,bz 2015-09-18 14:03:30 -04:00
Maire Reavy
584ac822eb bug 1161276 - part 3 - tests for bitrate property in MediaRecorder r=roc
Android 2.3 and B2G disabled
2015-09-18 14:30:02 -04:00
Maire Reavy
1939f24ed7 Bug 1161276: part 2 - pass bitrates to track encoders for MediaRecorder r=roc 2015-06-08 11:47:28 +08:00
Steven Lee
5e7ac88cc7 bug 1161276 - part 1 add bits-per-second interface to MediaRecorder r=roc,smaug 2015-05-25 23:49:03 +08:00
Nathan Froyd
4bf8c9ae61 Bug 1205825 - part 2 - call Get*CachedData*Internal variants from MediaCacheStream::GetCachedRanges; r=roc
Each of GetNextCachedData and GetCachedDataEndInternal grab the monitor
on entrance, but GetCachedRanges has already grabbed the monitor for us.
We can call the *Internal variants instead, which assert that the
monitor is held.
2015-09-18 00:15:56 -04:00
Nathan Froyd
eb62b6c5a5 Bug 1205825 - part 1 - don't reacquire the media cache's monitor in MediaCacheStream::FlushPartialBlockInternal; r=roc
FlushPartialBlockInternal is only ever called by methods that are
already holding the MediaCache's monitor.  So we don't need to reacquire
it every time we call this method.

fixup p1
2015-09-17 23:57:51 -04:00
Carsten "Tomcat" Book
1ae732f5ba Backed out 5 changesets (bug 1205540) for Assertion Failurs in m2-e10s tests on a CLOSED TREE
Backed out changeset e89d8182d588 (bug 1205540)
Backed out changeset abace4cdec06 (bug 1205540)
Backed out changeset b3f6e1db7233 (bug 1205540)
Backed out changeset 0d122cb34921 (bug 1205540)
Backed out changeset 4de5f87180fb (bug 1205540)
2015-09-18 16:36:33 +02:00
Gian-Carlo Pascutto
d49de0d545 Bug 1202424 - Free shared memory when IPC system shuts down, not after. r=mrbkap 2015-09-11 09:33:36 +02:00
Karl Tomlinson
abcc44d6d5 bug 1205540 account for active inputs and skip processing when streams are inactive r=padenot
--HG--
extra : rebase_source : ad55142a54728e7ed2dab8edefbe87547e09d85a
2015-09-18 00:03:00 +12:00
Karl Tomlinson
985811fe37 bug 1205540 mark BufferSource finished only when producing silent output block r=padenot
This allows simpler processing of the finished state to mark the node as an
inactive input of any downstream nodes.  Otherwise the input could not be
considered inactive until after downstream nodes have finished processing,
but ProcessInput() may not be called again on finished streams.

AudioBufferSourceNode now behaves the same as OscillatorNode and similarly
to nodes that release a playing ref.

--HG--
extra : rebase_source : 0b3c7123f916fce36f852785c1e0b2a7c7013600
2015-09-18 00:00:17 +12:00
Karl Tomlinson
d7b9ada3a0 bug 1205540 make source stream available during RemoveInput r=padenot
--HG--
extra : rebase_source : f9b4e488e52eb3717808c0efbaf5c0815627c8f0
2015-09-09 14:19:05 +12:00
Karl Tomlinson
ee25bfb081 bug 1205540 provide querying whether engines need to continue processing even without input r=padenot
--HG--
extra : rebase_source : 76545deae4cdc929f1b3ce4d10065f99f21a2ec3
2015-09-09 08:54:03 +12:00
Karl Tomlinson
e182c00028 bug 1205540 don't send more null chunks than necessary to AnalyserNode r=padenot
--HG--
extra : rebase_source : f758d172fbbdba3288c71f690411175a41a822cc
2015-09-09 08:52:39 +12:00
Andreas Pehrson
c5a6c8081a Bug 1152298 - Implement AutoDriver for CanvasCaptureMediaStream. r=mt
--HG--
extra : transplant_source : %FF%5BC%94%8AD%97%E6zor%24%3A%05C%60%AB%94-%EB
2015-09-17 11:46:05 +08:00
Andreas Pehrson
461b9f6576 Bug 1161913 - Part 3 - Relax requestFrame ordering guarantee in tests. r=mt
We used to fully guarantee the order of requestFrame() and draw calls.
For instance:
```
ctx.draw(red);
stream.requestFrame();
ctx.draw(green);
```
would guarantee that a red frame ended up in the stream, and not the
green unless another frame was requested.

Now with frames being requested and pushed out on next refresh, we can
only guarantee that everything up to the requestFrame() call is included
in the next frame. Everything after the requestFrame() and before the
next refresh (stable state in most cases) will now also be inevitably
included.

--HG--
extra : transplant_source : %DF%A1%9C%A8%2B%3AzTS%EA%CE%0A%023%E2%EBWC%FD%3C
2015-09-17 11:37:05 +08:00
Andreas Pehrson
3f1d386795 Bug 1161913 - Part 2. Request canvas to push out its next drawn frame instead of pulling it. r=mt
--HG--
extra : transplant_source : %FF%3D%E7%BE%A1%EA%BE%5E%00w%07%084%D8%27D%CFp%EB%D6
2015-09-17 12:36:57 +08:00
Chris Pearce
d38bfbdf2b Bug 1205582 - Add pref to disable GMP trial create. r=edwin 2015-09-18 18:35:14 +12:00
Gian-Carlo Pascutto
c3a8478c8b Bug 1200477 - Allow building with WebRTC disabled. r=glandium,mrbkap 2015-09-18 08:29:14 +02:00
Jean-Yves Avenard
e5aadf98af Bug 1205911: P2. Ensure demuxer is reset before performing a seek. r=edwin
Should there be any demuxing request pending resolution, it would have caused our internal seek to ultimately fail.
2015-09-18 16:03:58 +10:00
Jean-Yves Avenard
c15474a997 Bug 1205911: P1. Cancel pending demux request when searching for next keyframe. r=edwin 2015-09-18 16:03:58 +10:00
Wes Kocher
5d45d1a728 Backed out 3 changesets (bug 1161276) for test_mediarecorder_bitrate.html failures CLOSED TREE
Backed out changeset 9187f4d2518f (bug 1161276)
Backed out changeset 4e8f28b17300 (bug 1161276)
Backed out changeset cf05881e89ed (bug 1161276)
2015-09-17 13:06:41 -07:00
Richard Barnes
52d9a0fc5e Bug 1205156 - Add telemetry to measure how often getUserMedia is used over non-secure origins r=jib 2015-09-17 08:44:50 -04:00
Maire Reavy
b6a3c8f458 bug 1161276 - part 3 - tests for bitrate property in MediaRecorder r=roc 2015-09-17 08:21:26 -04:00
Maire Reavy
a4af8ac183 Bug 1161276: part 2 - pass bitrates to track encoders for MediaRecorder r=roc 2015-06-08 11:47:28 +08:00
Steven Lee
3bc885acb1 bug 1161276 - part 1 add bits-per-second interface to MediaRecorder r=roc,smaug 2015-05-25 23:49:03 +08:00
Jan-Ivar Bruaroey
5c82d76952 Bug 1205339 - null out sIPCServingParent on teardown, to not assert on tab crash recovery. r=jesup
--HG--
extra : transplant_source : %90E8%8DQeX%C7m%084%A3%DF7%7D%D2%7B9%8E%15
2015-09-16 13:47:07 -04:00
Kilik Kuo
90420c357e Bug 1204882 - Move MediaDecoder::FrameStatistics out of MediaDecoder for easier use in other classes. r=jwwang
--HG--
extra : transplant_source : 3%E1%C1%3B%B5%8B%82%20%DF%AE%1A%21%E0f%FF%7C%3C%0EF%10
2015-09-15 22:57:20 +08:00
Michael Froman
41d164744a Bug 1095793 - use mid if provided to place candidate in msection. r=bwc
--HG--
extra : rebase_source : e85bbde1c0cbd3733f82a11c98245079ea1cbf5c
2015-09-10 13:20:09 -05:00
JW Wang
bd9849968c Bug 1204434 - Remove check of MediaDecoder::IsMediaSeekable from OggReader::ReadMetadata. r=cpearce. 2015-09-17 15:26:08 +08:00
Nicholas Nethercote
f429eae6a5 Bug 1203427 (part 5) - Add logging of timer firings. r=froydnj. 2015-09-10 00:50:51 -07:00
Robert O'Callahan
f8eee03d38 Bug 1189506. Remove invalid assertion. r=karlt
That's nothing stopping someone passing an AudioContext time of (e.g.)
zero to AudioBufferSourceNode::Stop and OscillatorNode::Start/Stop, which
can get turned into a negative time here. Those nodes can handle negative
start/stop times just fine.

--HG--
extra : commitid : I6TtkZTlLRg
extra : rebase_source : 64e73f9ff30572f789cf4887acad97116aba33f3
2015-09-16 16:31:12 +12:00
Robert O'Callahan
da228403af Bug 1189506. Make PlayAudio use GraphTimeToStreamTime. r=karlt
--HG--
extra : commitid : 2tdDaVI6RGX
extra : rebase_source : ca0e4253be97bf15ca194f26dc39d76ade806fc8
2015-09-08 17:19:03 +12:00
Robert O'Callahan
de2107e951 Bug 1189506. Make PlayVideo use GraphTimeToStreamTime/StreamTimeToGraphTime and remove StreamTimeToGraphTimeWithBlocking. r=karlt
--HG--
extra : commitid : AZ6bA7qp74U
extra : rebase_source : 0e34439af77309478725ae8679cb4a8298e0b180
2015-09-08 17:18:01 +12:00
Robert O'Callahan
3b5a766000 Bug 1189506. Relax assertions a bit. karlt
--HG--
extra : commitid : FznTYdvkbH5
extra : rebase_source : 6fb905cb7177389e0e9b45710c0f61c1ccc5433c
2015-09-08 17:14:43 +12:00
Robert O'Callahan
fbcc5de786 Bug 1189506. Use GraphTimeToStreamTime in PrepareUpdatesToMainThreadState. r=karlt
--HG--
extra : commitid : APael1C16Ie
extra : rebase_source : 0b0f2a603129c5efe1952275fef2f3021c9a0cca
2015-09-08 17:12:01 +12:00
Robert O'Callahan
85592c5fc0 Bug 1189506. Use mProcessedTime/mStateComputedTime in ProduceDataForStreamsBlockByBlock. karlt
--HG--
extra : commitid : 9tpkCW2vhWj
extra : rebase_source : 17d886e7b7a51834dec6ea53e41a7f7ef08ec58b
2015-09-16 16:24:10 +12:00
Robert O'Callahan
7395a6b7fd Bug 1189506. Use mStateComputedTime in some places instead of passing aTo. r=karlt
--HG--
extra : commitid : LR21taIGcGM
extra : rebase_source : c228ba660e8ced61a17e9ec52fb47fff0d07b4c5
2015-09-08 16:58:19 +12:00
Robert O'Callahan
2ca14cc805 Bug 1189506. Use mProcessedTime in some places instead of passing aFrom. r=karlt
--HG--
extra : commitid : 332ie8PhPom
extra : rebase_source : 7ff2eaff9a3a7b12208a06e99233aea523143fb9
2015-09-16 16:23:14 +12:00
Robert O'Callahan
c4f0cbe5be Bug 1189506. Call GraphTimeToStreamTime in ExtractPendingInput since we know no blocking time has been determined yet. r=karlt
--HG--
extra : commitid : JfzX4n7MyFp
extra : rebase_source : ab9fdf7d503fcce2d4277279a6d654436953edb5
2015-09-08 16:50:55 +12:00
Robert O'Callahan
cdada24c1f Bug 1189506. Call GraphTimeToStreamTime in AudioNodeExternalInputStream. r=karlt
--HG--
extra : commitid : EDYOTGF2Ade
extra : rebase_source : 9eeebfe7cc23cdeffb6688935ac07fd5f2118d1b
2015-09-08 16:46:10 +12:00
Robert O'Callahan
1289d5e83f Bug 1189506. Call GraphTimeToStreamTime in DecodedStreamGraphListener::NotifyOutput, since there's no blocking pending there. r=karlt
--HG--
extra : commitid : 4DLFErvxqnP
extra : rebase_source : 00d7c561a1563b431c1098ea340603e252469c3d
2015-09-08 16:41:45 +12:00
Robert O'Callahan
592e13f05f Bug 1189506. Call StreamTimeToGraphTime in MediaStreamGraphImpl::UpdateCurrentTimeForStreams, since we know blocking has been taken account of already there. r=karlt
--HG--
extra : commitid : YABaL6h9O0
extra : rebase_source : 3032e3a04a14f2d203ea29c501d8ebc08f531365
2015-09-08 16:38:40 +12:00
Robert O'Callahan
e57b277663 Bug 1189506. Remove INCLUDE_TRAILING_BLOCKED_INTERVAL from PlayVideo. r=karlt
A video frame whose timestamp is right at mStartBlocking should just be
rendered then, not delayed until the end of blocking.

--HG--
extra : commitid : 4rKTsHCwdQX
extra : rebase_source : fc6340972ba9eacaf084e3dd8f6b2344642c9224
2015-09-08 16:42:42 +12:00
Robert O'Callahan
5e38d30d6f Bug 1189506. Create StreamTimeToGraphTime/GraphTimeToStreamTime that don't take account of blocking, and call them from AudioNodeStream. r=karlt
--HG--
extra : commitid : KZL20bqIcTe
extra : rebase_source : 001476a097968e6fa382949ababbf6bdd5e4f76d
2015-09-16 16:35:16 +12:00
Robert O'Callahan
bac0eac77c Bug 1189506. Set mStartBlocking in UpdateCurrentTimeForStreams to indicate that blocking time has been processed. r=karlt
--HG--
extra : commitid : BgPlIfIaRdL
extra : rebase_source : b7f9d55167ffcaa21c2b0cda82fe6110107f4baf
2015-09-08 15:55:40 +12:00
Robert O'Callahan
13179ae295 Bug 1189506. Rename StreamTimeToGraphTime/GraphTimeToStreamTime to ...WithBlocking. r=karlt
--HG--
extra : commitid : 77I6WKoXbJA
extra : rebase_source : b289cbcb99c4bc52d70c78a6195c992bb5ba7ac1
2015-09-08 15:41:00 +12:00
Robert O'Callahan
2a625e1dff Bug 1189506. Inline StreamNotifyOutput/StreamNotifyFinished. r=karlt
--HG--
extra : commitid : 6OpIJNpUxuj
extra : rebase_source : 9932d2688fd7ee64a5b267a69a1ba53cef6102f2
2015-09-05 00:45:14 +12:00
Robert O'Callahan
cb09439d97 Bug 1189506. No need to pass aNextCurrentTime to UpdateCurrentTimeForStreams. r=karlt
--HG--
extra : commitid : LUQBrLpUxAE
extra : rebase_source : f170667a03f21b1a42852890b61bd43875edc47a
2015-09-05 00:42:53 +12:00
Robert O'Callahan
ebcc8535cb Bug 1189506. Move setting of mStateComputedTime to OneIteration so it's near setting mProcessedTime. r=karlt
--HG--
extra : commitid : HBgr3Azbapn
extra : rebase_source : 79ef722317501204538432e85524ab1907d769f6
2015-09-05 00:41:15 +12:00
Robert O'Callahan
4b25e25cff Bug 1189506. Factor out code from OneIteration into helper methods. r=karlt
--HG--
extra : commitid : AvOJQUkXuiW
extra : rebase_source : c147f947d4c1823a9b558728c484c6cc65821b13
2015-09-05 00:26:48 +12:00
Robert O'Callahan
d19d095ee1 Bug 1189506. Remove unused mFlushSourcesNow/mFlushSourcesOnNextIteration. r=karlt
--HG--
extra : commitid : KbKHmcvNA45
extra : rebase_source : 9b26eca9627096225e3d02b52392d8228108d45b
2015-09-05 00:20:17 +12:00
Robert O'Callahan
d745ffaf22 Bug 1189506. Remove unused NotifyConsumptionChanged. r=karlt
--HG--
extra : commitid : 844LybDIKss
extra : rebase_source : 6a514c1ef0926e540e4d27a1e3f9561636c38ddb
2015-09-04 21:39:35 +12:00
Robert O'Callahan
888a6d633f Bug 1189506. Inline ComputeStreamBlockTime. r=karlt
--HG--
extra : commitid : 3poi1cOxeat
extra : rebase_source : 64d21bf4c6fe87a0093dfd0cc717c0fd97a93cf8
2015-09-09 01:23:31 +12:00
Robert O'Callahan
b94329c0b7 Bug 1189506. Inline RecomputeBlocking. r=karlt
--HG--
extra : commitid : ECWfU6QgUqK
extra : rebase_source : 781d67d1d53da85992152cb3ea816ffa8e66c6cf
2015-09-04 19:42:11 +12:00
Robert O'Callahan
964e856e68 Bug 1189506. Remove no-longer-used TimeVarying.h. r=karlt
--HG--
extra : commitid : 2i4IxiPCeuH
extra : rebase_source : 399fa74717306d873d1ddb655400af81090146e4
2015-09-04 18:49:27 +12:00
Robert O'Callahan
af915b4615 Bug 1189506. Replace MediaStream::mBlocked with simpler MediaStream::mStartBlocking. r=karlt
--HG--
extra : commitid : 6oeQQSBwAhx
extra : rebase_source : 3eca2ce813fa457435976f9027753ff73d6e7ac8
2015-09-04 18:44:43 +12:00
Robert O'Callahan
9c2e5faea3 Bug 1189506. Remove unused MediaStreamGraph::GetBufferedTicks. r=karlt
--HG--
extra : commitid : LtZfMVKOr50
extra : rebase_source : 4eff93b6d89b135b04b46c987d468e6d6ec9dbd4
2015-09-04 18:44:20 +12:00
Robert O'Callahan
a80a6acc01 Bug 1189506. Remove misleading comment. r=karlt
--HG--
extra : commitid : Lvxlg4bzsvP
extra : rebase_source : aa479a345e700bad413a6984d07ae5bf22050e23
2015-09-04 18:07:39 +12:00
Robert O'Callahan
27567d312d Bug 1189506. Simplify PlayAudio based on the fact that track time units == stream time units. r=karlt
--HG--
extra : commitid : BjRspwrOnO1
extra : rebase_source : 2497bf51387c6738aeb5de83be86170d400daf1b
2015-09-04 18:04:09 +12:00
Robert O'Callahan
244a142843 Bug 1189506. Fix multi-track MediaStream audio output. r=karlt
--HG--
extra : commitid : 4dgdSqpqKqg
extra : rebase_source : 1aa877cd02cfb224d71480af781393a4199e4232
2015-09-04 17:58:26 +12:00
Robert O'Callahan
1d3ba86e8a Bug 1189506. Non-SourceMediaStreams in processing can only block by being finished. r=karlt
--HG--
extra : commitid : EYewQUcwAbn
extra : rebase_source : 7531a3d0e33eeb17062988e21ae25938491402af
2015-09-04 17:40:30 +12:00
Robert O'Callahan
d18eba5a82 Bug 1189506. Simplify blocking calculations based on the observation that once a stream starts blocking in a given processing interval, it must stay blocked. r=karlt
--HG--
extra : commitid : 2gcihxVXqlY
extra : rebase_source : dfb0bf716b8608a47fef25838c3fccdf132e0f82
2015-09-16 16:17:30 +12:00
Robert O'Callahan
2e597371be Bug 1189506. Remove mExplicitBlockerCount and related code since it's always zero now. r=karlt
--HG--
extra : commitid : 3UdhGMG9QiH
extra : rebase_source : 041f2fa34a458926dbe5e376d7003f9a9734a981
2015-09-04 17:00:25 +12:00
Robert O'Callahan
49907deeb0 Bug 1189506. Remove MediaStream::mBlockInThisPhase. r=karlt
--HG--
extra : commitid : HnnHdwAwJZ0
extra : rebase_source : 403dd9e309f56f0aa84467f0652ac5b6a98c242d
2015-09-04 16:57:32 +12:00
Robert O'Callahan
4de38847f5 Bug 1189506. Simplify blocking code now that stream blocking decision are always independent of other streams. r=karlt
--HG--
extra : commitid : 7du3gdoRlpL
extra : rebase_source : ea22fe1b46a9a27bbab3fc250f688aa9dae53250
2015-09-16 16:15:55 +12:00
Robert O'Callahan
33caf40bd0 Bug 1189506. Remove MediaInputPort::mFlags. r=karlt
--HG--
extra : commitid : L7X1cMHM93I
extra : rebase_source : 699460a9f2c736f09549cdef50b0cb2d052daa21
2015-09-04 16:45:21 +12:00
Robert O'Callahan
53dbc8f50e Bug 1189506. Remove aFlags parameter from AllocateInputPort. r=karlt
--HG--
extra : commitid : GZuYprloPNM
extra : rebase_source : 17ca412dd6232ad5c739918500d959a03895a65c
2015-09-04 16:42:42 +12:00
Robert O'Callahan
5c2c7e03d5 Bug 1189506. Remove usage of FLAG_BLOCK_OUTPUT from MediaManager. r=jesup
--HG--
extra : commitid : GWToVox5Vvu
extra : rebase_source : 0054cbd1ddc64ad48e84b175d3c05a16ac79a4a7
2015-09-04 16:39:37 +12:00
Robert O'Callahan
86c380603b Bug 1189506. Convert ChangeExplicitBlockerCount to MediaStream::Suspend/Resume. r=padenot
--HG--
extra : commitid : EAfe35GbRPL
extra : rebase_source : f6da37f3a9e8eefbdcf3e6787ec7edcc99e53859
2015-09-11 01:45:36 +12:00
Robert O'Callahan
95ebfe3aa1 Bug 1189506. Don't bother blocking captured media-element MediaStreams while we're not decoding. r=jwwang
They should just run in realtime since we're getting rid of blocking.

--HG--
extra : commitid : K0MeENZ5JAa
extra : rebase_source : ed3cd908faa96fd4dab2f178836449774f085d27
2015-09-04 00:46:33 +12:00
Robert O'Callahan
bd5afc4b2e Bug 1189506. Make suspending/resuming streams more reusable. r=padenot
--HG--
extra : commitid : 9AmFobj0UO9
extra : rebase_source : dd1ff2f6e78c4052641f00dd004f19ba3e0d32fc
2015-09-03 23:54:00 +12:00
Robert O'Callahan
65cc97b0f3 Bug 1189506. Make AudioContext responsible for tracking all nodes which need to be suspended and resumed. r=padenot
This simplifies MediaStreamGraph by removing the need for it to be aware
of which AudioContext a stream belongs to.

This also makes it easier to reuse stream suspending for purposes other than
AudioContext suspend/resume.

--HG--
extra : commitid : 9EmNxlrjVFO
extra : rebase_source : fee4b35d09c8f5dec76e41840d81423cde619886
2015-09-16 16:15:21 +12:00
Robert O'Callahan
a320393b12 Bug 1189506. Pass AudioContext to AudioNodeStream::Create. r=karlt
--HG--
extra : commitid : 2WtlMxxGnj1
extra : rebase_source : 31d3c936c139df1348249df1f34e5206d38647db
2015-09-09 01:22:16 +12:00
Robert O'Callahan
ee7597f8a2 Bug 1189506. Put AudioContext::State inline. r=karl
--HG--
extra : commitid : 1Jw8qDiXfVw
extra : rebase_source : 77055dabe9ae3b5dbcd2d4dfe02f9af927cb5b1c
2015-09-03 17:35:19 +12:00
Robert O'Callahan
edc3706647 Bug 1189506. Give AudioContext non-owning pointers to all its AudioNodes. r=karl
--HG--
extra : commitid : 8qGgR45qFgU
extra : rebase_source : 95285c6403f8578736826a908f1010093e09e59d
2015-09-03 17:12:25 +12:00
Jan Henning
2814fb3119 Bug 1203217 - Add some logging when we detect and skip an ID3v2 tag. r=kinetik
This also cleans up the indentation for some of the already existing logging.
2015-09-13 14:33:49 +02:00
Jan Henning
503a8bee81 Bug 1203217 - Extend MP3 demuxer gtest to include a test file for large ID3v2 tags. r=kinetik
This adds an MP3 file with an ID3v2 header which used to trip up the MPEG frame parser before bug 1197985 was fixed.
2015-09-13 16:12:20 +02:00
Jean-Yves Avenard
43f2be19a3 Bug 1204757: [MSE] P2. Remove use of MediaDecoder::NotifyWaitingForResourcesStatusChanged(). r=cpearce 2015-09-16 18:14:18 +10:00
Jean-Yves Avenard
023ff53978 Bug 1204757: P1. Update MediaDataDemuxer::Init() behavior. r=cpearce
A MediaDataDemuxer is now not to resolve the init promise until it has all the metadata.
Except MediaSource, all demuxers would be doing blocking read to scan for the metadata, and having partial metadata would be an error.
For MediaSource, we pass the NotifyDataArrived message which will cause the MediaSourceDemuxer to re-attempt to search for the metadata.

When used within MediaSource's TrackBuffersManager, a demuxer will never be created until we have received a complete init segment (this task is performed by the various ContainerParsers)
2015-09-16 18:14:17 +10:00
Jean-Yves Avenard
05453d1f17 Bug 1193670: P3. Remove no longer needed SharedDecoderManager class. r=cpearce 2015-09-16 18:14:17 +10:00
Jean-Yves Avenard
24d19f7f4e Bug 1193670: P2. Remove use of SharedDecoderManager from MediaDecoderReader. r=cpearce 2015-09-16 18:14:16 +10:00
Jean-Yves Avenard
9e0e052d65 Bug 1193670: P1. Remove use of SharedDecoderManager. r=cpearce 2015-09-16 18:14:15 +10:00
Jean-Yves Avenard
33e5945370 Bug 1204407: P2. Remove no longer required MediaDataDemuxer APIs. r=cpearce 2015-09-16 18:14:15 +10:00
Jean-Yves Avenard
1de1d09411 Bug 1204407: P1. Remove no longer used mainthread object. r=cpearce 2015-09-16 18:14:14 +10:00
Jean-Yves Avenard
71c5c9a7bf Bug 1204419: P4. Remove MediaDataDemuxer API no longer used. r=cpearce 2015-09-16 18:14:12 +10:00
Jean-Yves Avenard
82279827e6 Bug 1204419: P3. Remove now unused MediaDecoderReader functions. r=cpearce 2015-09-16 18:14:12 +10:00
Jean-Yves Avenard
eb81f3580e Bug 1204419: P2. Remove old MediaSource implementation. r=cpearce 2015-09-16 18:14:11 +10:00
Jean-Yves Avenard
b3c3e04b18 Bug 1204419: P1. Fix webm headers. r=kinetik 2015-09-16 18:14:10 +10:00
JW Wang
0b01a4b74a Bug 1204413 - Make MediaDecoder::IsTransportSeekable run on the main thread. r=kinetik. 2015-09-16 10:44:35 +08:00
Jean-Yves Avenard
5d87284234 Bug 1204776: P4. Have VPX/Opus/Vorbis decoder use PlatformDecoderModule log. r=cpearce 2015-09-16 12:26:04 +10:00
Jean-Yves Avenard
86e37be133 Bug 1204776: P3. Have FFmpeg PDM use PlatformDecoderModule log. r=cpearce 2015-09-16 12:26:04 +10:00
Jean-Yves Avenard
79a43bbd6b Bug 1204776: P2. Make Apple PDM use PlatformDecoderModule log. r=cpearce 2015-09-16 12:26:03 +10:00
Jean-Yves Avenard
5264765a6e Bug 1204776: P1. Have the PlatformDecoderModules use their own log. r=cpearce
Stop using MP4Demuxer.
2015-09-16 12:26:03 +10:00
Andrew McCreight
5446225d17 Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
This leaves alone the AppendElement methods.
2015-09-15 15:30:44 -07:00
Shu-yu Guo
64db2267cf Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
JW Wang
6064385135 Bug 1172830 - Move buffering check out of MediaDecoderStateMachine::UpdateRenderedVideoFrames(). r=cpearce. 2015-09-15 17:47:26 +08:00
JW Wang
fa740cbb49 Bug 1204401 - Change the buffering criteria in MDSM::UpdateRenderedVideoFrames. r=jya. 2015-09-15 17:46:25 +08:00
JW Wang
0f170dcc0b Bug 1203877 - Remove MediaDecoder::UpdatePlaybackOffset. r=kinetik. 2015-09-15 13:51:12 +08:00
Nicholas Nethercote
9d68ee2953 Bug 1204277 - Disallow warnings in six more directories. r=glandium.
These are all conditional uses of ALLOW_COMPILER_WARNINGS=True that are no
longer necessary.

--HG--
extra : rebase_source : e654fa940aed18b1d5ef7b2bebb45bbef59cfd84
2015-09-14 21:16:37 -07:00
JW Wang
7b0eb74aba Bug 1203418. Part 3 - ensure MDSM::mPlaybackOffset and MediaDecoder::mPlaybackPosition are mono-increasing to avoid "jitter" in calculating playback statistics. r=cpearce. 2015-09-15 10:05:19 +08:00
JW Wang
85ea4009c2 Bug 1203418. Part 2 - duplicate the implementation of MediaDecoder::GetStatistics so MDSM can call it on its own thread. r=cpearce. 2015-09-15 10:04:50 +08:00
JW Wang
991d089255 Bug 1203418. Part 1 - cache the results of ComputePlaybackRate() so they can be mirrored by MDSM. r=cpearce.
Since the results of ComputePlaybackRate() depend on mDuration and mPlaybackStatistics,
we call ComputePlaybackRate() when mDuration is changed or mPlaybackStatistics->Stop() is called.
GetStatistics() won't have to call ComputePlaybackRate() because the results are already stored in
mPlaybackBytesPerSecond and mPlaybackRateReliable.
We will fix the MDSM part in the next patch.
2015-09-15 10:04:50 +08:00
Nicholas Nethercote
5db37503fb Bug 1204195 - Fix two warnings in dom/media/webaudio/blink/. r=rillian.
They were both "truncation from 'double' to 'float'" warnings.

This also allows the COMPILER_ALLOW_WARNINGS=True flag to be removed.

--HG--
extra : rebase_source : 4b57cba0d994671d5218be94d8f838582496ac1c
2015-09-14 18:09:14 -07:00
Ralph Giles
0d0442a459 Bug 1204672 - Fix a log comment typo. r=gerald
--HG--
extra : rebase_source : 8c68bbe933909c7aafc0492d330d87dc0e3b5700
2015-09-14 14:22:55 -07:00
Michael Layzell
469890ae16 Bug 1202148 - Move current in only one location in Intervals.h, r=jya 2015-09-14 16:04:10 -04:00
Daniel Holbert
e8590d2693 Bug 1204382: Add #include for nsIInputStream.h to MediaParent.cpp, to fix a build error in --disable-webrtc builds. r=jib 2015-09-14 08:32:54 -07:00
Jocelyn Liu
b144643f0d Bug 1203900 - Fix cycle collection and array buffer creation bug in the implementation of MediaKeyMessageEvent, MediaEncryptedEvent, and BluetoothLeDeviceEvent. r=bz 2015-09-11 21:05:00 +02:00
Martin Thomson
c99d83fa88 Bug 1176941 - Moving console warning to the current window, r=jib
--HG--
extra : rebase_source : 2f5845ec7055c8b748cda64a61a2cb313e980a57
2015-08-28 15:40:44 -07:00
Martin Thomson
2de024d96c Bug 1176941 - Capturing more error info from IdP sandbox, r=jib
--HG--
extra : rebase_source : 6258851e738ce4e7b72983998f1697bbe43a4497
2015-08-28 15:40:44 -07:00
Jean-Yves Avenard
89ddcfa7d2 Bug 1203367: Ensure WebMBufferedState is only used after reading metadata. r=kinetik
We also now limit the use of the WebMBufferedState for calculating the buffered range and seeking on buffered data.
2015-09-14 19:06:50 +10:00
JW Wang
962c356c98 Bug 1203449 - Remove OutputStreamListener from DecodedStream.cpp. r=roc. 2015-09-14 10:43:27 +08:00
Michael Layzell
0097c41e01 Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan 2015-09-12 16:53:33 -04:00
Christoph Kerschbaumer
341664bdb6 Bug 1194524 - Use channel->ascynOpen2 in dom/media/MediaResource.cpp (r=sicking) 2015-09-12 12:59:08 -07:00
Jean-Yves Avenard
581a68abf1 Bug 1199518: [webm] P2. Properly determine next keyframe time. r=kinetik 2015-09-12 20:53:25 +10:00
Jean-Yves Avenard
5cf23489c2 Bug 1199518: [webm] P1. Have WebMDemuxer use its own logger. r=kinetik 2015-09-12 20:53:24 +10:00
Jean-Yves Avenard
21d2f1de2a Bug 1188238: [MSE] P2. Don't assert when unable to find position in frames array. r=gerald
Instead return an error which will terminate the video element.
2015-09-12 20:53:23 +10:00
Jean-Yves Avenard
506d208f9e Bug 1188238: [MSE] P1. Don't use Interval::Intersect to find the first frame of an interval. r=gerald
With H264, often the first frame of a media segment has no duration ; as such the time interval it represents is empty and will never intersect with anything.
2015-09-12 20:53:23 +10:00
Karl Tomlinson
99e730c642 bug 1203380 add custom AudioBlock copy constructor and make AudioChunk conversion constructor explicit r=padenot
Making the conversion constructor explicit means that it will be obvious if
a temporary is created to pass an AudioChunk as an AudioBlock parameter.

--HG--
extra : rebase_source : 54bf8acdb42499a0e0d66cfc138ff6fb6f1ef4da
2015-09-10 09:29:34 +12:00
Karl Tomlinson
965591c713 bug 1203380 add custom assignment operator to AudioBlock r=padenot
--HG--
extra : rebase_source : 620bcfe8e7841ab1b19790abbf4df87a3e083c35
2015-09-10 08:39:12 +12:00
Karl Tomlinson
99d66c32cb bug 1203380 tighten not-sharing assertion in ChannelFloatsForWrite() r=padenot
--HG--
extra : rebase_source : 5206ae1ae59bade7f2b40400e0f851bf26df5d9c
2015-09-10 09:01:55 +12:00
Karl Tomlinson
4935533d54 bug 1203380 destroy AudioBlocks on AudioNodeStream on graph thread r=padenot
--HG--
extra : rebase_source : b2e560fa1c6da233de42667207946d2732727701
2015-09-10 15:13:45 +12:00
Karl Tomlinson
bae5d8a742 bug 1203380 ClearDownstreamMark() before returning AsMutableChunk() r=padenot
--HG--
extra : rebase_source : ddc5b3f2ec5238688bc13ed7d4c007fe91f42b85
2015-09-10 14:47:31 +12:00
James Cheng
6930bc717c Bug 1203047 - Make MediaDecoderReader know less about AudioData/VideoData by using MediaData instead. r=jya
--HG--
extra : rebase_source : 928721bb5a8669445725cab86e43be002f38c88a
2015-09-10 03:06:00 +02:00
Nils Ohlmeier [:drno]
17f267da50 Bug 1203701 - add spdUtils.js to steeplechase. r=bwc
--HG--
extra : rebase_source : cae738ff6b23aad0dc11eae0107a8dc063e7ca4b
2015-09-10 13:33:21 -07:00
Kaustabh Datta Choudhury
2a080acfd0 Bug 1162003 - Enable run-by-dir mode on Fx desktop debug & ASAN builds. r=jmaher 2015-09-10 09:52:00 +02:00
Matt Woodrow
d546102ebb Bug 1200775 - Followup to fix typo and indent issues
--HG--
extra : rebase_source : cb495e5ba5afc28455d0a6f3dba7fea38c1d4ba1
2015-09-10 15:15:41 -04:00
Matt Woodrow
c44bc286ab Bug 1202296 - Recreate the MFTDecoder when we want to disable DXVA. r=cpearce
--HG--
extra : rebase_source : 9731f42fccede3910efd674ca4cef79ac4b3f17b
2015-09-10 13:39:02 -04:00
Matt Woodrow
a4a6ea224d Bug 1202296 - Hide the MFTDecoder within MFTManager so that we can recreate it opaquely. r=cpearce
--HG--
extra : rebase_source : 8ce6adacd26ceaa243737db06fc652a8dd16bdc6
2015-09-10 13:38:17 -04:00
Matt Woodrow
ed728f3334 Bug 1200775 - Check intel specific h264 decoder when checking for DXVA support. r=cpearce
--HG--
extra : rebase_source : 1ba6576d38a0ccfe4c78b082b0d0bc97b293078f
2015-09-10 13:20:21 -04:00
Sotaro Ikeda
5073f49a03 Bug 1200903 - Fix MediaSystemResourceService::RemoveRequests() r=cpearce 2015-09-10 07:50:32 -07:00
Jean-Yves Avenard
6f800ab99a Bug 1197319: P3. Allow VP8/VP9 decoding via FFmpeg. r=kentuckyfriedtakahe 2015-09-10 22:05:39 +10:00