Commit Graph

5087 Commits

Author SHA1 Message Date
Randell Jesup
9644dd13fd Bug 1224442: null-check GMP Parent Shmem messages from the Child to handle messages after shutdown r=cpearce 2015-11-13 01:08:01 -05:00
Kyle Huey
d9adfa1d30 Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
Karl Tomlinson
fffc0237ee bug 1223520 avoid leaking NaNs to and from the otherwise unused imaginary frequency components r=padenot
The zeroth component is not removed from the BufferComplexMultiply() call so
as not to disrupt alignment.

The mOutputBuffer[halfSize].i assertions are removed because the code no
longer uses these components, and so their values are irrelevant.
2015-11-11 20:34:41 +13:00
Karl Tomlinson
cd9005adaa test for bug 1223520 r=padenot 2015-11-12 12:16:32 +13:00
Karl Tomlinson
92711a7cb2 bug 1224102 reduce the size of the final FFT convolution stage if possible r=padenot 2015-11-12 17:34:13 +13:00
sajitk
16f44d3d8d Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
sajitk
6208e4b76c Bug 1201997 - Part 4 - Change size and offset variables to size_t.r=froydn 2015-11-15 14:48:08 +01:00
JW Wang
8021ea75bb Bug 1223599 - Remove the throttling argument from AbstractMediaDecoder::NotifyDataArrived(). r=jya. 2015-11-11 17:59:16 +08:00
Makoto Kato
e11f0b3b51 Bug 1223153 - Create new thread to enumerate voice items. r=eeejay 2015-11-12 18:24:12 +09:00
Wes Kocher
798325cd22 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE 2015-11-11 09:36:56 -08:00
sajitk
ac8ad4ec76 Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-11 06:52:00 +01:00
Jean-Yves Avenard
36a6316a64 Bug 1221825: P2. Ensure frame memory allocation succeeded. r=cpearce 2015-11-12 01:10:37 +11:00
Jean-Yves Avenard
a3704eb891 Bug 1221825: Fix logging arguments. r=cpearce 2015-11-12 01:10:36 +11:00
Dan Minor
411bb6d7d6 Bug 1171436 - support at least 8192 elements for PeriodicWave r=padenot
This increases the maximum PeriodicWave size to 8192 and adds an optimization
to use 8192 elements only in the case where we receive more than 4096
components. In accordance with the spec, a maximum number of components is no
longer enforced.
2015-10-27 22:05:47 -04:00
Jean-Yves Avenard
c1cd8aa37c Bug 1220033: Fix HTMLMediaElement::seekable attribute for Mediasource. r=gerald
Interval is to start from 0 when duration is +infinity
2015-11-11 21:24:01 +11:00
Andreas Pehrson
2a3bc5d1c1 Bug 1223655 - Only check for track end if track exists in MediaEngineDefaultAudioSource. r=jesup 2015-11-11 12:18:51 +08:00
JW Wang
2b9c4e6d5c Bug 1220558. Part 2 - remove unused members. r=jya. 2015-11-11 07:43:41 +08:00
JW Wang
53e4b15b42 Bug 1220558. Part 1 - remove unused arguments from MediaDecoderReader::DispatchNotifyDataArrived() and its callees/callers. r=jya. 2015-11-11 07:43:38 +08:00
Sotaro Ikeda
d3368d5041 Bug 1214997 - Use MozPromise in MediaCodecProxy and OMXCodecProxy r=bwu 2015-11-10 05:42:42 -08:00
Andreas Pehrson
88324bcf6f Bug 1219711 - Lower AudioStreamAnalyser's smoothingTimeConstant for speedier tests. r=padenot 2015-11-10 17:18:18 +08:00
Andreas Pehrson
ec662f37c1 Bug 1219711 - Don't rely on timer interval in fake audio track. r=jesup
Fake audio tracks would rely on an nsITimer firing every 10ms, and on
each fire they would append 10ms of data.

This didn't work in practice as the intervals observed were most of the
time larger than 10ms, e.g.:
> Last Notify() 12,042ms ago
> Last Notify() 11,327ms ago
> Last Notify() 11,097ms ago
> Last Notify() 11,601ms ago
> Last Notify() 11,694ms ago
> Last Notify() 11,593ms ago
> Last Notify() 11,698ms ago
> Last Notify() 12,492ms ago

This patch first appends a slight buffer to the fake audio track to have
some resilience against underruns when the timer exceeds its interval
like this. It also measures the actual time between two Notify() calls
so that the exact number of consumed audio samples can be appended back.

Should we be under such heavy CPU load that the MediaManager thread is
starved out, we'll print a warning and avoid appending exceedingly much
data by appending only the size of the initial buffer.
2015-11-09 23:17:42 +08:00
Andreas Pehrson
1e78784f75 Bug 1219711 - Remove fakeness from webrtc tests. r=jib 2015-11-09 23:17:42 +08:00
Andreas Pehrson
6c7833bebf Bug 1219711 - Let fake stream take precedence in testing. r=jib
TL;DR requesting a fake stream always gives you a fake stream. No magic.

The gUMConstraint `fake: true` should take precedence and if set always
use MediaEngineDefault.
If it is set the state of `faketracks` is passed
on to MediaEngineDefault.
If it is not set, but (any of) audio/video loopback devices are set, the
device enumeration will filter out only those.
2015-11-09 23:17:42 +08:00
Andreas Pehrson
c9661d9a29 Bug 1219711 - Add mochitest for track disabling over a peer connection. r=jib 2015-11-10 17:17:13 +08:00
Andreas Pehrson
378e2b660c Bug 1219711 - Refactor captureStream_common.js to accept generic pixel testing method. r=jib 2015-11-09 23:17:41 +08:00
Makoto Kato
c01703c148 Bug 1221520 - nullcheck for mSpeechdClient. r=eeejay 2015-11-10 19:14:02 +09:00
John Lin
300de1cf25 Bug 1222919 - Make ProcessFlush() virtual. r=jya 2015-11-09 18:59:00 +01:00
Alastor Wu
af56ef608c Bug 1218593 - switch back to the AudioCallbackDriver when there is new audio again. r=padenot 2015-11-09 16:32:00 +08:00
Kelly Davis
9101f95751 Bug 1218337 - Part 1 of 1: Introduced permission 'speech-recognition' and used it in place of the app-check. r=smaug 2015-11-06 09:59:00 +01:00
John Lin
c931bd1038 Bug 1216895 - assert that decoder methods are run on correct thread. r=jya 2015-11-09 18:58:00 +01:00
Wes Kocher
415f6a45c6 Merge m-c to inbound, a=merge 2015-11-09 17:33:59 -08:00
Wes Kocher
f3da035e9b Merge b2ginbound to central, a=merge 2015-11-09 17:31:35 -08:00
Bill McCloskey
c98949c21f Bug 1221371 - Switch chromium IPC code to use mozilla::Tuple (r=jld,cpearce,kats) 2015-11-09 10:21:11 -08:00
Alastor Wu
3d60b9c567 Bug 1220320 - implement the nsSupportsWeakReference. r=baku 2015-11-06 16:29:03 +08:00
Carsten "Tomcat" Book
b99a10013e merge mozilla-inbound to mozilla-central a=merge 2015-11-09 14:55:30 +01:00
Wes Kocher
323f28486f Merge m-c to b2ginbound, a=merge 2015-11-06 15:14:26 -08:00
Wes Kocher
8012c27726 Backed out 5 changesets (bug 1219711) for frequent android m(9) failures a=bustage
Backed out changeset 2d5f09d89424 (bug 1219711)
Backed out changeset cf14a6e5f340 (bug 1219711)
Backed out changeset 4eaa8cf9a752 (bug 1219711)
Backed out changeset 65abe62869df (bug 1219711)
Backed out changeset a21d79a94307 (bug 1219711)
2015-11-06 11:14:11 -08:00
Gregor Wagner
81a213c732 Bug 1222478 - Enable more mulet tests. r=gerard-majax 2015-11-06 20:01:45 +01:00
Benjamin Chen
fe6cd8d3b1 Bug 1219300 - Add mutex to protect the |result| because the variable will be access by multiple threads at the same time. r=cpearce 2015-11-06 15:28:22 +08:00
hsteinbr
36c7724428 Bug 1211656 - GUM Constraints for screen sharing don't affect stream resolution. r=jib 2015-11-04 19:06:00 +01:00
Andreas Pehrson
6678c5e754 Bug 1219711 - Remove fakeness from webrtc tests. r=jib 2015-11-05 17:15:51 +08:00
Andreas Pehrson
6695aebdce Bug 1219711 - Let fake stream take precedence in testing. r=jib
TL;DR requesting a fake stream always gives you a fake stream. No magic.

The gUMConstraint `fake: true` should take precedence and if set always
use MediaEngineDefault.
If it is set the state of `faketracks` is passed
on to MediaEngineDefault.
If it is not set, but (any of) audio/video loopback devices are set, the
device enumeration will filter out only those.
2015-11-05 17:15:51 +08:00
Andreas Pehrson
29bdd03a43 Bug 1219711 - Add mochitest for track disabling over a peer connection. r=jib 2015-11-05 17:15:51 +08:00
Andreas Pehrson
207c4f7cf6 Bug 1219711 - Refactor captureStream_common.js to accept generic pixel testing method. r=jib 2015-11-05 17:15:50 +08:00
Mike Hommey
1db89374d8 Bug 1221453 - Use AbsolutePaths with LOCAL_INCLUDES instead of manual -I in CXXFLAGS. r=gps 2015-11-06 09:59:21 +09:00
Ralph Giles
699617f3bc Bug 1222537 - Update vtt.js to v0.12.1. r=kinetik
Upstream release from March.
2015-11-06 10:46:44 -08:00
Ralph Giles
0d8e544970 Bug 1222537 - Allow passing a commit to update-webvtt. r=kinetik
This simplifies updating to a specific revision instead of
always defaulting to master. e.g.

  npm install
  node update-webvtt.js -d ~/vtt.js -r v0.12.1

Note the script will clobber the given repo's HEAD, checking
out the rev (or master) instead.
2015-11-06 10:46:16 -08:00
Ralph Giles
7fab7afd94 Bug 1222145 - Bump maximum video size to 8k. r=jya
YouTube and WebVR have been experimenting with 8k video for
immersive applications, where you need more than 4k resolution
even on a mid-resolution display because you're not looking
at the whole scene simultaneously.

We were rejecting video frames larger than 4000x3000,
or 16k in any one dimension, to limit resource exhaustion
attacks. Bump this to accept 8k video now that there's
a demand for it.
2015-11-05 13:45:00 -08:00
Chris Pearce
a7066108c2 Bug 1222888 - Implement MediaKeySession callable value. r=gerald 2015-11-10 07:59:28 +13:00
Chris Pearce
0ed0dd47c2 Bug 1222888 - Add mochitest for MediaKeySession 'callable' value. r=gerald 2015-11-10 07:59:22 +13:00
Chris Pearce
364a17810d Bug 1222875 - Connect MediaKeySession.expiration to GMP. r=gerald 2015-11-10 07:59:15 +13:00
Karl Tomlinson
f393041e5c bug 1221836 return output pointer from FFTConvolver::process() to save a buffer copy r=padenot 2015-11-04 21:23:18 +13:00
Karl Tomlinson
85dd697796 bug 1221833 remove now-unused direct convolver r=padenot 2015-11-04 09:21:45 +13:00
Karl Tomlinson
66b32f4295 bug 1221833 remove first two half-block-size convolver stages r=padenot
Efficiency is proportional to stage size, so start with the largest size
possible.
2015-11-04 09:02:57 +13:00
Karl Tomlinson
8f74295a53 bug 1221833 replace initial direct convolution stage with fft r=padenot 2015-11-04 08:40:12 +13:00
Karl Tomlinson
649f616e05 bug 1221833 reduce FFTConvolver latency by one block r=padenot 2015-11-04 06:32:49 +13:00
Karl Tomlinson
288c807cae bug 1221830 double maximum realtime convolver stage size to 2048 r=padenot
Now, the most FFT work that happens during one realtime processing block is
when one 2048-size stage and the 256-size stage are performed at the same
phase-offset.  Before FFT timing was controlled by initial input buffer offset
(bug 1221831), two 1024-size stages as well as the 512- and 256-size stages
performed FFTs at one offset.  Thus, the maximum work in one block is reduced
by a ratio of about 11 to 9.

Measurements also indicate a similar reduction in total rendering thread
CPU usage.

Previously the alignment of the eleven 1024-size realtime stages was such
that, in three consecutive blocks, two 1024-size stages would peform their
FFTs.  Now, the 2048-size stages is aligned so that none of these perform
their FFTs in consecutive blocks.
2015-11-04 11:46:21 +13:00
Karl Tomlinson
41d90ed32c bug 1221830 use WEBAUDIO_BLOCK_SIZE constant in FFTConvolver r=padenot 2015-11-04 07:39:41 +13:00
Karl Tomlinson
9353d04211 bug 1221830 use WEBAUDIO_BLOCK_SIZE slice size for background convolver thread r=padenot
as with the main thread.

The comment was incomplete as ReverbConvolverStage also supports multiples of
the FFT halfsize, but only values up to WEBAUDIO_BLOCK_SIZE.
2015-11-03 16:36:53 +13:00
Karl Tomlinson
3be150faee bug 1221830 use WEBAUDIO_BLOCK_SIZE constant in Reverb methods r=padenot 2015-11-03 16:35:32 +13:00
Karl Tomlinson
9952f12975 bug 1221831 remove now-unnecessary m_preDelayBuffer r=padenot 2015-11-03 14:14:40 +13:00
Karl Tomlinson
61812bb9d4 bug 1221831 use initial input buffer offset to control when convolver stages perform their FFT r=padenot 2015-11-03 12:28:14 +13:00
Karl Tomlinson
f7cec2d6d2 bug 1221831 remove unused Reverb::latencyFrames() r=padenot 2015-11-03 13:56:35 +13:00
Karl Tomlinson
2ae226aab5 bug 1221831 remove unused Reverb::reset() r=padenot 2015-11-03 13:53:27 +13:00
Paul Adenot
2ca34604bf Bug 1219403 - Remove MOZ_ASSERT for AssertOnGraphThreadOrNotRunning since it returns void and asserts inside, on a CLOSED TREE. 2015-11-05 11:28:00 +01:00
Paul Adenot
3d5468cc26 Bug 1219403 - Account for the fact that MediaStream::Destroy can be run safely
on the main thread during shutdown.
2015-11-05 11:10:22 +01:00
Paul Adenot
5159e739ce Bug 1219403 - r=karlt 2015-11-05 09:36:25 +01:00
Nils Ohlmeier [:drno]
297719799f Bug 1190574 - added missing calls to release stored ICE candidates. r=jib 2015-09-14 23:17:05 -07:00
Wes Kocher
467ada903a Backed out changeset 722e121f6ce6 (bug 1217080) for b2g build failures 2015-11-04 15:39:35 -08:00
Jeff Muizelaar
6b9d57c0ac Bug 1217080. Move recycling functionality into RecyclingPlanarYCbCrImage. r=nical
This makes PlanarYCbCrImage abstract and moves the recycling functionality
into RecyclingPlanarYCbCrImage. This decreases the size of
SharedPlanarYCbCrImage and makes it possible for us to do part 3 of bug
1216644.
2015-11-04 17:40:02 -05:00
Michael Froman
a5e56a1000 Bug 1192813 - update the default candidate as new candidates arrive. r=bwc 2015-10-01 10:20:11 -05:00
Dan Minor
96cce6a1e4 Bug 1214239 - [Web Audio] StereoPannerNode ignores input gain when pan is 0 r=padenot
This modifies the special case code for pan == 0.0f to apply the input gain.
2015-10-21 11:59:58 -04:00
Karl Tomlinson
bd908edd07 bug 1220041 scale when copying for inverse FFT to avoid iterating twice r=padenot 2015-10-30 15:24:23 +13:00
Karl Tomlinson
4f215ff8cf bug 1220041 remove unnecessary temp buffer and copy with libav FFT r=padenot 2015-10-30 15:18:33 +13:00
Karl Tomlinson
1946f320c8 bug 1220037 test convolution r=padenot
This is in the mochitest suite so that Android and B2G tests can run it, but
designed so that it can be moved to web-platform-tests when they run on all
platforms.
2015-10-30 15:32:16 +13:00
Karl Tomlinson
89ecad7757 bug 1220037 pack and unpack Nyquist for MOZ_LIBAV_FFT r=padenot
BufferComplexMultiply knows nothing about this format and so ends up
corrupting the DC coefficient if packed Nyquists are multiplied.
2015-10-30 14:48:08 +13:00
Karl Tomlinson
3bad1fb3a3 bug 1094925 adopt spec changes for one channel per input ChannelMerger behavior r=padenot
https://github.com/WebAudio/web-audio-api/issues/304

NotSupportedError is chosen for more sensible meaning and consistency with
other nodes.
2015-10-30 10:22:45 +13:00
Karl Tomlinson
5e1c4aacb1 bug 930257 schedule Analyser inactive check when sending last null chunk r=padenot
(Doing the extra ProcessBlock for the sake of downstream nodes was unnecessary
 even before the inactive check was delayed until after their processing, because
 downstream nodes would have only had null chunks to process anyway.)
2015-10-23 08:47:34 +13:00
Karl Tomlinson
836e1be68d bug 930257 finish Oscillator on processing last non-null block r=padenot 2015-10-23 09:23:52 +13:00
Karl Tomlinson
461bf7d956 bug 930257 finish BufferSource on processing last non-null block r=padenot
Since changes for bug 1217625, the node and downstream nodes won't be made
inactive until after downstream nodes have done their processing, and so there
is no need to wait for the first silent output block.

This essentially reverts 5c607f3f39d55544838f3111ede9e11a00d3c25e.
2015-10-23 08:55:57 +13:00
Karl Tomlinson
ec41f09de6 bug 1217625 suspend inactive AudioNodeStreams r=padenot 2015-10-23 11:38:11 +13:00
Karl Tomlinson
8b455e2653 bug 1217625 remove ADD_STREAM_SUSPENDED r=padenot
Sometimes we'll need an initial suspended count of 2, which is not supported
by this API, but this is not necessary anyway.
2015-10-22 22:14:46 +13:00
Karl Tomlinson
610c7f9dd2 bug 1217625 perform checks for transition to inactive outside of stream processing r=padenot
This will allow streams to be suspended when they are discovered inactive.
Suspending is not possible while iterating over stream lists for processing.

The approach of delaying the transition to inactive state may result in a
couple of extra processing iterations, but can save on the number of messages
that need to be created when compared to the approach of traversing downstream
nodes during stream processing.
2015-10-23 09:37:45 +13:00
Karl Tomlinson
fb9cb230f1 bug 1217625 add a means to schedule a callback after processing on the graph thread r=padenot 2015-10-22 18:47:57 +13:00
Jean-Yves Avenard
e06e134811 Bug 1220033: Don't use fuzz arithmetic for calculating internal buffered ranges r=gerald 2015-11-04 16:52:24 +13:00
JW Wang
2d087562b8 Bug 1220646 - don't access mOwner which is invalid after shutdown. r=kinetik. 2015-11-03 20:26:57 +08:00
Randell Jesup
11fe7e7ad0 Bug 1215769: use longer video clips when testing captureStream to avoid failure due to looping (bug 1215769) r=drno 2015-11-03 13:51:32 -05:00
Carsten "Tomcat" Book
2012dcc79f Backed out changeset 9ce253c10b9a (bug 1218311) for perma failures in android m9 in test_replay_metadata.html and test_seek-2.html 2015-11-03 12:28:05 +01:00
Nicolas Silva
2c0e15ec31 Bug 1219330 - Handle PlanaYCbCrImage::SetData failure. r=jya, jesup 2015-11-03 12:24:26 +01:00
JW Wang
6c33f01c41 Bug 1218311 - Port the fix of bug 1193614 to VideoSink. r=cpearce. f=dglastonbury. 2015-11-03 11:36:24 +08:00
JW Wang
4d99b65b1b Bug 1220512 - ensure next frame status is updated before notifying MediaDecoder::PlaybackEnded. See bug 1220512 comment 1 for the detail. r=cpearce. 2015-11-02 21:26:10 +08:00
Jan-Ivar Bruaroey
c4c1baf34f Bug 1190574 - make test.chain.replace and cohorts throw on unknown test name + fix broken tests. r=drno, r=jib 2015-08-03 17:07:06 -04:00
Karl Tomlinson
c115467fec bug 1221855 test Web Audio memory reporting r=erahm 2015-11-06 16:16:39 +13:00
Karl Tomlinson
1fa430f3eb bug 1221855 null-check mInputBuffer in SizeOfExcludingThis() r=padenot 2015-11-06 15:00:17 +13:00
Sebastian Hengst
b86b5a59a1 Backed out 3 changesets (bug 1221368, bug 1221371) for build failures in B2G JB Emulator. r=backout
Backed out changeset a50c676caf7f (bug 1221371)
Backed out changeset bd99e5060e1e (bug 1221371)
Backed out changeset 3a22461c8ce8 (bug 1221368)

gecko/ipc/chromium/src/base/task.h:36:4: error: use of deleted function 'RefPtr<T>::operator T*() const && [with T = nsScreenGonk]'
make[6]: *** [nsScreenManagerGonk.o] Error 1
2015-11-08 21:25:22 +01:00
Bill McCloskey
55acd0e16b Bug 1221371 - Switch chromium IPC code to use mozilla::Tuple (r=jld,cpearce,kats) 2015-11-08 10:25:09 -08:00
Wes Kocher
03a3d5e75a Merge m-c to inbound a=merge 2015-11-06 15:13:35 -08:00
Wes Kocher
fb9797b461 Backed out changeset 17f6cc9ea49c (bug 1218593) for android m(10) permafails 2015-11-06 14:21:49 -08:00
Wes Kocher
42739fea04 Backed out 5 changesets (bug 1219711) for frequent android m(9) failures
Backed out changeset 2d5f09d89424 (bug 1219711)
Backed out changeset cf14a6e5f340 (bug 1219711)
Backed out changeset 4eaa8cf9a752 (bug 1219711)
Backed out changeset 65abe62869df (bug 1219711)
Backed out changeset a21d79a94307 (bug 1219711)
2015-11-06 11:14:11 -08:00
Matthew Noorenberghe
050420213f Bug 1221365 - Move "Is origin potentially trustworthy?" logic outside ServiceWorkerManager.cpp. r=ckerschb,bkelly 2015-11-06 11:10:17 -08:00
Wes Kocher
73f1aa2fe0 Backed out 2 changesets (bug 1207546, bug 1213154) for gij(11) bustage
Backed out changeset 771ace622de1 (bug 1207546)
Backed out changeset 786bc35f327a (bug 1213154)
2015-11-06 10:58:46 -08:00
Jeff Muizelaar
8249936f48 Bug 1217080. Move recycling functionality into RecyclingPlanarYCbCrImage. r=nical
This makes PlanarYCbCrImage abstract and moves the recycling functionality
into RecyclingPlanarYCbCrImage. This decreases the size of
SharedPlanarYCbCrImage and makes it possible for us to do part 3 of bug
1216644.
2015-11-06 13:55:31 -05:00
Wes Kocher
d123a0c8c4 Backed out changeset 3a7830a019ac (bug 1218337) for breaking hazard builds 2015-11-06 09:33:51 -08:00
Andrea Marchesini
ef408da370 Bug 1213154 - tab-sound-icon should be supported by bfcache, r=roc 2015-11-06 16:16:57 +00:00
Alastor Wu
95085cd9ab Bug 1218593 - switch back to the AudioCallbackDriver when there is new audio again. r=padenot 2015-11-06 17:08:29 +08:00
Kelly Davis
a31e0c9b58 Bug 1218337 - Part 1 of 1: Introduced permission 'speech-recognition' and used it in place of the app-check. r=smaug 2015-11-03 22:51:00 +01:00
John Lin
fbd4ccae2f Bug 1217220 - use output timestamp to decide which item needs to be removed from waiting list. r=jya 2015-11-06 01:38:00 +01:00
Andreas Pehrson
0cd99b3aaa Bug 1219711 - Disable test_peerConnection_trackDisabling.html on B2G. r=me 2015-11-06 16:33:40 +08:00
JW Wang
3165a55346 Bug 1220551. Part 2 - remove arguments from NotifyDataArrivedInternal(). r=jya. 2015-11-02 21:28:57 +08:00
JW Wang
b668a3780b Bug 1220551. Part 1 - fix the parameters passed to mBufferedState->NotifyDataArrived(). r=jya. 2015-11-02 21:28:53 +08:00
Nathan Froyd
c6d498af25 Bug 1220491 - clarify ownership relationships for creators of AudioData; r=gerald
The way we pass in AudioDataValue arrays into AudioData is non-uniform:
sometimes we have nsAutoArrayPtrs, sometimes we don't, and it's not
immediately obvious from the function signature of the constructor that
we're actually taking ownership of this array.  Let's fix that by using
UniquePtr<AudioDataValue[]> smart pointers to hold the data prior to
creating AudioData values, and for passing in to AudioData's
constructor.  Using standard-er C++ things instead of our homegrown ones
is a good thing.
2015-11-01 17:34:26 -05:00
JW Wang
4c369a0d3e Bug 1139256 - remove the assertion in AudioStream::GetPositionInFramesUnlocked(). See bug 1139256 comment 4 for the detail. r=kinetik. 2015-11-02 21:26:12 +08:00
John Lin
b9602ba9e1 Bug 1199809 - Make a copy of output buffer after flush(). r=sotaro 2015-11-01 23:25:00 +01:00
John Lin
79a92832ee Bug 1199809 - Refactor: use RAII to help manage output buffer lifecycle. r=sotaro 2015-10-29 21:14:00 +01:00
John Lin
b3c658447d Bug 1199809 - Don't schedule decoder I/O task when there will be more input. r=bwu 2015-10-29 21:14:00 +01:00
John Lin
51e0b0667f Bug 1199809 - Create native window early to avoid race condition. r=jya
If AsyncAllocateVideoMediaCodec() run faster enough, mNativeWindow will be created after codecReserved() is called and we'll configure decoder w/o native window.
2015-10-29 21:14:00 +01:00
John Lin
63d82ce926 Bug 1199809 - Reset last decoded frame time on looper thread to avoid race condition. r=jya 2015-10-29 21:14:00 +01:00
John Lin
73c838d882 Bug 1199809 - Remove all references to unused task queue. r=jya 2015-10-29 21:14:00 +01:00
Gerald Squelart
d7540743b0 Bug 1214018 - p4: Use machine_id_mac in GMPLoader - r=cpearce
Having HASH_NODE_ID_WITH_DEVICE_ID #defined is enough for GMPLoader to start
using the Mac version of GetRawMachineId.

Note: The stack (that may contain information gathered during GetRawMachineId)
is not erased, so it could theoretically be possible for a compromised GMP to
find out some sensitive user information. Another bug will deal with this.
2015-10-29 16:27:00 +01:00
Gerald Squelart
a7c5d1063b Bug 1214018 - p3: Modify machine_id_mac for FF build - r=cpearce
Necessary routines were extracted from other files in:
6c3bf03265/
(otherwise a lot of code would have had to be imported, most of which would be
unused anyway.)
These extracted routines were reduced to only the actually-used code.

base::StringPrintf was only used to stringify a few hex values, this particular
use was easier to reimplement in a small loop rather than trying to extract the
whole printf suite.

base::UTF8toUTF16 is not needed, as we just return bytes. So internally a
std::string (containing UTF8) is used and its contents transferred to the
output buffer.
2015-10-29 20:20:00 +01:00
Gerald Squelart
1d40f77ff4 Bug 1214018 - p2: Import machine_id_mac.cc from Chromium repo - r=cpearce
Retrieved from:
6c3bf03265/rlz/mac/lib/machine_id_mac.cc
2015-10-29 20:19:00 +01:00
Gerald Squelart
aa556e4dfb Bug 1214018 - p1: Using vector to pass machine id - r=cpearce
GetRawMachineId was returning its generated data through a 'string16', which on
Windows was conveniently equivalent to a std::wstring.

However on Mac, wstring uses 32-bit characters, so in order to comply with the
string16 interface, a lot of non-trivial code would have to be imported and
vetted.

Also, in the end GMPLoader::Load passes this string16 to SHA256_Update() as a
sequence of bytes, the actual type of the data is lost!

So to simplify this work, GetRawMachineId will now return its data through a
vector of bytes, and the platform-dependent implementations may use whatever
data type they want internally.

The Windows GetRawMachineId actually returns the same data in this vector, so
it stays compatible with the previous code.
2015-10-29 16:25:00 +01:00
Birunthan Mohanathas
94998cf5fe Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
JW Wang
f6a18c7d6e Bug 1219984. Part 2 - add support for multiple arguments. r=kinetik. 2015-11-02 10:48:01 +08:00
JW Wang
6bb2fbe323 Bug 1219984. Part 1 - remove EventPassMode::Both. In order to support multiple arguments, all arguments must be either moved or copied. r=kinetik. 2015-11-02 10:47:59 +08:00
JW Wang
b806605af4 Bug 1219169. Part 2 - move MediaDecoderStateMachine::OnTaskQueue() to private. r=jya. 2015-11-02 10:36:50 +08:00
JW Wang
457d411391 Bug 1219169. Part 1 - Remove AbstractMediaDecoder::OnStateMachineTaskQueue(). r=jya. 2015-11-02 10:36:48 +08:00
Jean-Yves Avenard
92cd0e63b6 Bug 1219134: P4. Properly assign the decoded sample duration. r=edwin
We default to the previous logic if for some unlikely condition we couldn't find the frame's duration (using the last input frame's duration)
2015-11-02 12:18:42 +11:00
Jean-Yves Avenard
5ebe33aa9d Bug 1219134: P3. Properly set the keyframe flag. r=edwin
We were incorrectly setting the keyframe flag of the last input sample rather than of the decoded one.
2015-11-02 12:18:41 +11:00
Jean-Yves Avenard
6ad9d03ce9 Bug 1219134: P2. Use LibAV/FFmpeg logic to detect invalid pts. r=edwin
The logic was extracted from LibAV cmdutils.c. FFmpeg provides an API for that (av_frame_get_best_effort_timestamp()) unfortunately this isn't provided by LibAV.
So copy the logic instead in order to keep compatibility with the two forks.
2015-11-02 12:18:40 +11:00
Jean-Yves Avenard
539653298e Bug 1219134: P1. Fix pts calculation in FFmpeg video decoder. r=edwin
This is the primary reason why we got no pts returned (pts were set to 0) when using early version of LibAV. Apparently you are expected to set the pts when allocating the buffer of a frame.
This is undocumented, but both LibAV and FFmpeg do so internally. So do the same.
2015-11-02 12:18:40 +11:00
Ryan VanderMeulen
a46beb2ec9 No bug - Various crashtest manifest cleanups. 2015-10-31 19:35:27 -04:00
Karl Tomlinson
0eb94a796a bug 1217625 remove unused MessageQueue() and document message queue thread access r=padenot 2015-09-17 17:08:10 +12:00
Karl Tomlinson
fa4f3665f5 bug 1217625 remove declarations of undefined methods r=padenot 2015-10-22 16:46:06 +13:00
Karl Tomlinson
2eca6ee5b9 bug 1187785 bind frequencyIndex by value instead of reference
to test all indices, not the last one several times.
2015-10-30 10:07:14 +13:00
Karl Tomlinson
dca7c5a33f bug 1220042 make AlignedTArray base class inheritance private r=jwwang
because base class methods will not be safe with different Elements() and
Length() methods.
2015-10-29 22:58:10 +13:00
Phil Ringnalda
aac5854d85 Back out changeset 81b802b69a74 (bug 1213154) for Linux/Mulet webgl reftest failures
CLOSED TREE
2015-10-31 11:58:18 -07:00
Andreas Pehrson
f89d37d84a Bug 1219711 - Ensure MediaStreamTrack.enabled propagates across peer connections. r=jesup 2015-10-30 14:13:15 +08:00
Andrea Marchesini
8d493aad3f Bug 1213154 - tab-sound-icon should be supported by bfcache, r=roc 2015-10-31 15:20:59 +00:00
Wes Kocher
156ed37b5d Merge b2ginbound to central, a=merge 2015-10-30 16:54:07 -07:00
Munro Chiang
1e83ad30f6 Bug 1205927 - Part 2: Add audio-capture:3gpp2 perimission for certificated and privileged application. r=ayang 2015-10-27 15:14:12 +08:00
Munro Chiang
77f6427e30 Bug 1205927 - Part 1: [MediaEncoder] Support *.3g2 with EVRC audio format. r=ayang 2015-10-27 15:12:26 +08:00
Carsten "Tomcat" Book
080861907c Backed out changeset 9093e927a247 (bug 1201997) 2015-10-30 15:52:18 +01:00
Robert O'Callahan
2516720390 Bug 1214506. Ensure OggReader sets proper IDs for its tracks. r=jya 2015-10-31 00:59:26 +13:00
Carsten "Tomcat" Book
9d414ddded Backed out changeset 571ec9b53caa (bug 1219134) on request from jya for problems with the FFmpeg 2015-10-30 13:51:03 +01:00
Carsten "Tomcat" Book
ca8439e9a2 Backed out changeset 4953d5ffbacf (bug 1219134) 2015-10-30 13:50:30 +01:00
Carsten "Tomcat" Book
94f45d2744 Backed out changeset 68799b5ac681 (bug 1219134) 2015-10-30 13:50:29 +01:00
Carsten "Tomcat" Book
b6018dce8e Backed out changeset 6b57ad2001ff (bug 1219134) 2015-10-30 13:50:27 +01:00
sajitk
e4def01cb9 Bug 1201997 - Part 4 - Change size and offset variables to size_t.r=froydn 2015-10-29 19:58:00 +01:00
Jean-Yves Avenard
5dcbb9c6e2 Bug 1219134: P4. Properly assign the decoded sample duration. r=edwin
We default to the previous logic if for some unlikely condition we couldn't find the frame's duration (using the last input frame's duration)
2015-10-30 19:11:53 +11:00