Commit Graph

1595 Commits

Author SHA1 Message Date
Steve Workman
9374cf3e90 Bug 792404 - Add code to enable adaptive decoder and reader switching for DASH-WebM r=cpearce 2012-12-06 15:27:08 -08:00
Ehsan Akhgari
7661e62a66 Bug 818672 - Implement BufferMediaResource; r=cpearce,roc 2012-11-22 16:44:20 -05:00
Trevor Saunders
f1b73ccb3d bug 801466 - part 3.1 remove some prmem usage from dom/ and content/ r=mounir 2012-12-05 02:55:37 -05:00
Ehsan Akhgari
30e034615a Bug 818291 - MediaDecoder::SetMediaSeekable should not be final; r=cpearce 2012-12-04 17:51:34 -05:00
Ehsan Akhgari
aaece41366 Bug 818294 - Make MediaPluginHost.cpp compile with fail-on-warnings; r=doublec 2012-12-04 17:57:44 -05:00
Mats Palmgren
60ccae9fe3 Bug 817574 - Replace NS_ABS with std::abs. r=roc 2012-12-04 13:33:33 +01:00
Paul Adenot
70f94dbb33 Bug 817403 - Remove the preskip check when playing opus chained file. r=derf 2012-12-03 15:44:26 +01:00
Edwin Flores
e7de57f05e 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
c6edd3abd1 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
5b474300e7 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
e117d96250 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
37ee1aa8dd Bug 455165 - Tests for ogg chain support. r=cpearce 2012-11-30 14:17:55 +01:00
Paul Adenot
aef1de1a87 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
a641c73fd5 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
f2c331d256 Bug 816828 - Implement AudioContext.sampleRate; r=bzbarsky 2012-11-29 22:31:39 -05:00
Jan-Ivar Bruaroey
68777d5651 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
57189361a6 Bug 816143 - Teach AudioStream::EnsureTimeStretcherInitialized() about infallible malloc. r=kinetik 2012-11-29 15:40:57 +01:00
ChangZhuo Chen
7c2606ae5f Bug 778053 - Test case for wave metadata. r=kinetik 2012-10-06 19:32:30 +08:00
ChangZhuo Chen
2b9620ef01 Bug 778053 - Read wave metadata. r=kinetik 2012-10-06 19:33:11 +08:00
Scott Johnson
29411d3842 Bug 812372: Rename DocumentViewerImpl to nsDocumentViewer for consistency. [r=ehsan] 2012-11-28 18:26:39 -06:00
Paul Adenot
c1c81fcc33 Bug 815194 - Remove more ns prefixes on content/media classes + whitespace fixes. r=cpearce 2012-11-28 20:40:07 +01:00
Jacek Caban
0f04abc26f Bug 814708 - Use nsAutoPtr for mTimeStretcher r=padenot
--HG--
extra : rebase_source : 6746cf104eac6b66bec48eb235718ad4d6853905
2012-11-28 17:25:57 +01:00
Ehsan Akhgari
88689f2f34 Merge mozilla-central into mozilla-inbound 2012-11-28 09:43:30 -05:00
Olli Pettay
1e72329799 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
d28bc51cd3 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
a467ca0213 Bug 815825 - Rotate colors in fake video streams, r=jesup 2012-11-27 16:15:55 -08:00
Ehsan Akhgari
8ed79688df 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
cf65547a8e 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
b6dbce0c4e Backed out changeset 704c91d3e7fa (Bug 814789) because of mac build-bustage 2012-11-26 20:34:10 -08:00
Ehsan Akhgari
993cf8162c 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
ed0385c3e4 Bug 812756 - Remove seeking hack from OMX decoder r=cpearce 2012-11-27 17:08:40 +13:00
Ehsan Akhgari
b76ef12ce0 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
28e0b1694e 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é
dd1fda2bbc Bug 814927 - gstreamer builds broken by Bug 814284 [r=ehsan] 2012-11-25 14:39:11 -08:00
Ehsan Akhgari
136a70ea49 Bug 814757 - Export all decoder reader headers; r=cpearce 2012-11-23 14:52:39 -05:00
Thinker K.F. Li
d9bd1c6a6e Bug 805711 - check EOS against audio source for OmxDecoder. r=doublec 2012-11-24 20:25:02 +13:00
Ehsan Akhgari
54bc84b0b4 Bug 814756 - Disambiguate PacketQueue; r=cpearce 2012-11-23 14:47:45 -05:00
Ehsan Akhgari
196e0b24db Bug 814284 - Part 4: Simplify DecoderTraits::ShouldHandleMediaType; r=cpearce 2012-11-22 15:15:47 -05:00
Ehsan Akhgari
90aa17737c Bug 814284 - Part 3: Use CodecListContains anywhere we can; r=cpearce 2012-11-22 14:08:57 -05:00
Ehsan Akhgari
6248361b00 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
e83a5e9f35 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
ec39e2a150 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
5d0b0b630d Bug 495040 - Implement playbackRate and related bits (Fix other tests) r=kinetik 2012-11-22 11:38:29 +01:00
Paul Adenot
5fd4bb0590 Bug 495040 - Implement playbackRate and related bits (Tests) r=kinetik 2012-11-22 11:38:28 +01:00
Paul Adenot
02703184c2 Bug 495040 - Implement playbackRate and related bits r=kinetik 2012-11-22 11:38:28 +01:00
Matthew Gregan
173e3e502c Bug 814292 - Remove mAudioPlaybackThread and AudioStream refcounting. r=cpearce 2012-11-22 16:38:39 +13:00
Thinker K.F. Li
0e74036a49 Bug 810734 - Check EOF to avoid infinite looping when parsing MP4. r=doublec 2012-11-21 22:45:42 -05:00
Ehsan Akhgari
e5a16eb2f0 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
ebafbaa44d 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
75b988e04a 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
630ed49838 Bug 812241 - Remove disabled test warnings. r=khuey 2012-11-20 16:13:04 -08:00
Ralph Giles
5ccf92251b [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
890cc3b945 Bug 815454 - Clean up Traverse/Unlink of web audio. r=smaug 2012-11-27 15:08:22 -08:00
Andrew McCreight
312e1c18f0 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
67bc51cf16 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
ce7dfa7c33 Bug 812937 - Remove unused audio remoting code. r=cjones 2012-11-19 13:54:29 +13:00
Ehsan Akhgari
bc9d059d1b 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
a275e0b1d5 Backed out changeset f76720054116 (bug 813209) because of leaks 2012-11-19 18:15:18 -05:00
Ehsan Akhgari
d33e5a71df 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
fdb6b8fa1b Bug 813210 - Make the threading related assertions in the media decoder fatal; r=cpearce 2012-11-16 17:37:46 -08:00
Ehsan Akhgari
d1434706e8 Bug 813269 - Use double to represent time in Web Audio; r=bzbarsky 2012-11-19 15:52:29 -05:00
Ehsan Akhgari
d5bdac2156 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
07dba69579 Bug 812847 - Validate Opus channel count, r=kinetik 2012-11-18 05:54:52 -08:00
Ehsan Akhgari
80f248ef26 Bug 812572 follow-up - Remove the extra semi-colon 2012-11-17 11:17:56 -05:00
Ehsan Akhgari
9c6f4bfb88 Bug 812572 - Make MediaDecoderReader a non-runnable; r=cpearce 2012-11-16 11:30:34 -08:00
Marco Chen
88788c1c05 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
8dc074cef8 Bug 812390 - Protect against NaN in AudioContext.createDelay; r=bzbarsky 2012-11-15 17:48:04 -08:00
Randell Jesup
52d8acc98e 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
4e788c410e Bug 811695: disable internal socket transports for getUserMedia Audio capture r=derf 2012-11-15 17:58:40 -05:00
Benoit Jacob
a1d7e0f511 Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Benoit Jacob
ee1217da86 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
bfca907d39 No bug, fix struct/class mismatch warnings 2012-11-14 21:38:26 -05:00
Ehsan Akhgari
bb1d6972af Bug 811864 - Remove PannerNode.coneGain/distanceGain; r=bzbarsky 2012-11-14 13:03:24 -08:00
Ehsan Akhgari
d6aa3be16d 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
9abb830db0 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
42d7fd21b1 Bug 811381 - Move media code into mozilla namespace. r=roc 2012-11-14 11:45:33 -08:00
Chris Pearce
43653d0ccc 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
f9e8b1f20a Bug 811381 - Flatten nsMediaDecoder and nsBuiltinDecoder into a single class. r=roc 2012-11-14 11:45:13 -08:00
Randell Jesup
dde7ff9d8c Bug 809554: if a device has no uniqueId, use the name r=derf 2012-11-12 20:46:52 -05:00
Ehsan Akhgari
5c3198f30a Bug 809882 - Disallow non-positive arguments to AudioContext.createDelay; r=bzbarsky 2012-11-08 13:17:22 -05:00
Ehsan Akhgari
f739744839 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
94d2c303e6 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
0704216980 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
12f30adf52 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
f462e42fad 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
dc33e1da54 Bug 799344 - Flatten nsBultinDecoderStateMachine and nsDecoderStateMachine into a single class. r=roc 2012-11-07 11:33:02 +13:00
Chris Pearce
3b143c4c58 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
9ee26e5a65 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
5114440464 Add the missing file for the test in bug 809654 2012-11-08 09:33:12 -05:00
Ehsan Akhgari
19a5f2cb0b Bug 809654 - Implement BiquadFilterNode; r=bzbarsky 2012-11-07 20:59:14 -05:00
Robert O'Callahan
6b2b2ee5c8 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
8e76b2dcac 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
d723594f8f 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
8426704b9f Bug 809271 - Implement DynamicsCompressorNode; r=bzbarsky 2012-11-06 20:01:11 -05:00
Ryan VanderMeulen
4f33e32827 Backout 3f0e69962962, 84a1afc5b15e, c62f225d0dbb, 24870ebc9665, and dd7663e68657 (bug 799344) for mochitest-1 orange. 2012-11-06 19:36:49 -05:00
Chris Pearce
cce841e3bc 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
22fe237724 Bug 799344 - Flatten nsBultinDecoderStateMachine and nsDecoderStateMachine into a single class. r=roc 2012-11-07 11:33:02 +13:00
Chris Pearce
13826e54a7 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
ecd71d8846 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
8eac9457d3 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
5a4f074522 Bug 808876 - Part 1: Implement PannerNode; r=bzbarsky
--HG--
extra : rebase_source : a7b901dcc7758ff9c7a8917a956d0541187fea07
2012-11-05 21:14:13 -05:00
Ehsan Akhgari
3bcb2b8761 Backed out changeset ecf0c2a7cb9f (bug 808876) for build bustage 2012-11-05 22:30:08 -05:00
Ehsan Akhgari
ad84bd3d7f Bug 808876 - Implement PannerNode; r=bzbarsky 2012-11-05 21:14:13 -05:00
Ehsan Akhgari
d537c98fbc Bug 808841 follow-up: Add ThreeDPoint.h 2012-11-05 21:34:31 -05:00
Ehsan Akhgari
448c1c4497 Bug 808841 - Implement AudioContext.listener; r=bzbarsky 2012-11-05 19:26:03 -05:00
Ehsan Akhgari
972faa6f3c 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
0cf4130886 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
41f9f14161 Bug 807533 - Implement DelayNode; r=bzbarsky
--HG--
extra : rebase_source : 36bb70c9f4b9c86fc1564447a34153d92fe7f347
2012-10-31 20:26:03 -04:00
Benoit Jacob
cc10ea918f 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
8ba6137c34 Bug 807526 - Implement GainNode; r=bzbarsky 2012-10-31 15:09:32 -04:00
Ehsan Akhgari
205efbc82f Bug 807171 - Implement AudioParam.cancelScheduledValues; r=bzbarsky 2012-10-30 20:12:19 -04:00
Nathan Froyd
eb508945a4 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
a60888e51d Use #include guards in the web audio code, no bug 2012-10-30 17:39:38 -04:00
Nathan Froyd
bd55a07f0e Bug 806618 - rewrite PR_NewLogModule calls to not generate static initializers; r=ehsan 2012-10-29 19:32:10 -04:00
Ehsan Akhgari
451773ee5b 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
8fe699d05c 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
91a7abe566 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
d1fe98e6b3 Bug 798033 - Removes 'using namespace' from /content headers - r=bsmedberg 2012-10-27 13:24:04 -04:00
Phil Ringnalda
b6c07f4fe7 Back out c25bc74b7fd3 (bug 798033) for build bustage 2012-10-26 19:05:18 -07:00
Matt Joras
cc0bb2727c Bug 798033 - Removes 'using namespace' from /content headers - r=bsmedberg 2012-10-14 00:04:51 -05:00
Robert O'Callahan
c14b6532cb Bug 805771. Don't call NotifyPull after a stream has finished. r=jesup 2012-10-26 13:11:50 -04:00
Robert O'Callahan
981ed9e7ef 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
8d0872c840 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
ac69d1579a 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
b80c14bd5b Bug 805254. Part 10: remove MOZ_CONVERT_AUDIO_SAMPLE. r=kinetik 2012-10-25 23:09:40 +13:00
Robert O'Callahan
d44792d2db 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
4dcad1fa98 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
b1f3765e26 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
d92a1b5efc 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
e0ece2f796 Bug 805254. Part 5: Remove format parameter from PAudio constructor. r=kinetik 2012-10-25 23:09:39 +13:00
Robert O'Callahan
9542499e15 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
9d77102812 Bug 805254. Part 3: Remove SampleType. r=kinetik 2012-10-25 23:09:39 +13:00
Robert O'Callahan
2cbb708232 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
f71993e45d Bug 805254. Part 1: Remove mFormat from nsAudioStream. r=kinetik 2012-10-25 23:09:38 +13:00
Ryan VanderMeulen
d9543c4b84 Merge m-c to inbound. 2012-10-25 21:57:47 -04:00
Robert O'Callahan
77fe33f9cb Bug 790854. Keep MediaStream alive until MediaStream::Destroy ends. r=jesup 2012-10-26 14:39:05 +13:00
Randell Jesup
2546ad6ad0 Bug 805596: Incorrect audio rates used for fake audio streams r=anant 2012-10-25 20:14:47 -04:00
Robert O'Callahan
a01b0389bf Backout 15c4d6334107 (bug 790854) for test failures 2012-10-26 12:08:38 +13:00
Robert O'Callahan
553c22e6e6 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
b7a4ba499c Bug 803976: Implementation of LocalMediaStreams for .stop() r=roc,anant 2012-10-24 19:21:32 -04:00
Randell Jesup
0b36cd32e3 Bug 803799: Start gUM streams in Success callback; add MediaManager mutex r=anant,roc 2012-10-24 19:21:15 -04:00
Ehsan Akhgari
e4097ac608 Backed out changeset ea436c6f7d2d (bug 803799), landed on a CLOSED TREE 2012-10-24 20:30:08 -04:00
Ehsan Akhgari
cab6e9af53 Backed out changeset 165208ecd591 (bug 803976) 2012-10-24 20:29:32 -04:00
Randell Jesup
8865bcac96 Bug 803976: Implementation of LocalMediaStreams for .stop() r=roc,anant 2012-10-24 19:21:32 -04:00
Randell Jesup
491dae523f Bug 803799: Start gUM streams in Success callback; add MediaManager mutex r=anant,roc 2012-10-24 19:21:15 -04:00
Nick Hurley
31985d7fa6 Bug 536324 part 3 - Change consumers of nsIChannel. r=sworkman 2012-10-22 10:51:07 -07:00
Randell Jesup
aed1ba0a24 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 (陳侃如)
b004178115 Bug 791711 - Invalidate again if the SharedImageID was removed. r=nical 2012-10-20 08:18:31 +08:00
Chris Pearce
a7711b5de9 Bug 803427 - Correct duration of gizmo.mp4 in media mochitests. r=doublec 2012-10-19 20:09:09 +13:00
Randell Jesup
890418950c Bug 803093: Lock access to MediaEngineWebRTC singleton r=anant 2012-10-18 14:03:00 -04:00
Randell Jesup
9490a0aea5 Bug 802661: Clean up getUserMedia MediaStream handling r=roc,anant 2012-10-17 17:40:14 -04:00
Randell Jesup
8050a5ddc6 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
8e09a03964 Bug 802411: Refactor MediaEngine to use GIPS singletons; r=jesup 2012-10-16 17:53:55 -07:00
Matthew Gregan
ae0fb47c0a Bug 789075 - Handle odd sized WebM video frames correctly. r=derf 2012-10-16 16:03:43 +13:00
Randell Jesup
bab284d6b8 Bug 773649: Support getting audio and video in the same getUserMedia call r=roc,anant 2012-10-15 16:41:46 -04:00
Matthew Gregan
353d10342c Bug 801512 - Remove remaining printfs from content/media. r=roc 2012-10-15 16:49:07 +13:00
Randell Jesup
7da277fcff Bug 801293 - Remove printf() from MediaStreamGraphImpl. r=roc 2012-10-13 10:46:18 -04:00
Peter Van der Beken
e737736f98 Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - remove nsISupports from AudioContext. r=ehsan.
--HG--
extra : rebase_source : f37b849c020bd9e4bc72e16df71a0241fafb0829
2012-10-09 20:50:26 +02:00
Trevor Saunders
3d3592cd63 bug 798595 - remove useless prmem.h includes r=ehsan 2012-10-04 02:14:06 -04:00
Ehsan Akhgari
c284b98070 Bug 579517 follow-up: Remove NSPR types that crept in 2012-10-07 18:26:08 -04:00
Anant Narayanan
785ec1a331 Bug 694807: Implement PeerConnection C++ module; r=jst,jesup,ekr 2012-10-07 01:34:30 -04:00
Anant Narayanan
e227fa0d40 Bug 792188: Make ChunkIterator public r=jesup 2012-10-07 01:34:30 -04:00
Anant Narayanan
92ad319945 Bug 792188: Add hints to MediaStreams to help with generating signaling r=jesup 2012-10-07 01:34:30 -04:00
Chris Pearce
4afda51dd1 Bug 785662 - Add NS_OpenAnonymousTemporaryFile(), and use it in nsMediaCache::Init(). r=roc
--HG--
rename : xpcom/io/nsMediaCacheRemover.cpp => xpcom/io/nsAnonymousTemporaryFile.cpp
2012-09-25 12:50:30 +12:00
Randell Jesup
123a8599dc Bug 797671: cleanup from importing webrtc.org update r=ted,glandium (Part is bug 778801 r=derf) 2012-10-04 12:09:35 -04:00
Matthew Gregan
dee65c56e1 Bug 795892 - Add crashtest. 2012-10-04 15:48:51 +13:00
Ehsan Akhgari
482a4e003a Bug 797150 - Rename AudioBufferSourceNode's noteOn and noteOff to start/stop; r=bzbarsky 2012-10-02 18:15:33 -04:00
Ehsan Akhgari
707fdff5de Bug 792649 - Make the simplest of Web Audio tests work without audio playback for now; r=bzbarsky 2012-09-24 23:31:58 -04:00
Matthew Gregan
ef15388358 Bug 795892 - Fix CORS listener refcnt in ChannelMediaResource::OpenChannel. r=roc 2012-10-02 18:03:24 +13:00
Anant Narayanan
f7e7e69c9c Bug 794668 - Add fake media stream functionality to getUserMedia; r=jesup 2012-09-28 15:26:00 -07:00
Steve Workman
fd6793666f Bug 734546: Add DASH Decoders and Readers r=cpearce r=ted 2012-09-29 16:29:04 -07:00
Steve Workman
c5ea79ed89 Bug 734546: Add full byte range request ability to ChannelMediaResource r=cpearce 2012-09-29 16:29:04 -07:00
Nicolas Silva
b55038bbf2 Bug 794747 - add a pref for the default size of the VideoQueue. r=kinetik 2012-09-28 13:34:03 -04:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
foudfou
d72827c0aa Bug 785542 - Convert usages of PR_MIN and PR_MAX to NS_MIN and NS_MAX; r=ehsan
Occurences of PR_MAX in layout/style/nsCSSProps.cpp and xpcom/glue/nsTArray.h
can not be converted without C++11 support (constexpr).

--HG--
extra : rebase_source : 3b4f7e26690fad487dd11594449948411d4e79bc
2012-09-27 23:44:47 +02:00
Matt Woodrow
5a14809d04 Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc 2012-08-29 17:47:18 +12:00
Matt Woodrow
958ce7d98d Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Ed Morley
c863356300 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
c73c0db2f1 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Chris Double
c11aeb6b46 Bug 791912 - Fix crash when using libstagefright during video playback shutdown on B2G - r=cpearce 2012-09-27 16:33:43 +12:00
Edwin Flores
78ee3c2d6c Bug 759506 - Add support for zero-copy OMX hardware decoding to B2G r=doublec 2012-09-27 16:33:43 +12:00
Ehsan Akhgari
312412d741 Bug 793294 follow-up: Hold on to JS objects early in AudioBuffer::InitializeBuffers 2012-09-26 11:52:01 -04:00
Ehsan Akhgari
697bec41a5 Bug 793294 - Implement AudioBuffer; r=bzbarsky,smaug
This is the full implementation of the AudioBuffer object.  There are
two ways to create these objects from an audio context and this patch
implements only one of them.

The construction of the AudioBuffer object is a two step process: the
object should be created with operator new first, and then
InitializeBuffers should be called on it.  InitializeBuffers is
fallible, because it uses the JS API to create the underlying typed
arrays, but that's fine, since the length of the buffers comes from web
content, and we don't want to use infallible allocations for those
anyways.

We hold on to the JS objects from the C++ implementation, and trace
through all of those objects, so that a GC does not kill those object
without us knowing.

The buffer should be possible to manipulate from both C++ and JS, and
the C++ object probably needs to support a set of methods for the C++
callers at some point.
2012-09-25 17:58:50 -04:00
Ed Morley
9f14ce22ba Backout 9d9d8bf66243 (bug 785662) for mochitest-other leaks on Windows 2012-09-25 13:46:25 +01:00
Chris Pearce
76b593e69b Bug 785662 - Add NS_OpenAnonymousTemporaryFile(), and use it in nsMediaCache::Init(). r=roc
--HG--
rename : xpcom/io/nsMediaCacheRemover.cpp => xpcom/io/nsAnonymousTemporaryFile.cpp
2012-09-25 12:50:30 +12:00
Bobby Holley
9f03f90fb7 Bug 792036 - Automated fixups. r=mccr8
find /files/mozilla/build/d/_tests/testing/mochitest/tests/ | egrep "\.(xhtml|html|xml|js)$" | grep -v SimpleTest | grep -vi mochikit | grep -v simpleThread | grep -v test_ipc_messagemanager_blob.html | grep -v "indexedDB/test" | xargs grep -l Components |  xargs grep -L enablePrivilege | perl -pe 's#.*mochitest/tests/##' | xargs perl -p -i.bakkk -e 's/Components\.interfaces(\s|;|\.|\[)/SpecialPowers\.Ci$1/g, s/SpecialPowers\.wrap\(Components\)\.(.)(lasses|tils|nterfaces|esults)/SpecialPowers.C$1/g, s/(?<![\.a-zA-Z])Components/SpecialPowers\.Components/g, s/window\.Components/window\.SpecialPowers\.Components/g'
2012-09-24 14:46:29 +02:00
Robert O'Callahan
029e4c3706 Bug 792665. Stop allowing HTMLMediaElement.src = mediaStream, and support HTMLMediaElement.mozSrcObject = mediaStream instead. r=cpearce,jesup
--HG--
extra : rebase_source : 1986b88dc293939055b12ec7065c37dae394af8c
2012-09-24 15:47:30 +12:00
Robert O'Callahan
402b08d6f4 Bug 778682. Part 1: Add NotifyHasCurrentData callback on StreamListener. r=jesup
--HG--
extra : rebase_source : a56fe8ba36639da7638eb590bd9a7a7e65efae95
2012-09-20 12:47:51 +12:00
Ralph Giles
23bb918078 Bug 793315 - Test single tag metadata. r=cpearce
Verify that we return metadata tags from streams with only a
single comment by adding a single comment to a file which
previously had none.

This bug went undetected because all our examples had either
multiple tags, or none.
2012-09-21 13:13:41 -07:00
Paul Adenot
78d5ebb082 Bug 792274 - Don't setup mediastreams in RecreateDecodedStream() if we did not have a mediastream before. r=roc 2012-09-18 22:23:35 -07:00
Paul Adenot
a67963120d Bug 791344 - Properly log skipped frames in the NSPR log. r=kinetik 2012-09-18 11:27:32 -07:00
Paul Adenot
81434b8034 Bug 791344 - Use the right method to build a timestamp from microseconds and properly convert between units. r=kinetik 2012-09-18 11:23:59 -07:00
Ehsan Akhgari
0a35cb68cb Bug 792646 - Implement the skeleton of Web Audio source and destination nodes; r=bzbarsky
This is the bare minimum that one needs in order to get those interfaces
implemented.  The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
2012-09-21 11:33:03 -04:00
Ehsan Akhgari
bc04fdf9fc Backout changeset 7d0776416955 (bug 792646) because of leaks 2012-09-20 19:47:07 -04:00
Ehsan Akhgari
a26464712e Bug 792646 - Implement the skeleton of Web Audio source and destination nodes; r=bzbarsky
This is the bare minimum that one needs in order to get those interfaces
implemented.  The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
2012-09-20 18:05:38 -04:00
Chris Peterson
e941f58f6a Bug 785340 - Part 1: Fix crash where uninitialized nsMediaPluginReader::mHasAudio looked true. r=doublec
--HG--
extra : rebase_source : 0a26ec8c3c511f8f57bb4c86969449bc4e8bbc2f
2012-09-18 17:34:36 -07:00
Ehsan Akhgari
a17cac3016 Bug 788275 - Part 0: Make nsCORSListenerProxy's constructor not cause the object to be destroyed before it is constructed; r=bzbarsky
That is always a nice property to have!
2012-09-18 22:16:23 -04:00
Ralph Giles
f7b40c94e9 Bug 778050 - Support Opus tag metadata. r=derf
Remember parsed comments from the OpusTags header in
an array member variable. Add a method to generate
the nsHTMLMediaElement::MetadataTags hash table from
those entries, performing the same validatation we
do for Vorbis.

This feature is tested by adding the existing opus
test file to gMetadataTests.

IsValidVorbisTagName is moved to a static method
on nsOggCodecState so it can be shared among the
subclasses and easily called externally.

MetadataTags generation for Vorbis streams is moved
to the same method name on nsVorbisState to allow
sharing of the parsing and validation code as much
as possible, since both formats use the same scheme.

It's arguable whether contrustuction better belongs to
nsOggReader or to the nsCodecState subclasses, since in
theory the various multiplexed streams interact in
determining the canonical tag list, but it is the
per-codec streams which contain the metadata in Ogg.
2012-09-17 18:42:36 -04:00
Steve Workman
5d7a8842cc Bug 734546: Changes to nsBuiltinDecoder etc. in prep for nsDASHDecoder etc. r=cpearce 2012-09-17 16:45:38 -04:00
Steve Workman
ac33fb67d7 Bug 782457: Add max offset and cues preloading support to nestegg; r=kinetik 2012-09-17 16:45:38 -04:00
Aryeh Gregor
141b095414 Bug 791213 - Don't return nsresult from a function that returns bool; r=doublec 2012-09-16 12:19:01 +03:00
Ralph Giles
9041e67bc8 Bug 790381 - Remove custom extern "C" on opus_multistream.h. r=derf
Bug 748144 switched our opus decoding to use the
opus_multistream api so we could handle surround
audio files. The version of opus in our tree at
the time didn't include extern "C" {} protection
in the corresponding header, so we had to provide
our own.

With the update to the opus 1.0.0 source release
in bug 790381, this oversight is corrected and
we can remove our work-around.
2012-09-12 16:59:05 -04:00
Ralph Giles
9f35ef22bf Bug 789617 - Test vorbis comment validation. r=cpearce
Add a new test file with some invalid comments and verify
they are filtered out of the mozGetMetadata() output.
The new file includes the following valid edge cases:

 - empty tag name
 - empty tag value
 - punctuation in the tag name

and the following invalid cases:

 - non-ascii tag name
 - invalid characters in tag name
 - non-utf-8 tag value
 - no tag=value separator

Also updates the mochitest messages to be less confusing.
2012-09-10 15:39:23 -07:00
Ralph Giles
44ed4e2811 Bug 789617 - Improve vorbis comment validation. r=cpearce
Verify that tag names are ASCII within the valid character
ranges and that values are UTF-8, skipping comments where
these checks fail.

As written, the check in IsValidVorbisTagName() for the
separator character isn't necessary, because we've already
split on the first occurance. However, it's better to run
the extra check in case the function is reused elsewhere.
2012-09-10 13:49:00 -07:00
Ehsan Akhgari
bf95568d0e Merge IonMonkey into mozilla-inbound 2012-09-11 16:38:44 -04:00
David Anderson
7b438ddde2 Merge IonMonkey to mozilla-central. a=arewefastyet
--HG--
rename : content/base/src/nsWebSocket.cpp => content/base/src/WebSocket.cpp
rename : content/base/src/nsWebSocket.h => content/base/src/WebSocket.h
2012-09-11 10:25:14 -07:00
Rafael Ávila de Espíndola
86f12cace6 Bug 790283 - add newline to the end of two files. r=ehsan. 2012-09-11 13:59:10 -04:00
David Anderson
24145fc9a1 Merge from mozilla-central. 2012-09-10 12:16:38 -07:00
David Anderson
6c5722e35b Merge from mozilla-central. 2012-09-06 18:28:59 -07:00
Ryan VanderMeulen
564bdb74b5 Merge m-c to inbound. 2012-09-05 23:03:09 -04:00
Makoto Kato
c28c020a8f Bug 784912 - nsIStreamListener.onDataAvailable should handle 64-bit offset. r=honza 2012-09-06 11:41:02 +09:00
David Anderson
043ddae94a Merge from mozilla-central.
--HG--
rename : js/jsd/jsd_scpt.c => js/jsd/jsd_scpt.cpp
rename : js/jsd/jsd_stak.c => js/jsd/jsd_stak.cpp
rename : js/jsd/jsd_val.c => js/jsd/jsd_val.cpp
2012-09-05 16:18:11 -07:00
Paul Adenot
1b75b131ca Bug 567077 - Tests for sniffing the types of media files that are served with no Content-Type. r=cpearce 2012-09-04 16:24:34 -07:00
Paul Adenot
1328b09819 Bug 567077 - Avoid sniffing when recreating a channel. r=cpearce 2012-09-04 17:49:46 -07:00
Paul Adenot
2719cc62de Bug 567077 - Sniff types of media files that are served with no Content-Type. r=cpearce 2012-09-04 16:22:34 -07:00
David Anderson
25c3dd55c0 Merge from mozilla-central.
--HG--
rename : js/src/sharkctl.cpp => js/src/devtools/sharkctl.cpp
rename : js/src/sharkctl.h => js/src/devtools/sharkctl.h
rename : js/src/MemoryMetrics.cpp => js/src/jsmemorymetrics.cpp
2012-08-29 17:57:37 -07:00
David Anderson
6b403f94c2 Merge from mozilla-central.
--HG--
rename : content/base/public/nsIFrameMessageManager.idl => content/base/public/nsIMessageManager.idl
2012-08-29 17:51:24 -07:00
Ryan VanderMeulen
07a63bd067 Backout bug 567077 for bustage. 2012-09-05 18:36:38 -04:00
Paul Adenot
fe4b12cd7c Bug 567077 - Tests for sniffing the types of media files that are served with no Content-Type. r=cpearce 2012-09-04 16:24:34 -07:00
Paul Adenot
bdab14e35c Bug 567077 - Avoid sniffing when recreating a channel. r=cpearce 2012-09-04 16:24:12 -07:00
Paul Adenot
cce500079e Bug 567077 - Sniff types of media files that are served with no Content-Type. r=cpearce 2012-09-04 16:22:34 -07:00
Paul Adenot
a8a6b828f5 Bug 730765 - Media cache shouldn't be used when loading from blob: urls. r=biesi 2012-09-04 14:53:52 -07:00
Siddharth Agarwal
6e3e5ab3cb Merge mozilla-central to mozilla-inbound. 2012-08-29 20:41:03 +05:30
Ed Morley
8a2d0d11e2 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-08-29 14:35:19 +01:00
Chris Pearce
ce03c78256 Bug 785909 - Don't init FileMediaResource::mSize on the main thread. r=roc 2012-08-29 15:55:57 +12:00
Matthew Gregan
7f1be93029 Bug 785967 - Reject Wave files with invalid data block size in the format chunk. r=doublec 2012-08-28 18:21:58 +12:00
Ed Morley
2b2533f754 Bug 752796 - Disable test_streams_element_capture{,_reset}.html on Windows for too many timeouts. r=kinetik 2012-08-28 12:59:33 +12:00
David Anderson
188c88907e Merge from mozilla-central. 2012-08-22 16:09:24 -07:00
David Anderson
1ef4c57410 Merge from mozilla-central. 2012-08-21 15:59:12 -07:00
Michael Wu
d165dedcc9 Bug 694484 - OpenSL backend for libcubeb, r=kinetik 2012-09-04 17:45:08 -03:00
Chris Double
90e10cebf3 Bug 783927 - Handle zero length audio reads in stagefright backend to fix audio issues - r=cpeterson 2012-08-21 17:03:21 +12:00
David Zbarsky
fbb04700b6 Bug 784004 - Don't include Layers.h everywhere Part 3 r=nical 2012-08-21 00:06:46 -04:00
David Anderson
6fe112e8bf Merge from mozilla-central. 2012-08-15 14:22:26 -07:00
David Anderson
a31e5baded Merge from mozilla-central. 2012-08-14 12:20:09 -07:00
Ehsan Akhgari
805b10b6d6 Merge removal of nsnull 2012-08-14 11:29:00 -04:00
David Anderson
7ef28ac5ac Merge from mozilla-central. 2012-08-13 13:40:42 -07:00
Aryeh Gregor
6a9cec29c8 Bug 626472 part 3 - Remove nsnull for good; r=ehsan 2012-08-12 13:43:47 +03:00
David Anderson
efd9a9feee Merge from mozilla-central. 2012-08-10 14:50:20 -07:00
Alexandros Chronopoulos
b42d0e9db4 Bug 748144 - Support multichannel Opus files. r=rillian
The Opus audio format supports multichannel (surround) audio, but our initial implementation used a simpler API which only supported mono and stereo output.

To handle these files gracefully, this patch uses the multichannel api and downmixes the output, if possible, to stereo, since we don't currently support surround sound playback.
2012-08-09 15:53:23 -07:00
Honza Bambas
541453729c Bug 215450: Allow uploading of files greater than 2gb in size. Involves making input streams 64-bit capable. Significant work done by Makoto Kato, finished by Honza Bambas. r=hbambas,bsmedberg,jdrew,sicking 2012-08-10 22:44:11 -04:00
David Anderson
b620fb6c5c Merge from mozilla-central. 2012-08-09 13:41:13 -07:00
Ed Morley
61bd42dc2d Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-08-09 12:46:05 +01:00
Ms2ger
26217245c9 Bug 780387 - Part f: Stop using PRBool & PRPackedBool; r=bsmedberg 2012-08-09 09:10:13 +02:00
David Anderson
c9ca5124db Merge from mozilla-central. 2012-08-08 15:09:49 -07:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Paul Adenot
15058d402d Bug 730765 - Media cache shouldn't be used when loading from blob: urls. r=biesi 2012-08-21 16:00:23 -07:00
Ehsan Akhgari
7a743fcc5b Bug 784536 - Use the name of the enum value directly as opposed to access it from the enum's scope; r=dzbarsky 2012-08-21 19:06:50 -04:00
Ryan VanderMeulen
351d01c8ff Backout 3ce94808577b, 56f288230d5a, and 18ff170ecb1f (bug 730765) for bustage. r=fail 2012-08-21 18:45:54 -04:00
Paul Adenot
7751daec1e Bug 730765 - Media cache shouldn't be used when loading from blob: urls. r=biesi 2012-08-15 10:36:12 -07:00
Paul Adenot
9670c86dc2 Bug 775319 - Determine the sample format at compile time for all media code. r=kinetik 2012-08-16 18:10:36 -07:00