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
Randell Jesup
d1d511ba1f
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
ad65699768
Bug 801512 - Remove remaining printfs from content/media. r=roc
2012-10-15 16:49:07 +13:00
Randell Jesup
30bd4f980c
Bug 801293 - Remove printf() from MediaStreamGraphImpl. r=roc
2012-10-13 10:46:18 -04:00
Peter Van der Beken
0b7bff61e0
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
e2db6e1941
bug 798595 - remove useless prmem.h includes r=ehsan
2012-10-04 02:14:06 -04:00
Ehsan Akhgari
3239e8a0d5
Bug 579517 follow-up: Remove NSPR types that crept in
2012-10-07 18:26:08 -04:00
Anant Narayanan
62ba9bbbc0
Bug 694807: Implement PeerConnection C++ module; r=jst,jesup,ekr
2012-10-07 01:34:30 -04:00
Anant Narayanan
bfa0d311c8
Bug 792188: Make ChunkIterator public r=jesup
2012-10-07 01:34:30 -04:00
Anant Narayanan
b281255b34
Bug 792188: Add hints to MediaStreams to help with generating signaling r=jesup
2012-10-07 01:34:30 -04:00
Chris Pearce
a7e88603d1
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
a858a862db
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
715fb60a85
Bug 795892 - Add crashtest.
2012-10-04 15:48:51 +13:00
Ehsan Akhgari
7e2287d842
Bug 797150 - Rename AudioBufferSourceNode's noteOn and noteOff to start/stop; r=bzbarsky
2012-10-02 18:15:33 -04:00
Ehsan Akhgari
d7adf52afa
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
5991f5abad
Bug 795892 - Fix CORS listener refcnt in ChannelMediaResource::OpenChannel. r=roc
2012-10-02 18:03:24 +13:00
Anant Narayanan
d1b0968bdf
Bug 794668 - Add fake media stream functionality to getUserMedia; r=jesup
2012-09-28 15:26:00 -07:00
Steve Workman
1de10bcca3
Bug 734546: Add DASH Decoders and Readers r=cpearce r=ted
2012-09-29 16:29:04 -07:00
Steve Workman
b2049ebc9e
Bug 734546: Add full byte range request ability to ChannelMediaResource r=cpearce
2012-09-29 16:29:04 -07:00
Nicolas Silva
59e94ffc9c
Bug 794747 - add a pref for the default size of the VideoQueue. r=kinetik
2012-09-28 13:34:03 -04:00
Isaac Aggrey
0cc4b12d36
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
foudfou
62d7406c52
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
12901c44ef
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
1d675c61d6
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
2012-08-29 17:39:31 +12:00
Ed Morley
5a3b322459
Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE
2012-09-27 16:34:46 +01:00
Matt Woodrow
49d4c24594
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +12:00
Chris Double
6f0babbbfb
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
6a7baca318
Bug 759506 - Add support for zero-copy OMX hardware decoding to B2G r=doublec
2012-09-27 16:33:43 +12:00
Ehsan Akhgari
f8e3b2e4eb
Bug 793294 follow-up: Hold on to JS objects early in AudioBuffer::InitializeBuffers
2012-09-26 11:52:01 -04:00
Ehsan Akhgari
5366306b68
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
c7249a6194
Backout 9d9d8bf66243 (bug 785662) for mochitest-other leaks on Windows
2012-09-25 13:46:25 +01:00
Chris Pearce
fa84d925a0
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
5af5a73d3d
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
dabf591389
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
bb82fda887
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
5bef0f187f
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
bc13a19cb0
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
0539611d52
Bug 791344 - Properly log skipped frames in the NSPR log. r=kinetik
2012-09-18 11:27:32 -07:00
Paul Adenot
4995bf0c54
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
9d98e76815
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
b6f864617f
Backout changeset 7d0776416955 (bug 792646) because of leaks
2012-09-20 19:47:07 -04:00
Ehsan Akhgari
bbd265ce79
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
a0aa06a055
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
c147ce1e22
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
28dc7fce2d
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
b61c37e38a
Bug 734546: Changes to nsBuiltinDecoder etc. in prep for nsDASHDecoder etc. r=cpearce
2012-09-17 16:45:38 -04:00
Steve Workman
b490c256e4
Bug 782457: Add max offset and cues preloading support to nestegg; r=kinetik
2012-09-17 16:45:38 -04:00
Aryeh Gregor
af9017ef04
Bug 791213 - Don't return nsresult from a function that returns bool; r=doublec
2012-09-16 12:19:01 +03:00
Ralph Giles
5fbf150245
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
7c7395ec0b
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
6e36658ee7
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
b1bf75409d
Merge IonMonkey into mozilla-inbound
2012-09-11 16:38:44 -04:00
David Anderson
7397353ad1
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