Commit Graph

1491 Commits

Author SHA1 Message Date
Ehsan Akhgari
62fae4198d Bug 818294 - Make MediaPluginHost.cpp compile with fail-on-warnings; r=doublec 2012-12-04 17:57:44 -05:00
Mats Palmgren
e6ad33709d Bug 817574 - Replace NS_ABS with std::abs. r=roc 2012-12-04 13:33:33 +01:00
Paul Adenot
f4c449a171 Bug 817403 - Remove the preskip check when playing opus chained file. r=derf 2012-12-03 15:44:26 +01:00
Edwin Flores
6ed039437e Bug 784019 - Reduce mAmpleVideoFrames on Android so we don't starve libstagefright of gralloc buffers r=doublec 2012-12-03 15:41:06 +13:00
Steve Workman
7658787c73 Bug 813562: Zero out vorbis structures in WebMReader() to avoid crashes due to uninitialized use r=kinetik 2012-11-30 16:02:46 -08:00
Chris Double
4f1aa8a3d9 Bug 805700 - Part1: omx plugin changes for Honeycomb support - r=cpeterson
--HG--
extra : rebase_source : 3b36cfa2d5b25db4b1a66727f4349f71a6e2a7db
2012-11-30 16:05:37 +13:00
Chris Double
ec57b1d1a1 Bug 787228 - Part1: Media plugin backend changes for Gingerbread support - r=cpeterson
--HG--
extra : rebase_source : 57f8058c181b1f6b47b5f0b9f0b0b8a6cc5b5f10
2012-11-30 15:37:00 +13:00
Paul Adenot
3ba1d1e845 Bug 455165 - Tests for ogg chain support. r=cpearce 2012-11-30 14:17:55 +01:00
Paul Adenot
5311014967 Bug 455165 - Put some very verbose media logging behind a MOZ_QUIET=1 check. r= 2012-11-30 14:17:54 +01:00
Paul Adenot
57e360d284 Bug 455165 - Add support for chained ogg audio file and proper metadata dispatching. r=cpearce 2012-11-30 14:17:54 +01:00
Ehsan Akhgari
1a5f026835 Bug 816828 - Implement AudioContext.sampleRate; r=bzbarsky 2012-11-29 22:31:39 -05:00
Jan-Ivar Bruaroey
3eb95d1eaa Bug 800538: Added MOZ_ASSERTs of passed-in VoiceEngine/VideoEngine in MediaEngineWebRTCAudio/VideoSource constructors respectively. r=jesup 2012-11-28 22:30:31 -05:00
Paul Adenot
a630caa522 Bug 816143 - Teach AudioStream::EnsureTimeStretcherInitialized() about infallible malloc. r=kinetik 2012-11-29 15:40:57 +01:00
ChangZhuo Chen
a16bcd834a Bug 778053 - Test case for wave metadata. r=kinetik 2012-10-06 19:32:30 +08:00
ChangZhuo Chen
2576dd9681 Bug 778053 - Read wave metadata. r=kinetik 2012-10-06 19:33:11 +08:00
Scott Johnson
29f9330bf3 Bug 812372: Rename DocumentViewerImpl to nsDocumentViewer for consistency. [r=ehsan] 2012-11-28 18:26:39 -06:00
Paul Adenot
556b71143b Bug 815194 - Remove more ns prefixes on content/media classes + whitespace fixes. r=cpearce 2012-11-28 20:40:07 +01:00
Jacek Caban
ad26851dea Bug 814708 - Use nsAutoPtr for mTimeStretcher r=padenot
--HG--
extra : rebase_source : 6746cf104eac6b66bec48eb235718ad4d6853905
2012-11-28 17:25:57 +01:00
Ehsan Akhgari
a7a98ebf22 Merge mozilla-central into mozilla-inbound 2012-11-28 09:43:30 -05:00
Olli Pettay
f62ac2c85e Bug 811206, Fix JSHolder drop handling, part 3 (fixes), r=mccr8,khuey
--HG--
extra : rebase_source : 7b2726d2aa7f5764a3c4cb750e5a735728069687
2012-11-28 03:37:57 +02:00
Edwin Flores
59cfbb854d Bug 812756 - Set AmpleVideoFrames to the minimum to win a race when shutting down OMX.qcom.video.decoder.mpeg4 decoder r=doublec 2012-11-28 15:34:53 +13:00
Timothy B. Terriberry
015fc30139 Bug 815825 - Rotate colors in fake video streams, r=jesup 2012-11-27 16:15:55 -08:00
Ehsan Akhgari
165f9042db Bug 814789 - Tie the life-time of the AudioContext to the life-time of the document owning it; r=bzbarsky 2012-11-23 18:33:41 -05:00
Daniel Holbert
254a73bfa8 Bug 815450: Add "u" suffix to numeric literals in TestAudioEventTimeline.cpp, to fix sign-compare build warnings. r=ehsan 2012-11-26 20:34:16 -08:00
Daniel Holbert
d7b2de9476 Backed out changeset 704c91d3e7fa (Bug 814789) because of mac build-bustage 2012-11-26 20:34:10 -08:00
Ehsan Akhgari
64400b3001 Bug 814789 - Tie the life-time of the AudioContext to the life-time of the document owning it; r=bzbarsky 2012-11-23 18:33:41 -05:00
Edwin Flores
92700449d1 Bug 812756 - Remove seeking hack from OMX decoder r=cpearce 2012-11-27 17:08:40 +13:00
Ehsan Akhgari
35149021b6 Bug 815226 - Make the MediaPluginReader not depend on the concrete type of the AbstractMediaDecoder passed to it; r=cpearce 2012-11-26 16:12:24 -05:00
Andrew McCreight
0687798248 Bug 814453 - Eliminate NS_IMPL_CYCLE_COLLECTION_UNLINK_NATIVE_0 and NS_IMPL_CYCLE_COLLECTION_TRACE_NATIVE_BEGIN. r=smaug 2012-11-23 11:27:06 -08:00
Fabrice Desré
58a2c50162 Bug 814927 - gstreamer builds broken by Bug 814284 [r=ehsan] 2012-11-25 14:39:11 -08:00
Ehsan Akhgari
46c9d70720 Bug 814757 - Export all decoder reader headers; r=cpearce 2012-11-23 14:52:39 -05:00
Thinker K.F. Li
dcba0eca6c Bug 805711 - check EOS against audio source for OmxDecoder. r=doublec 2012-11-24 20:25:02 +13:00
Ehsan Akhgari
506826b29f Bug 814756 - Disambiguate PacketQueue; r=cpearce 2012-11-23 14:47:45 -05:00
Ehsan Akhgari
714687fcd1 Bug 814284 - Part 4: Simplify DecoderTraits::ShouldHandleMediaType; r=cpearce 2012-11-22 15:15:47 -05:00
Ehsan Akhgari
d410d778d1 Bug 814284 - Part 3: Use CodecListContains anywhere we can; r=cpearce 2012-11-22 14:08:57 -05:00
Ehsan Akhgari
5ea1ec777a Bug 814284 - Part 2: Move the logic of dealing with requested codecs down into DecoderTraits::CanHandleMediaType; r=cpearce 2012-11-22 13:49:37 -05:00
Ehsan Akhgari
544ee6cf7f Bug 814284 - Part 1: Refactor the code necessary for detection of codec support out of nsHTMLMediaElement; r=cpearce 2012-11-21 22:10:41 -05:00
Benoit Jacob
97c1c2f31c Bug 814444 - Remove now-useless TRAVERSE_NATIVE_BEGIN and UNLINK_BEGIN_NATIVE macros - r=mccr8 2012-11-22 12:15:38 -05:00
Paul Adenot
7cecfa3a41 Bug 495040 - Implement playbackRate and related bits (Fix other tests) r=kinetik 2012-11-22 11:38:29 +01:00
Paul Adenot
ba9e783773 Bug 495040 - Implement playbackRate and related bits (Tests) r=kinetik 2012-11-22 11:38:28 +01:00
Paul Adenot
ae1aed084f Bug 495040 - Implement playbackRate and related bits r=kinetik 2012-11-22 11:38:28 +01:00
Matthew Gregan
3b3c6ffbfb Bug 814292 - Remove mAudioPlaybackThread and AudioStream refcounting. r=cpearce 2012-11-22 16:38:39 +13:00
Thinker K.F. Li
1b12bd0076 Bug 810734 - Check EOF to avoid infinite looping when parsing MP4. r=doublec 2012-11-21 22:45:42 -05:00
Ehsan Akhgari
db8483a95e Bug 813637 - Let the compiler convert between the types, so that we don't end up with incorrect pointer math; r=cpearce 2012-11-21 18:30:10 -05:00
Matthew Gregan
500b23bff8 Bug 813399 - Remove workarounds for sync main thread deadlocks caused by audio remoting. r=cpearce 2012-11-20 15:22:42 +13:00
Mike Habicher
5f2f3fb21a Bug 813190 - Stop media streams from hanging onto the last played media frame indefinitely. r=roc 2012-11-20 20:32:06 -05:00
Seth Fowler
c42d3467d8 Bug 812241 - Remove disabled test warnings. r=khuey 2012-11-20 16:13:04 -08:00
Ralph Giles
0f21dd7253 [PATCH] Bug 812847 - Test Opus channel count validation - r=kinetik
From 49f5e33d79df3713bc510e611a5064858bf24e4a Mon Sep 17 00:00:00 2001
These files have specially crafted headers which should be
rejected by the new checks added to resolve this bug. If any
audio output is produced then this bug has re-occured.

The audio data is the phrase "invalid file", in one or six
channels, to make this more obvious.

The new mochitest test_invalid_reject.html tries to load
and play each of the new invalid files and verifies that
an error event is triggered. Since the invalid data is in
the file headers, this should happen after network load
but before metadata is ready, so the test also asserts
errors if loadedmetadata or a number of subsequent events
are triggered.

The test will time out if no error event is fired at all.

Thanks to Matthew Gregan for assistance writing the mochitest.
---
 content/media/test/Makefile.in              |  11 ++++++
 content/media/test/invalid-cmap-s0c0.opus   | Bin 0 -> 6835 bytes
 content/media/test/invalid-cmap-s0c2.opus   | Bin 0 -> 6834 bytes
 content/media/test/invalid-cmap-s1c2.opus   | Bin 0 -> 6848 bytes
 content/media/test/invalid-cmap-short.opus  | Bin 0 -> 6854 bytes
 content/media/test/invalid-m0c0.opus        | Bin 0 -> 2471 bytes
 content/media/test/invalid-m0c3.opus        | Bin 0 -> 2471 bytes
 content/media/test/invalid-m1c0.opus        | Bin 0 -> 6836 bytes
 content/media/test/invalid-m1c9.opus        | Bin 0 -> 6836 bytes
 content/media/test/invalid-m2c0.opus        | Bin 0 -> 2471 bytes
 content/media/test/invalid-m2c1.opus        | Bin 0 -> 2455 bytes
 content/media/test/manifest.js              |  14 ++++++++
 content/media/test/test_invalid_reject.html |  52 ++++++++++++++++++++++++++++
 13 files changed, 77 insertions(+)
 create mode 100644 content/media/test/invalid-cmap-s0c0.opus
 create mode 100644 content/media/test/invalid-cmap-s0c2.opus
 create mode 100644 content/media/test/invalid-cmap-s1c2.opus
 create mode 100644 content/media/test/invalid-cmap-short.opus
 create mode 100644 content/media/test/invalid-m0c0.opus
 create mode 100644 content/media/test/invalid-m0c3.opus
 create mode 100644 content/media/test/invalid-m1c0.opus
 create mode 100644 content/media/test/invalid-m1c9.opus
 create mode 100644 content/media/test/invalid-m2c0.opus
 create mode 100644 content/media/test/invalid-m2c1.opus
 create mode 100644 content/media/test/test_invalid_reject.html
2012-11-19 15:13:43 -08:00
Andrew McCreight
9e1bb32dec Bug 815454 - Clean up Traverse/Unlink of web audio. r=smaug 2012-11-27 15:08:22 -08:00
Andrew McCreight
7e2e9bf16b Bug 814752 - Make NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER work for native CC classes. r=smaug,ehsan 2012-11-27 15:08:22 -08:00
Boris Zbarsky
e0facaae90 Bug 767933 part 4. Make 'float' and 'double' types throw on non-finite values. r=khuey,ehsan,bas 2012-11-27 15:32:05 -05:00
Matthew Gregan
68027d9249 Bug 812937 - Remove unused audio remoting code. r=cjones 2012-11-19 13:54:29 +13:00
Ehsan Akhgari
20dc6bb56b Bug 813209 - Refactor MediaResource into BaseMediaResource so that we can base the implementation of BufferMediaSource on top of MediaSource; r=cpearce
This refactoring is needed for the introduction of the BufferMediaResource class.

--HG--
extra : rebase_source : e4b5016e9b947948799f1b8975b23a3dd685a366
2012-11-16 20:31:53 -08:00
Ehsan Akhgari
9f5743242b Backed out changeset f76720054116 (bug 813209) because of leaks 2012-11-19 18:15:18 -05:00
Ehsan Akhgari
e498035d23 Bug 813209 - Refactor MediaResource into BaseMediaResource so that we can base the implementation of BufferMediaSource on top of MediaSource; r=cpearce
This refactoring is needed for the introduction of the BufferMediaResource class.
2012-11-16 20:31:53 -08:00
Ehsan Akhgari
c18a3b3188 Bug 813210 - Make the threading related assertions in the media decoder fatal; r=cpearce 2012-11-16 17:37:46 -08:00
Ehsan Akhgari
0423e87304 Bug 813269 - Use double to represent time in Web Audio; r=bzbarsky 2012-11-19 15:52:29 -05:00
Ehsan Akhgari
f69801b25f Bug 812032 - Refactor the media reader classes to not access MediaDecoder directly; r=cpearce 2012-11-19 10:11:21 -05:00
Timothy B. Terriberry
5efb5c507c Bug 812847 - Validate Opus channel count, r=kinetik 2012-11-18 05:54:52 -08:00
Ehsan Akhgari
5e5593e1eb Bug 812572 follow-up - Remove the extra semi-colon 2012-11-17 11:17:56 -05:00
Ehsan Akhgari
cf053c6208 Bug 812572 - Make MediaDecoderReader a non-runnable; r=cpearce 2012-11-16 11:30:34 -08:00
Marco Chen
095334dcc9 Bug 795237 - Web API for setting audio stream type. Part 2. r=kinetik, a=blocking-basecamp
Implementation on path of audio and video element
2012-11-16 11:25:26 +08:00
Ehsan Akhgari
67aa9cceb9 Bug 812390 - Protect against NaN in AudioContext.createDelay; r=bzbarsky 2012-11-15 17:48:04 -08:00
Randell Jesup
f3cbf201a0 Bug 802399: set capture index for audio input when device is Allocate()ed, plug VoEHw leak r=derf 2012-11-15 18:23:39 -05:00
Randell Jesup
f01b2fce9c Bug 811695: disable internal socket transports for getUserMedia Audio capture r=derf 2012-11-15 17:58:40 -05:00
Benoit Jacob
5a8b82a1cb Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Benoit Jacob
f4c1a03e74 Bug 806279 - CC macros refactoring: part 3: fold the TRAVERSE_NATIVE and AMBIGUOUS cases - r=mccr8,smaug 2012-11-15 02:32:39 -05:00
David Zbarsky
5832069b20 No bug, fix struct/class mismatch warnings 2012-11-14 21:38:26 -05:00
Ehsan Akhgari
5b5d63517f Bug 811864 - Remove PannerNode.coneGain/distanceGain; r=bzbarsky 2012-11-14 13:03:24 -08:00
Ehsan Akhgari
c28044a224 Bug 811555 - Make AudioContext.createDelay not accept arguments greater than or equal to 3; r=bzbarsky
--HG--
extra : rebase_source : 5ad2006acb9c27ba7f94c0d1858a19d71cc663c4
2012-11-13 16:46:25 -08:00
Chris Pearce
216fe28466 Bug 811381 - Remove ns prefix from media code. r=roc
--HG--
rename : content/media/nsAudioAvailableEventManager.cpp => content/media/AudioAvailableEventManager.cpp
rename : content/media/nsAudioAvailableEventManager.h => content/media/AudioAvailableEventManager.h
rename : content/media/nsAudioStream.cpp => content/media/AudioStream.cpp
rename : content/media/nsAudioStream.h => content/media/AudioStream.h
rename : content/media/nsMediaCache.cpp => content/media/MediaCache.cpp
rename : content/media/nsMediaCache.h => content/media/MediaCache.h
rename : content/media/nsBuiltinDecoder.cpp => content/media/MediaDecoder.cpp
rename : content/media/nsBuiltinDecoder.h => content/media/MediaDecoder.h
rename : content/media/nsBuiltinDecoderReader.cpp => content/media/MediaDecoderReader.cpp
rename : content/media/nsBuiltinDecoderReader.h => content/media/MediaDecoderReader.h
rename : content/media/nsBuiltinDecoderStateMachine.cpp => content/media/MediaDecoderStateMachine.cpp
rename : content/media/nsBuiltinDecoderStateMachine.h => content/media/MediaDecoderStateMachine.h
rename : content/media/dash/nsDASHDecoder.cpp => content/media/dash/DASHDecoder.cpp
rename : content/media/dash/nsDASHDecoder.h => content/media/dash/DASHDecoder.h
rename : content/media/dash/nsDASHReader.cpp => content/media/dash/DASHReader.cpp
rename : content/media/dash/nsDASHReader.h => content/media/dash/DASHReader.h
rename : content/media/dash/nsDASHRepDecoder.cpp => content/media/dash/DASHRepDecoder.cpp
rename : content/media/dash/nsDASHRepDecoder.h => content/media/dash/DASHRepDecoder.h
rename : content/media/gstreamer/nsGStreamerDecoder.cpp => content/media/gstreamer/GStreamerDecoder.cpp
rename : content/media/gstreamer/nsGStreamerDecoder.h => content/media/gstreamer/GStreamerDecoder.h
rename : content/media/gstreamer/nsGStreamerReader.cpp => content/media/gstreamer/GStreamerReader.cpp
rename : content/media/gstreamer/nsGStreamerReader.h => content/media/gstreamer/GStreamerReader.h
rename : content/media/ogg/nsOggCodecState.cpp => content/media/ogg/OggCodecState.cpp
rename : content/media/ogg/nsOggCodecState.h => content/media/ogg/OggCodecState.h
rename : content/media/ogg/nsOggDecoder.cpp => content/media/ogg/OggDecoder.cpp
rename : content/media/ogg/nsOggDecoder.h => content/media/ogg/OggDecoder.h
rename : content/media/ogg/nsOggReader.cpp => content/media/ogg/OggReader.cpp
rename : content/media/ogg/nsOggReader.h => content/media/ogg/OggReader.h
rename : content/media/omx/nsMediaOmxDecoder.cpp => content/media/omx/MediaOmxDecoder.cpp
rename : content/media/omx/nsMediaOmxDecoder.h => content/media/omx/MediaOmxDecoder.h
rename : content/media/omx/nsMediaOmxReader.cpp => content/media/omx/MediaOmxReader.cpp
rename : content/media/omx/nsMediaOmxReader.h => content/media/omx/MediaOmxReader.h
rename : content/media/plugins/nsMediaPluginDecoder.cpp => content/media/plugins/MediaPluginDecoder.cpp
rename : content/media/plugins/nsMediaPluginDecoder.h => content/media/plugins/MediaPluginDecoder.h
rename : content/media/plugins/nsMediaPluginHost.cpp => content/media/plugins/MediaPluginHost.cpp
rename : content/media/plugins/nsMediaPluginHost.h => content/media/plugins/MediaPluginHost.h
rename : content/media/plugins/nsMediaPluginReader.cpp => content/media/plugins/MediaPluginReader.cpp
rename : content/media/plugins/nsMediaPluginReader.h => content/media/plugins/MediaPluginReader.h
rename : content/media/raw/nsRawDecoder.cpp => content/media/raw/RawDecoder.cpp
rename : content/media/raw/nsRawDecoder.h => content/media/raw/RawDecoder.h
rename : content/media/raw/nsRawReader.cpp => content/media/raw/RawReader.cpp
rename : content/media/raw/nsRawReader.h => content/media/raw/RawReader.h
rename : content/media/raw/nsRawStructs.h => content/media/raw/RawStructs.h
rename : content/media/wave/nsWaveDecoder.cpp => content/media/wave/WaveDecoder.cpp
rename : content/media/wave/nsWaveDecoder.h => content/media/wave/WaveDecoder.h
rename : content/media/wave/nsWaveReader.cpp => content/media/wave/WaveReader.cpp
rename : content/media/wave/nsWaveReader.h => content/media/wave/WaveReader.h
rename : content/media/webm/nsWebMBufferedParser.cpp => content/media/webm/WebMBufferedParser.cpp
rename : content/media/webm/nsWebMBufferedParser.h => content/media/webm/WebMBufferedParser.h
rename : content/media/webm/nsWebMDecoder.cpp => content/media/webm/WebMDecoder.cpp
rename : content/media/webm/nsWebMDecoder.h => content/media/webm/WebMDecoder.h
rename : content/media/webm/nsWebMReader.cpp => content/media/webm/WebMReader.cpp
rename : content/media/webm/nsWebMReader.h => content/media/webm/WebMReader.h
2012-11-14 11:46:40 -08:00
Chris Pearce
1d6dc9c020 Bug 811381 - Move media code into mozilla namespace. r=roc 2012-11-14 11:45:33 -08:00
Chris Pearce
7cadd570a9 Bug 811381 - Move NextFrameStatus to MediaDecoderOwner, so that nsHTMLMediaElement doesn't need to include all of nsBuiltinDecoder. r=roc 2012-11-14 11:45:31 -08:00
Chris Pearce
9473334bf2 Bug 811381 - Flatten nsMediaDecoder and nsBuiltinDecoder into a single class. r=roc 2012-11-14 11:45:13 -08:00
Randell Jesup
6d92219d4c Bug 809554: if a device has no uniqueId, use the name r=derf 2012-11-12 20:46:52 -05:00
Ehsan Akhgari
602f1aa144 Bug 809882 - Disallow non-positive arguments to AudioContext.createDelay; r=bzbarsky 2012-11-08 13:17:22 -05:00
Ehsan Akhgari
899abd3ff8 Bug 810177 - Part 4: Make nsMediaDecoder not depend on nsHTMLMediaElement; r=cpearce
The basic idea in this patch is to create an MediaDecoderOwner
interface which nsHTMLMediaElement would implement, and put everything
needed by nsMediaDeocder on that interface.  In addition to that,
there are a number of other cleanup patches which enables us to
eliminate many of the nsHTMLMediaElement.h #includes in the media code.
2012-11-09 00:52:53 -05:00
Ehsan Akhgari
0453689b72 Bug 810177 - Part 3: Move the IsFormatEnabled methods from nsHTMLMediaElement to nsMediaDecoder; r=cpearce
This patch moves the various Is{Format}Enabled methods to
nsMediaDecoder.  These methods are all implemented on top of prefs, and
they logically belong to the decoder class, because it needs to know
what media types it should be able to decode.  This also helps reduce
the dependency on nsHTMLMediaElement.h.
2012-11-08 21:46:10 -05:00
Ehsan Akhgari
4397a5852e Bug 810177 - Part 2: Break MetadataTags out of nsHTMLMediaElements; r=cpearce
This patch simply moves the MetadataTags typedef to nsMediaDecoder.h to
reduce the dependencies on nsHTMLMediaElements.h.  The rest of the
changes are made to make this compile.
2012-11-08 19:40:08 -05:00
Ehsan Akhgari
4920cf0e6a Bug 810177 - Part 1: Move NextFrameStatus to nsMediaDecoder; r=cpearce
This patch simply moves the NextFrameStatus enum to nsMediaDecoder and
reorganizes things so that they compile again.
2012-11-08 18:22:32 -05:00
Chris Pearce
37519cec2a Bug 799344 - Remove virtual from media state machine methods, since they're not inherited. r=roc 2012-11-07 11:33:02 +13:00
Chris Pearce
a0956a77b0 Bug 799344 - Flatten nsBultinDecoderStateMachine and nsDecoderStateMachine into a single class. r=roc 2012-11-07 11:33:02 +13:00
Chris Pearce
4c332aefe8 Bug 799344 - Un-templatify nsBuiltinDecoderReader::DecodeToFirstData() so that we don't need to know nsBuiltinDecoderStateMachine's interface in nsBuiltinDecoderReader.h. This means that nsBuiltinDecoderReader.h doesn't need to include nsBuiltinDecoderStateMachine.h when we move the state machine declaration from nsBuiltinDecoder.h to nsBuiltinDecoderStateMachine.h (in a later patch). nsBuiltinDecoderStateMachine.h needs to include nsBuiltinDecoderReader.h, so if nsBuiltinDecoderReader.h needed to include nsBuiltinDecoderStateMachine.h we'd have an include cycle, which is bad. r=roc 2012-11-07 11:33:01 +13:00
Chris Pearce
dee00040c9 Bug 799344 - Remove nsBuiltinDecoder::GetDecodeState(), so that nsBuiltinDecoder doesn't need to know about nsDecoderStateMachine::State. r=roc 2012-11-07 11:33:01 +13:00
Ehsan Akhgari
aefcb09647 Add the missing file for the test in bug 809654 2012-11-08 09:33:12 -05:00
Ehsan Akhgari
ab8bc55c73 Bug 809654 - Implement BiquadFilterNode; r=bzbarsky 2012-11-07 20:59:14 -05:00
Robert O'Callahan
d43a309fc3 Bug 792675. Part 7: Add support for MediaStream URIs to media elements. r=cpearce
--HG--
extra : rebase_source : 1c27fa7038dcdd3ab4e7eac6219b2ed5a6affa4a
2012-09-25 15:25:43 +12:00
Robert O'Callahan
a58b731c33 Bug 792675. Part 6: Extend createObjectURL to support MediaStreams. r=sicking
--HG--
extra : rebase_source : ffec7b146552362b576e88c6dea24d612a5860b9
2012-09-25 15:24:45 +12:00
Robert O'Callahan
7b4c5ebb95 Bug 792675. Part 4: Refactor nsBlobURI/nsBlobProtocolHandler to nsHostObjectURI/nsHostObjectProtocolHandler. r=sicking
The code to handle MediaStream URIs is almost the same as for Blobs, so share it.
nsHostObjectProtocolHandler is modified a bit to simplify method names. Also
we make nsHostObjectProtocolHandler::AddDataEntry take responsibility for
generating the URI to avoid duplicating that code later.
We need separate subclasses for each kind of host object protocol handler,
but we don't need separate subclasses for each kind of host object URI.

--HG--
rename : content/base/public/nsBlobProtocolHandler.h => content/base/public/nsHostObjectProtocolHandler.h
rename : content/base/src/nsBlobProtocolHandler.cpp => content/base/src/nsHostObjectProtocolHandler.cpp
rename : content/base/src/nsBlobURI.cpp => content/base/src/nsHostObjectURI.cpp
rename : content/base/src/nsBlobURI.h => content/base/src/nsHostObjectURI.h
extra : rebase_source : bfb1d7ea2813100a35f9a2054a67584e38f5f330
2012-09-25 15:24:44 +12:00
Ehsan Akhgari
21bc1f2095 Bug 809271 - Implement DynamicsCompressorNode; r=bzbarsky 2012-11-06 20:01:11 -05:00
Ryan VanderMeulen
a330ccbd1e Backout 3f0e69962962, 84a1afc5b15e, c62f225d0dbb, 24870ebc9665, and dd7663e68657 (bug 799344) for mochitest-1 orange. 2012-11-06 19:36:49 -05:00
Chris Pearce
19be3b5c65 Bug 799344 - Remove virtual from media state machine methods, since they're not inherited. r=roc 2012-11-07 11:33:02 +13:00
Chris Pearce
5148e8b330 Bug 799344 - Flatten nsBultinDecoderStateMachine and nsDecoderStateMachine into a single class. r=roc 2012-11-07 11:33:02 +13:00
Chris Pearce
e292595ac4 Bug 799344 - Un-templatify nsBuiltinDecoderReader::DecodeToFirstData() so that we don't need to know nsBuiltinDecoderStateMachine's interface in nsBuiltinDecoderReader.h. This means that nsBuiltinDecoderReader.h doesn't need to include nsBuiltinDecoderStateMachine.h when we move the state machine declaration from nsBuiltinDecoder.h to nsBuiltinDecoderStateMachine.h (in a later patch). nsBuiltinDecoderStateMachine.h needs to include nsBuiltinDecoderReader.h, so if nsBuiltinDecoderReader.h needed to include nsBuiltinDecoderStateMachine.h we'd have an include cycle, which is bad. r=roc 2012-11-07 11:33:01 +13:00
Chris Pearce
ace5511d82 Bug 799344 - Remove nsBuiltinDecoder::GetDecodeState(), so that nsBuiltinDecoder doesn't need to know about nsDecoderStateMachine::State. r=roc 2012-11-07 11:33:01 +13:00
Ed Morley
ad32556a34 Bug 786539 - Disable test_timeupdate_small_files.html on Windows for too many intermittent timeouts 2012-11-06 22:26:03 +00:00
Ehsan Akhgari
46aae97b87 Bug 808876 - Part 1: Implement PannerNode; r=bzbarsky
--HG--
extra : rebase_source : a7b901dcc7758ff9c7a8917a956d0541187fea07
2012-11-05 21:14:13 -05:00
Ehsan Akhgari
543d0a3b54 Backed out changeset ecf0c2a7cb9f (bug 808876) for build bustage 2012-11-05 22:30:08 -05:00
Ehsan Akhgari
45ebdb31e5 Bug 808876 - Implement PannerNode; r=bzbarsky 2012-11-05 21:14:13 -05:00
Ehsan Akhgari
08000c870e Bug 808841 follow-up: Add ThreeDPoint.h 2012-11-05 21:34:31 -05:00
Ehsan Akhgari
0eea5a9900 Bug 808841 - Implement AudioContext.listener; r=bzbarsky 2012-11-05 19:26:03 -05:00
Ehsan Akhgari
1f14e63f36 Bug 808374 - Balance holding and dropping the JS object references for AudioBuffers initialized with 0 channels; r=mmcr8 2012-11-05 13:49:35 -05:00
Robert O'Callahan
85aacde1a1 Bug 787831. Keep TrackIDs instead of Track pointers to guard against Tracks being deleted. r=jesup 2012-11-02 23:42:59 +13:00
Ehsan Akhgari
67d9a2b2ad Bug 807533 - Implement DelayNode; r=bzbarsky
--HG--
extra : rebase_source : 36bb70c9f4b9c86fc1564447a34153d92fe7f347
2012-10-31 20:26:03 -04:00
Benoit Jacob
4e2144c12a Bug 806369 - Stagefright blacklisting. Also extends Android Gfxinfo to support blacklist rules by Android API version, Model, Product, Hardware, Manufacturer - r=joe,doublec 2012-11-01 17:13:10 -04:00
Ehsan Akhgari
7afb9c40d0 Bug 807526 - Implement GainNode; r=bzbarsky 2012-10-31 15:09:32 -04:00
Ehsan Akhgari
da0f0b1bfc Bug 807171 - Implement AudioParam.cancelScheduledValues; r=bzbarsky 2012-10-30 20:12:19 -04:00
Nathan Froyd
e089fcf7fc Bug 807329 - fix AudioEventTimeline.h for compilers that don't support enum classes; r=ehsan 2012-10-31 11:58:42 -04:00
Ehsan Akhgari
a329381db8 Use #include guards in the web audio code, no bug 2012-10-30 17:39:38 -04:00
Nathan Froyd
f9b2a74082 Bug 806618 - rewrite PR_NewLogModule calls to not generate static initializers; r=ehsan 2012-10-29 19:32:10 -04:00
Ehsan Akhgari
2bcb7f9713 Bug 803392 - Initial implementation of AudioParam; r=bzbarsky
This patch implements most of the semantics of AudioParam in a
templatized base class called AudioEventTimeline.  This is done in order
to make it possible to test this code from C++ without the need of
linking to libxul.  Basically we take everything that could depend on
libxul or is not suitable for a genertic implementation and put it in a
traits like type as a template argument.  Then the test creates mock
objects that conform to the argument interfaces, and tests the logic of
AudioEventTimeline.
2012-10-16 21:19:06 -04:00
Robert O'Callahan
a738cb5616 Bug 805703. Part 1: MediaStreamGraph::CreateInputStream -> CreateSourceStream. r=jesup
--HG--
extra : rebase_source : 3c327e9ead92508f12df4b95f2fd24fa2ba97ab5
2012-10-29 17:36:31 +13:00
Robert O'Callahan
9921c0c5fe Bug 805721. Recursively mark streams as consumed starting at the consumption point and working backwards through the graph. r=jesup
--HG--
extra : rebase_source : ba2f2fd4755336bc429ba85cd7296c31fef8aabf
2012-10-29 17:34:17 +13:00
Matt Joras
8835709995 Bug 798033 - Removes 'using namespace' from /content headers - r=bsmedberg 2012-10-27 13:24:04 -04:00
Phil Ringnalda
56c57f466f Back out c25bc74b7fd3 (bug 798033) for build bustage 2012-10-26 19:05:18 -07:00
Matt Joras
5c9750a59e Bug 798033 - Removes 'using namespace' from /content headers - r=bsmedberg 2012-10-14 00:04:51 -05:00
Robert O'Callahan
8be96d5c14 Bug 805771. Don't call NotifyPull after a stream has finished. r=jesup 2012-10-26 13:11:50 -04:00
Robert O'Callahan
7a501020a1 Bug 805254. Part 13: Make nsAudioStream::Write take an AudioDataValue* parameter instead of void. r=kinetik 2012-10-25 23:10:51 +13:00
Robert O'Callahan
8bd04e7aec Bug 805254. Part 12: Simplify AudioSegment::WriteTo and related code now that the output format is known statically. r=kinetik
Also fixes what I think is a bug in InterleaveAndConvertBuffer converting S16 to S16.
Instead of clamping the volume, we should handle arbitrary volumes by falling back
to the float conversion path.
2012-10-25 23:09:41 +13:00
Robert O'Callahan
3fe2b7b13b Bug 805254. Part 11: Move Vorbis-specific definitons into a new file VorbisUtils.h. r=kinetik 2012-10-25 23:09:41 +13:00
Robert O'Callahan
270b79d20e Bug 805254. Part 10: remove MOZ_CONVERT_AUDIO_SAMPLE. r=kinetik 2012-10-25 23:09:40 +13:00
Robert O'Callahan
2bdd5935a5 Bug 805254. Part 9: Get rid of some more #ifdefs in nsWaveDecoder. r=kinetik 2012-10-25 23:09:40 +13:00
Robert O'Callahan
384eb67455 Bug 805254. Part 8: Consolidate audio sample processing code using templates over the format types. r=kinetik
Replace nsAudioStream::Format with an AUDIO_OUTPUT_FORMAT enum value so we
can use it as a template parameter.

Introduce AudioSampleTraits<AudioSampleFormat> to give us access to the C++ type
corresponding to an enum value.

Move SampleToFloat/FloatToSample to AudioSampleFormat.h.

Introduce ConvertAudioSamples and ConvertAudioSamplesWithScale functions
and use them from various places.

Moves AudioDataValue to AudioSampleFormat.h. The name isn't great, but it'll do.
2012-10-25 23:09:40 +13:00
Robert O'Callahan
a0d739c463 Bug 805254. Part 7: Move SampleFormat to mozilla::AudioSampleFormat in its own file. r=kinetik 2012-10-25 23:09:40 +13:00
Robert O'Callahan
272b330f88 Bug 805254. Part 6: Replace some #ifdefs with if statements. r=kinetik
This is largely obsoleted by part 8. Sorry.
2012-10-25 23:09:39 +13:00
Robert O'Callahan
996ea428df Bug 805254. Part 5: Remove format parameter from PAudio constructor. r=kinetik 2012-10-25 23:09:39 +13:00
Robert O'Callahan
11cca22e78 Bug 805254. Part 4: Remove FORMAT_U8 from nsAudioStream::SampleFormat. r=kinetik
We also give nsWaveReader its own separate format enum.
2012-10-25 23:09:39 +13:00
Robert O'Callahan
9daf75897d Bug 805254. Part 3: Remove SampleType. r=kinetik 2012-10-25 23:09:39 +13:00
Robert O'Callahan
6ebf581b9e Bug 805254. Part 2: Rename nsAudioStream::GetFormat() to Format(), make it static, and use it instead of the MOZ_AUDIO_DATA_FORMAT macro. r=kinetik
Part 8 mostly replaces this patch, but it's quite difficult to reorder the patches to avoid this one.
2012-10-25 23:09:38 +13:00
Robert O'Callahan
231bb156a9 Bug 805254. Part 1: Remove mFormat from nsAudioStream. r=kinetik 2012-10-25 23:09:38 +13:00
Ryan VanderMeulen
f9f21d1079 Merge m-c to inbound. 2012-10-25 21:57:47 -04:00
Robert O'Callahan
9174df61e2 Bug 790854. Keep MediaStream alive until MediaStream::Destroy ends. r=jesup 2012-10-26 14:39:05 +13:00
Randell Jesup
c69045b847 Bug 805596: Incorrect audio rates used for fake audio streams r=anant 2012-10-25 20:14:47 -04:00
Robert O'Callahan
54e64ff390 Backout 15c4d6334107 (bug 790854) for test failures 2012-10-26 12:08:38 +13:00
Robert O'Callahan
a7019f243f Bug 790854. Set mMainThreadDestroyed before the stream is destroyed. r=jesup
--HG--
extra : rebase_source : 6b1d2a64b9af082b02a207759f051cb6d7975e35
2012-10-26 11:07:59 +13:00
Randell Jesup
2eb9a9bf7e Bug 803976: Implementation of LocalMediaStreams for .stop() r=roc,anant 2012-10-24 19:21:32 -04:00
Randell Jesup
97d57fb78e Bug 803799: Start gUM streams in Success callback; add MediaManager mutex r=anant,roc 2012-10-24 19:21:15 -04:00
Ehsan Akhgari
28c105ccf5 Backed out changeset ea436c6f7d2d (bug 803799), landed on a CLOSED TREE 2012-10-24 20:30:08 -04:00
Ehsan Akhgari
33b4d241b7 Backed out changeset 165208ecd591 (bug 803976) 2012-10-24 20:29:32 -04:00
Randell Jesup
5d4b72af55 Bug 803976: Implementation of LocalMediaStreams for .stop() r=roc,anant 2012-10-24 19:21:32 -04:00
Randell Jesup
781f490022 Bug 803799: Start gUM streams in Success callback; add MediaManager mutex r=anant,roc 2012-10-24 19:21:15 -04:00
Nick Hurley
e7f284c9d3 Bug 536324 part 3 - Change consumers of nsIChannel. r=sworkman 2012-10-22 10:51:07 -07:00
Randell Jesup
e4efdf3c82 Bug 803535: Add mutex for MediaEngineDefault access, fix cut-and-paste error r=anant 2012-10-19 18:06:18 -04:00
Kan-Ru Chen (陳侃如)
c162c0d48f Bug 791711 - Invalidate again if the SharedImageID was removed. r=nical 2012-10-20 08:18:31 +08:00
Chris Pearce
e51e7f1ce6 Bug 803427 - Correct duration of gizmo.mp4 in media mochitests. r=doublec 2012-10-19 20:09:09 +13:00
Randell Jesup
728f12acfb Bug 803093: Lock access to MediaEngineWebRTC singleton r=anant 2012-10-18 14:03:00 -04:00
Randell Jesup
ca11404fd3 Bug 802661: Clean up getUserMedia MediaStream handling r=roc,anant 2012-10-17 17:40:14 -04:00
Randell Jesup
2614d8891d Bug 801843: Change how video frames are inserted into getUserMedia streams to remove blocking r=roc,anant 2012-10-17 05:46:40 -04:00
Anant Narayanan
ba618700c7 Bug 802411: Refactor MediaEngine to use GIPS singletons; r=jesup 2012-10-16 17:53:55 -07:00
Matthew Gregan
be00aa7981 Bug 789075 - Handle odd sized WebM video frames correctly. r=derf 2012-10-16 16:03:43 +13:00