Граф коммитов

1199 Коммитов

Автор SHA1 Сообщение Дата
Ehsan Akhgari c3978f0b7a Merge mozilla-central into mozilla-inbound 2012-07-19 08:44:19 -04:00
Jacek Caban c51d30b89c Bug 472799 - Undefine GetCurrentTime in nsDOMMediaStream.h r=cpearce 2012-07-19 11:58:48 +02:00
Nathan Froyd bfff055672 Bug 370750 - consolidate mochitest files installation; r=glandium
With assistance on the patch from Ms2ger, Waldo, and Mossop.
2012-07-03 16:49:02 -04:00
David Anderson 57a3d866e4 Merge from mozilla-central. 2012-06-28 15:17:18 -07:00
Chris Pearce a9821c5977 Bug 762191 - Make video controls mute/volume widgets do nothing if the video doesn't have audio. r=jaws 2012-06-28 17:31:09 +12:00
David Anderson 3fe736b4c3 Merge from mozilla-central. 2012-06-27 11:00:48 -07:00
Kan-Ru Chen (陳侃如) 1d4714c9e2 Bug 767480 - Remove offset field from PlanarYCbCrImage::Data. r=roc 2012-08-26 00:22:51 -03:00
Ralph Giles 585c620ea4 Bug 766331 - Don't rescan old data for Ogg timestamps - r=cpearce
nsOggReader::RangeEndTime() relied on CRC values from valid ogg
pages to keep track of already-searched data when looking for a
end timestamp. This caused quadratic behaviour searching in a
section of a file with no valid pages.

Instead, remember where we last looked, and backoff immediately
if we go more than the maximum length of a page into previously
scanned data. This avoids searching data we've eliminated as
containing valid Ogg pages and lets us search backward with O(N)
instead.
2012-06-25 09:38:56 -07:00
Robert O'Callahan 848225050b Bug 771135. Add MediaStreamListener::NotifyPull to give SourceMediaStream generators an easy way to implement pulling data from some source. r=jesup 2012-07-20 12:36:03 -07:00
Anant Narayanan d41330f695 Bug 691234: Part 1/3: Move MediaEngine files and tweak interface; r=roc
--HG--
rename : content/media/MediaEngine.h => content/media/webrtc/MediaEngine.h
rename : content/media/MediaEngineDefault.cpp => content/media/webrtc/MediaEngineDefault.cpp
rename : content/media/MediaEngineDefault.h => content/media/webrtc/MediaEngineDefault.h
2012-06-19 17:29:43 -07:00
Anant Narayanan 20d43d9e1a Backout 431ab4d097c9, bustage 2012-07-11 21:51:20 -07:00
Anant Narayanan 62a0ced060 Backout 431ab4d097c9, bustage 2012-07-11 21:45:20 -07:00
Anant Narayanan d805eafb1e Backout 038e89521330, bustage 2012-07-11 21:44:16 -07:00
Anant Narayanan 349d01778e Bug 691234: Part 2/3: Implement WebRTC backend for MediaEngine on Desktop; r=jesup, r=roc 2012-07-11 21:22:24 -07:00
Anant Narayanan 31deb2aeba Bug 691234: Part 1/3: Move MediaEngine files and tweak interface; r=roc
--HG--
rename : content/media/MediaEngine.h => content/media/webrtc/MediaEngine.h
rename : content/media/MediaEngineDefault.cpp => content/media/webrtc/MediaEngineDefault.cpp
rename : content/media/MediaEngineDefault.h => content/media/webrtc/MediaEngineDefault.h
2012-06-19 17:29:43 -07:00
Makoto Kato 17d5fc9a84 Bug 777304 - Don't use freed pointer after destructor of NS_ConvertUTF16toUTF8. r=bsmedberg 2012-07-27 12:13:51 +09:00
Bugmenot 79907c742a Bug 777166 - Use CFLAGS from pkgconfig for system libvpx, r=derf
From c445b9ab36a0c79aa1be2dfbd91438e994bccb4e Mon Sep 17 00:00:00 2001
---
 config/autoconf.mk.in          | 2 +-
 configure.in                   | 8 +++++---
 content/media/webm/Makefile.in | 2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)
2012-07-25 19:54:23 +00:00
David Zbarsky c6b51c42c1 Bug 778519 - Don't include Layers.h everywhere Part 2 r=cjones 2012-07-30 17:42:26 -07:00
Ralph Giles cc925b4965 Bug 763010 - Add a mochitest for mozGetMetadata(). r=cpearce
Add a few Ogg files which have non-trivial tag metadata in their Vorbis streams, and verify they are returned correctly by the media.mozGetMetadata() extention.

Add a file with no comments to test {} output as well.

Verify that mozGetMetadata() throws an InvalidStateError if called immediately, before the loadedmetadata event fires.
2012-07-30 20:14:29 -04:00
Ralph Giles edf533c3f1 Bug 763010 - Expose media element metadata. r=cpearce
Implements a media.mozGetMetadata() method returning a new javascript object whose properties are key value pairs respresenting metadata tags from the media resource. This data is available after readystate enters METADATA_LOADED.

Currently this is only implemented for Ogg Vorbis streams.

Media format metadata is parsed out by the media decoders. In the nsCodecStateMachine::ReadMetadata subclasses we fill in an nsDataHashtable pointer using the format-specifc api.

The hash pointer is passed up to the media element as part of the MetadataLoaded event.

The hash is deleted if the load is aborted. The audio metadata is also reset to zero (as in the constructor), resolving a todo comment.
2012-07-30 20:14:29 -04:00
Aryeh Gregor c81630fddb Bug 777292 - Convert incorrect conversions to nsresult and fix named constants; r=ehsan 2012-07-27 16:59:29 +03:00
Landry Breuil a195799c2e Bug 777696: Fix gstreamer backend on big endian architectures. r=doublec 2012-07-30 17:57:15 +02:00
Ehsan Akhgari 3ad40dbf10 Merge the nullptr conversion from mozilla-central into mozilla-inbound 2012-07-30 10:28:15 -04:00
Aryeh Gregor ec8b263a28 Bug 777292 - Annotate some incorrect conversions to nsresult; r=ehsan 2012-07-27 17:03:25 +03:00
David Anderson 1222b46c77 Merge from mozilla-central.
--HG--
extra : rebase_source : 521cbf2f434cad88106f32be797faae4861afc39
2012-06-25 13:09:36 -07:00
Aryeh Gregor 4e199a1679 Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Matthew Gregan 6b1e13ca20 Bug 596453 - Fix typo in test_error_on_404.
--HG--
extra : rebase_source : b9d8a71051c06a17d59ba321e2c62c095fa917b8
2012-08-24 11:51:37 +12:00
Robert O'Callahan 956807114f Bug 779715. Part 8: Make it safe to call MediaInputPort::Destroy after streams at both ends of the port have been destroyed. r=jesup
We had problems because we'd call Destroy on a port after calling Destroy on
its streams. This patch makes the port's Destroy ControlMessage not use a stream,
instead we get the stream from the port directly. It also makes us update the
graph's mPortCount only when the port is finally destroyed; this fixes a potential
bug where the current graph could shut down when all streams are removed, before
all ports have been completely destroyed.

--HG--
extra : rebase_source : 3245fa64b79fb8a75c17190f1a4a2af6d42a5012
2012-08-24 00:46:20 +12:00
Robert O'Callahan 967993ede3 Bug 779715. Part 7: Update test_streams_element_capture_reset.html to test new functionality. r=cpearce
test_streams_element_capture_reset.html is updated to test that mozCaptureStreamUntilEnded actually stops
capturing when the stream ends. It also tests that seeking and reloading the media resource keep
feeding a mozCaptureStream stream, and feed the right amount of data.

--HG--
extra : rebase_source : 07faf20b8a99b5e7dcdfb27b3a2096fdfd570f45
2012-08-20 16:57:12 +12:00
Robert O'Callahan 86a06f0022 Bug 779715. Part 6: Rework capturing MediaStreams from media elements to use TrackUnionStreams. r=cpearce,jesup
Moves to a new setup where a decoder manages a single SourceMediaStream internally. Each stream
returned from mozCaptureStream(UntilEnded) is a TrackUnionStream which is fed by the
decoder's SourceMediaStream.
We want the captured streams to be blocked while the media element is not playing. We do that
by blocking any captured stream that has no SourceMediaStream feeding into it, and blocking
any SourceMediaStream while its decoder is not playing.
We arrange for the decoders's PlaybackEnded to be delayed until its SourceMediaStream has
finished according to the media stream graph. This ensures the state of captured media streams
corresponds more closely to the media element state.

--HG--
extra : rebase_source : 3324ff0e9bdce9c71a23c0f5f2032815e9046081
2012-08-01 00:17:22 +12:00
Chris Double 29ecf269e0 Backout bug 730765 Part 3/3
--HG--
extra : rebase_source : 2aadbb2419cceeac30bd95484e37ab905525662f
2012-08-24 00:12:53 +12:00
Chris Double 45b8eeefcf Backed out changeset 5583ccdfea18 2012-08-23 22:42:14 +12:00
Chris Peterson 4a85efd4dd Bug 785536 - Add PluginHost->GetPref() so platform decoders can query about:config prefs. r=doublec 2012-08-24 14:20:39 -07:00
Robert O'Callahan cadbd41367 Bug 752796. More logging. r=jesup 2012-06-22 22:51:04 +12:00
Mounir Lamouri ac94d1c7d7 Back out bug 766007, bug 703241 and bug 752796 due to perma-orange (419f0d1b848b to 8661c74deeb5). 2012-06-22 11:13:32 +02:00
Robert O'Callahan 0bab9abce7 Bug 752796. Add a bit more logging. r=jesup 2012-06-22 17:07:41 +12:00
Paul Adenot d410b161f0 Bug 761419 - Build failure in content/media/gstreamer/nsGStreamerReader.cpp when using clang r=kinetik 2012-06-21 20:44:39 -04:00
David Anderson 2e039591ee Merge from mozilla-central.
--HG--
rename : js/xpconnect/src/XPCThreadContext.cpp => js/xpconnect/src/XPCJSContextStack.cpp
2012-06-22 14:26:15 -07:00
David Anderson 99dd2a9400 Merge from mozilla-central.
--HG--
rename : accessible/src/msaa/CAccessibleText.cpp => accessible/src/msaa/ia2AccessibleText.cpp
rename : accessible/src/msaa/CAccessibleText.h => accessible/src/msaa/ia2AccessibleText.h
2012-06-20 17:36:56 -07:00
David Anderson 0dd273f1b9 Merge from mozilla-central. 2012-06-15 15:23:58 -07:00
David Anderson b974a76383 Merge from mozilla-central.
--HG--
rename : accessible/src/html/nsHTMLTableAccessible.cpp => accessible/src/html/HTMLTableAccessible.cpp
rename : accessible/src/html/nsHTMLTableAccessible.h => accessible/src/html/HTMLTableAccessible.h
rename : accessible/src/xul/nsXULAlertAccessible.cpp => accessible/src/xul/XULAlertAccessible.cpp
rename : accessible/src/xul/nsXULAlertAccessible.h => accessible/src/xul/XULAlertAccessible.h
rename : accessible/src/xul/nsXULColorPickerAccessible.cpp => accessible/src/xul/XULColorPickerAccessible.cpp
rename : accessible/src/xul/nsXULColorPickerAccessible.h => accessible/src/xul/XULColorPickerAccessible.h
rename : accessible/src/xul/nsXULComboboxAccessible.cpp => accessible/src/xul/XULComboboxAccessible.cpp
rename : accessible/src/xul/nsXULComboboxAccessible.h => accessible/src/xul/XULComboboxAccessible.h
rename : accessible/src/xul/nsXULMenuAccessible.cpp => accessible/src/xul/XULMenuAccessible.cpp
rename : accessible/src/xul/nsXULMenuAccessible.h => accessible/src/xul/XULMenuAccessible.h
rename : accessible/src/xul/nsXULSliderAccessible.cpp => accessible/src/xul/XULSliderAccessible.cpp
rename : accessible/src/xul/nsXULSliderAccessible.h => accessible/src/xul/XULSliderAccessible.h
rename : accessible/src/xul/nsXULTabAccessible.cpp => accessible/src/xul/XULTabAccessible.cpp
rename : accessible/src/xul/nsXULTreeAccessible.cpp => accessible/src/xul/XULTreeAccessible.cpp
rename : accessible/src/xul/nsXULTreeAccessible.h => accessible/src/xul/XULTreeAccessible.h
rename : accessible/src/xul/nsXULTreeGridAccessible.cpp => accessible/src/xul/XULTreeGridAccessible.cpp
rename : accessible/src/xul/nsXULTreeGridAccessible.h => accessible/src/xul/XULTreeGridAccessible.h
2012-06-12 17:44:22 -07:00
Jan de Mooij 73e00c8b3b Merge m-c to ionmonkey
--HG--
rename : accessible/src/html/nsHTMLSelectAccessible.cpp => accessible/src/html/HTMLSelectAccessible.cpp
rename : accessible/src/html/nsHTMLSelectAccessible.h => accessible/src/html/HTMLSelectAccessible.h
rename : memory/jemalloc/jemalloc.c => memory/mozjemalloc/jemalloc.c
rename : memory/jemalloc/jemalloc.h => memory/mozjemalloc/jemalloc.h
2012-06-08 11:18:39 +02:00
Matthew Gregan 1fc0488427 Bug 723860 - Early bail from reader's GetBuffered() if not yet initialized. r=doublec 2012-06-06 17:58:07 +12:00
Paul Adenot b0f37bebdc Bug 760336 - Set nsBuiltinDecoderStateMachine::mBufferingWait to be seconds instead of milliseconds r=chris.double 2012-06-07 11:43:25 +12:00
Paul Adenot 54b22ecf27 Bug 761708 - Wrong |played| value when seeking back in the media. r=chris.double 2012-06-07 11:43:13 +12:00
Sean Stangl 391254ef46 Merge m-c to Ionmonkey.
--HG--
rename : accessible/src/base/nsBaseWidgetAccessible.h => accessible/src/generic/BaseAccessibles.h
rename : accessible/src/html/nsHTMLImageMapAccessible.cpp => accessible/src/html/HTMLImageMapAccessible.cpp
rename : accessible/src/html/nsHTMLLinkAccessible.cpp => accessible/src/html/HTMLLinkAccessible.cpp
rename : accessible/src/html/nsHTMLLinkAccessible.h => accessible/src/html/HTMLLinkAccessible.h
2012-06-05 16:54:36 -07:00
Ms2ger 02a7eb4e87 Bug 760156 - Cleanup LOCAL_INCLUDES in content/media/; r=sicking
This patch makes it possible to include nsGenericHTMLElement.h without adding
to LOCAL_INCLUDES.
2012-06-06 09:40:02 +02:00
Geoff Lankow 5cefea8480 Bug 749930 - Replace uses of nsILocalFile with nsIFile (compiled code only); r=bsmedberg 2012-06-06 14:08:30 +12:00
Sean Stangl 4b4e7df6c1 Merge m-c to Ionmonkey.
--HG--
rename : accessible/src/html/nsHyperTextAccessible.cpp => accessible/src/generic/HyperTextAccessible.cpp
rename : accessible/src/html/nsHyperTextAccessible.h => accessible/src/generic/HyperTextAccessible.h
rename : accessible/src/html/nsHTMLImageAccessible.cpp => accessible/src/generic/ImageAccessible.cpp
rename : accessible/src/html/nsHTMLImageAccessible.h => accessible/src/generic/ImageAccessible.h
rename : accessible/src/msaa/nsHyperTextAccessibleWrap.cpp => accessible/src/msaa/HyperTextAccessibleWrap.cpp
rename : accessible/src/msaa/nsHyperTextAccessibleWrap.h => accessible/src/msaa/HyperTextAccessibleWrap.h
2012-06-04 13:30:29 -07:00
Stephen Moehle 44fadb2cef Bug 760899 - Fix debug builds with gstreamer enabled - r=kinetik
--HG--
extra : rebase_source : 22598bc470d35d94991ea9f1b14df11ba19a461a
2012-06-05 11:32:36 +12:00
Stephen Moehle b678bd5e17 Bug 761030 - Fix crash with HTML 5 video with GStreamer enabled - r=kinetik
--HG--
extra : rebase_source : 5e884550f9870bd2fda247d50bebd472e8368588
2012-06-05 11:31:13 +12:00
Sean Stangl 169aba0505 Merge m-c onto Ionmonkey.
--HG--
rename : accessible/src/atk/nsAccessibleWrap.cpp => accessible/src/atk/AccessibleWrap.cpp
rename : accessible/src/atk/nsAccessibleWrap.h => accessible/src/atk/AccessibleWrap.h
rename : accessible/src/atk/nsDocAccessibleWrap.h => accessible/src/atk/DocAccessibleWrap.h
rename : accessible/src/base/nsAccessible.cpp => accessible/src/generic/Accessible.cpp
rename : accessible/src/base/nsAccessible.h => accessible/src/generic/Accessible.h
rename : accessible/src/base/nsDocAccessible.cpp => accessible/src/generic/DocAccessible.cpp
rename : accessible/src/base/nsDocAccessible.h => accessible/src/generic/DocAccessible.h
rename : accessible/src/mac/nsAccessibleWrap.h => accessible/src/mac/AccessibleWrap.h
rename : accessible/src/mac/nsAccessibleWrap.mm => accessible/src/mac/AccessibleWrap.mm
rename : accessible/src/mac/nsDocAccessibleWrap.h => accessible/src/mac/DocAccessibleWrap.h
rename : accessible/src/mac/nsDocAccessibleWrap.mm => accessible/src/mac/DocAccessibleWrap.mm
rename : accessible/src/msaa/nsAccessibleWrap.cpp => accessible/src/msaa/AccessibleWrap.cpp
rename : accessible/src/msaa/nsDocAccessibleWrap.cpp => accessible/src/msaa/DocAccessibleWrap.cpp
rename : accessible/src/msaa/nsTextAccessibleWrap.cpp => accessible/src/msaa/TextLeafAccessibleWrap.cpp
rename : accessible/src/msaa/nsTextAccessibleWrap.h => accessible/src/msaa/TextLeafAccessibleWrap.h
rename : netwerk/protocol/http/SpdySession.cpp => netwerk/protocol/http/SpdySession2.cpp
rename : netwerk/protocol/http/SpdySession.h => netwerk/protocol/http/SpdySession2.h
rename : netwerk/protocol/http/SpdySession.cpp => netwerk/protocol/http/SpdySession3.cpp
rename : netwerk/protocol/http/SpdySession.h => netwerk/protocol/http/SpdySession3.h
rename : netwerk/protocol/http/SpdyStream.cpp => netwerk/protocol/http/SpdyStream2.cpp
rename : netwerk/protocol/http/SpdyStream.cpp => netwerk/protocol/http/SpdyStream3.cpp
2012-05-31 17:17:52 -07:00
Ralph Giles ab5cec5feb Bug 758833 - Track and trim opus preskip samples - r=doublec
We trim the initial few samples out of the opus decoder,
to give the output time to converge, and to correct for
the encoding delay. Encoders store the delay in the preskip
field of the Ogg encapsulation header.

The previous code to do this was a hack based on the granulepos
values and could fail on some inputs. Instead, keep a count
of how many samples we want to trip, and remove packet data
until that value matches the preskip value from the header.

The value is set to the preskip value from the header when
the decoder is initialized. We also need to do this after
seek. To do this we add a specialized nsOggReader::ResetDecode
method which takes a boolean argument, set to true when
we are seeking to the start of the stream. In that case,
the method resets the skip count.

There is still an issue after general seeks. The spec recommends
trimming a full 80 ms (3840 frames) to allow the decoder to fully
settle from the previous state. It's tricky to do this inside
nsOpusState because it doesn't know where it is in the stream.

Also add some debug output to track the decode behaviour.
2012-05-31 16:03:14 +12:00
Abhishek Bhatnagar 9390e07514 Bug 500784 - Video/Audio files over 2^31 bytes now return proper durations; r=cpearce
--HG--
extra : rebase_source : 219872db85890a3358456dde226a29595e738f1b
2012-05-31 14:33:15 +12:00
Chris Double 4cd33c92cc Bug 758481 - When seeking in an unbuffered range after having ended a media, networkState is NETWORK_IDLE r=chris.double
--HG--
extra : rebase_source : e62887187ed20ad6e832bd0211c50392759bb321
2012-05-31 14:30:23 +12:00
Ed Morley 865fc92be0 Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms 2012-06-11 10:08:32 +01:00
Matt Woodrow cee7c9d24b Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Michael Wu c76fdd881b Bug 759013 - Convert more makefiles to use TEST_DIRS, r=khuey 2012-05-27 23:25:22 -04:00
Ehsan Akhgari 2050b687cc Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (content parts); r=bzbarsky
--HG--
extra : rebase_source : e25a064995914ca4f7b1db16b5725eb440d3e531
2012-06-18 22:30:09 -04:00
David Anderson 18fd5e63bd Merge from mozilla-central. 2012-05-23 14:33:15 -07:00
David Anderson edaeadf3ad Merge from mozilla-central. 2012-05-21 14:40:04 -07:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Joel Maher 1d18a6bd56 Bug 761125 - change mochitests to run all tests except excludedtests in android.json. r=jgriffin 2012-06-14 09:01:23 -04:00
Mounir Lamouri 53ff1be28b Backing out bug 738528 pushed without a peer review and with wrong authorship. 2012-06-04 10:57:42 +02:00
Doug Turner 06a737bec1 Bug 738528: Android still image for getUserMedia; r=fabrice 2012-05-31 10:28:04 -07:00
Timothy B. Terriberry 727dece7cd Bug 750231 - Use larger stacks on the media decoder threads with ASAN, r=kinetik 2012-06-03 12:43:09 -07:00
Anant Narayanan 025e433abb Bug 752353: DOM bindings for getUserMedia; r=jst
--HG--
rename : content/media/nsIDOMMediaStream.idl => dom/media/nsIDOMMediaStream.idl
2012-06-03 00:35:15 -07:00
Anant Narayanan 3b45c487d8 Bug 752351: Implement fallback media engine; r=jesup 2012-06-03 00:34:40 -07:00
Anant Narayanan d108617f33 Bug 750943: Abstract media engine interface for devices; r=jesup 2012-06-03 00:34:02 -07:00
Timothy B. Terriberry 2586d036c2 Bug 752661 - Make ReadMetadata() fail when there are no active Ogg streams, r=kinetik 2012-06-02 06:29:44 -07:00
Mats Palmgren 5bfa4e648c Bug 760325 - Report all events after 'ended' as test failures, except when removing the element we ignore timeupdate/pause/stalled events. Use info() for logging, not ok(). r=roc 2012-06-01 20:52:37 +02:00
Mats Palmgren 43d4307d43 Bug 759801 - Remove the 'timeupdate' event listener when the test is done. r=philor 2012-06-01 20:52:37 +02:00
David Anderson 693dcc5c78 Merge from mozilla-central.
--HG--
rename : xpcom/ds/CheckedInt.h => mfbt/CheckedInt.h
2012-05-16 15:39:10 -07:00
Gervase Markham 68d38d677f Bug 759095 - upgrade license to MPL 2, and other licensing cleanups.
--HG--
extra : rebase_source : da55a4937383eda2baf7c9a362501da8ee664146
2012-05-29 16:52:43 +01:00
David Anderson 1a6b8bf093 Merge from mozilla-central. 2012-05-15 10:22:19 -07:00
Robert O'Callahan 15f3a72f0a Bug 750769. Add more logging. r=cpearce 2012-05-15 17:57:29 +12:00
Robert O'Callahan ecaecd6ba5 Bug 750769. Clarify that mNextState can only be PLAY_STATE_PAUSED or PLAY_STATE_PLAYING. r=cpearce 2012-05-15 17:57:23 +12:00
Robert O'Callahan b8882db92d Bug 750769. Clarify thread-safety guarantees around mPlayState and mNextState. r=cpearce 2012-05-15 17:57:17 +12:00
David Anderson 4011fd848c Merge from mozilla-central. 2012-05-14 12:10:12 -07:00
David Anderson c093e3fa4d Merge from mozilla-central. 2012-05-11 14:35:58 -07:00
Christopher De Cairos ed660ec50d Bug 726904: Make nsVideoFrame::GetVideoIntrinsicSize return the video size before the poster size. r=cpearce 2012-05-11 20:32:15 +12:00
David Anderson 8b04af0f47 Merge from mozilla-central. 2012-05-10 13:44:10 -07:00
David Anderson 2b77aeb9b1 Merge from mozilla-central. 2012-05-09 12:31:01 -07:00
Randell Jesup eaa1af326d Bug 752784: protect against media not having a track of the required type r=roc 2012-05-09 01:53:49 -04:00
David Anderson 68a2caab6c Merge from mozilla-central. 2012-05-08 17:34:07 -07:00
David Anderson 500c4ec73e Merge from mozilla-central.
--HG--
rename : accessible/src/base/nsRootAccessible.cpp => accessible/src/generic/RootAccessible.cpp
rename : accessible/src/base/nsRootAccessible.h => accessible/src/generic/RootAccessible.h
rename : js/src/jsgcmark.cpp => js/src/gc/Marking.cpp
rename : js/src/jsgcmark.h => js/src/gc/Marking.h
2012-05-04 19:16:35 -07:00
Robert O'Callahan 85e5c636c9 Bug 758583. Must acquire SourceMediaStream lock before MediaStreamGraph lock. r=jesup 2012-05-29 21:10:45 +12:00
Robert O'Callahan 6cb457b967 Bug 752796. Ensure that stream-finished notifications aren't accidentally dropped. r=jesup 2012-05-28 23:58:34 +12:00
David Anderson d1f7c1b50b Merge from mozilla-central. 2012-05-03 11:40:52 -07:00
Ralph Giles 9038c5e7f0 Bug 757600 - Update the Opus version field parser. r=cpearce
On 2012 May 10, the Ogg encapsulation spec for Opus at
https://wiki.xiph.org/OggOpus bumped the version number
from zero to one. The one-byte field is also now notionally
split into major and minor subfields, with incompatible
changes signalled by the major field.

We update nsOpusState::DecodeHeader to parse the version
field separately from the stream identification and reject
any stream where the high four bits of the version field
is non-zero.

The opus-tools repo was updated 2012 May 22 to set with
version = 1. This commit enables playback of those files.
2012-05-22 20:21:46 -04:00
Matthew Gregan d9cd5be629 Bug 765524 - Register PrefChanged for CUBEB_LATENCY_MS. r=cpearce 2012-06-17 14:13:22 +12:00
David Anderson 4ba6ace977 Merge from mozilla-central.
--HG--
rename : accessible/src/atk/nsApplicationAccessibleWrap.cpp => accessible/src/atk/ApplicationAccessibleWrap.cpp
rename : accessible/src/atk/nsApplicationAccessibleWrap.h => accessible/src/atk/ApplicationAccessibleWrap.h
rename : accessible/src/base/nsApplicationAccessible.cpp => accessible/src/generic/ApplicationAccessible.cpp
rename : accessible/src/base/nsApplicationAccessible.h => accessible/src/generic/ApplicationAccessible.h
rename : browser/devtools/webconsole/test/browser_gcli_integrate.js => browser/devtools/shared/test/browser_gcli_integrate.js
rename : browser/devtools/webconsole/test/browser_gcli_web.js => browser/devtools/shared/test/browser_gcli_web.js
rename : security/manager/ssl/src/nsNSSIOLayer.cpp => security/manager/ssl/src/TransportSecurityInfo.cpp
rename : security/manager/ssl/src/nsNSSIOLayer.h => security/manager/ssl/src/TransportSecurityInfo.h
2012-04-30 12:53:32 -07:00
Anant Narayanan bff22f37e2 Bug 738528: Android still image support for getUserMedia r=sicking, r=jesup (plus bustage fix r=jesup) 2012-06-05 08:53:00 -04:00
Benoit Jacob 437b44a8df Bug 759221 - 6/6 - disable failing media tests on Android - r=jmaher 2012-06-08 13:41:45 -04:00
Benoit Jacob 63b249863c Bug 759221 - 2/6 - don't use file URIs in Android mochitests - r=jmaher 2012-06-08 13:41:38 -04:00
Anant Narayanan 87b32d19f1 Backout e8364adb4fd8, build bustage on Android (Bug 738528) 2012-06-08 17:17:52 -07:00
Anant Narayanan 10c1d5d1a7 Bug 738528: Android still image support for getUserMedia; r=sicking, r=jesup 2012-06-05 08:53:00 -07:00
Matt Brubeck 9ff37e55e1 Back out bug 759221 and bug 761326 because of media test failures 2012-06-08 12:20:14 -07:00
Benoit Jacob 79ad2d6974 Bug 759221 - 6/6 - disable failing media tests on Android - r=jmaher 2012-06-08 13:41:45 -04:00
Benoit Jacob b4efaa609d Bug 759221 - 2/6 - don't use file URIs in Android mochitests - r=jmaher 2012-06-08 13:41:38 -04:00
Robert O'Callahan 45109b7907 Bug 750769. Prevent mCurrentFrameTime from advancing during DecodeSeek. r=cpearce 2012-05-22 21:56:02 +12:00
Matthew Gregan 891ac1faad Bug 695612 - Make nsRemoteAudioStream::Write block by waiting for acks from its parent. r=doublec 2012-07-02 16:59:43 +12:00
Ehsan Akhgari cf18ee9122 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
David Zbarsky d2ee12f6f9 Bug 763350 - Clean up some includes in content/ and dom/ r=smaug 2012-07-01 16:45:59 -07:00
Matt Woodrow 31125260ee Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00
Matthew Gregan d58996023e Bug 760364 - Fix comments referring to long-removed audio monitor. r=roc 2012-06-01 18:44:38 +12:00
Matthew Gregan dffe1722b9 Bug 757707 - Avoid holding nsBufferedAudioStream locks over calls into cubeb. r=roc 2012-06-01 16:45:01 +12:00
Robert O'Callahan 09176f2085 Bug 759908. Create MediaStreamListener::NotifyConsumptionChanged. r=jesup
--HG--
extra : rebase_source : f9479b836ec92170782eb01ea8b97004b057ceb7
2012-06-01 18:26:17 +12:00
Robert O'Callahan 11d43656a8 Bug 750769. Add logging code to dump events for diagnosis. r=cpearce 2012-05-04 17:05:42 +12:00
Ed Morley 98aa4a8530 Merge mozilla-central to mozilla-inbound 2012-08-09 12:51:21 +01:00
Robert O'Callahan e24a2e411e Bug 779721. Part 6: Add a flag to track whether the main thread has called Destroy on a stream, and check that flag when sending a message to it. r=jesup 2012-08-09 23:30:09 +12:00
Robert O'Callahan 8184332b0d Bug 779721. Part 5: Add a comment explaining more about how MediaStream lifetimes are managed. r=jesup 2012-08-09 23:30:02 +12:00
Robert O'Callahan 481c2bc36d Bug 779721. Part 4: Fix lock ordering inversion when running control messages during a forced shutdown. r=jesup 2012-08-01 00:17:22 +12:00
Robert O'Callahan 535a1d2f48 Bug 779721. Part 3: Don't clean up streams on the MediaGraph thread during a forced shutdown. r=jesup
This is actually a better fix for bug 774597. We can rely on main thread code to call
Destroy on all the MediaStreams normally. These Destroy calls can be handled even when the
MediaGraph thread has been shut down, since MediaStreamGraphImpl::AppendMessage will
call RunDuringShutdown on the Destroy messages.
2012-08-09 23:29:47 +12:00
Robert O'Callahan cd7044913d Bug 779721. Part 2: Don't block a stream just because it has no consumers. r=jesup
There is actually no reason to do this.
2012-08-01 00:17:21 +12:00
Robert O'Callahan e77b4d50d2 Bug 779721. Part 1: Simplify MediaStreamGraph's invariants around when messages are processed. r=jesup
Rename mBlockingDecisionsMadeUntilTime to mStateComputedTime. The invariant is that
all graph state is known up to mStateComputedTime but not beyond it (except for some
stream contents that may be buffered beyond it).
Get rid of mMessageAffectedTime and all the code around computing "affected times" and "action times".
Instead, all messages take effect at mStateComputedTime.
Get rid of the two-phase execution of messages. Everything can just happen in a single Run() method.
2012-08-01 00:17:21 +12:00
Paul Adenot 886438d841 Bug 567077 - Sniff types of media files that are served with no Content-Type -- Tests r=cpearce 2012-08-07 15:56:25 -07:00
Paul Adenot 7d605f68fd Bug 567077 - Avoid sniffing when recreating a channel. r=cpearce 2012-08-07 15:56:01 -07:00
Paul Adenot a769fb1ee2 Bug 567077 - Sniff types of media files that are served with no Content-Type r=cpearce 2012-08-07 15:54:30 -07:00
Paul Adenot c09844be30 Bug 775319 - Determine the sample format at compile time for all media code. r=kinetik
--HG--
extra : rebase_source : 4e8a2a4544895c9234ccd3992e1cafe82b8cf365
2012-08-07 16:01:02 -07:00
Paul Adenot 8e8a009e3b Bug 778902 - When a video finished playing, "pause" should be fired, and |paused| should be true. r=cpearce
--HG--
extra : rebase_source : 2866707bd6b61d0225952ff49b858011d79e04ed
2012-08-06 10:27:55 -07:00
Paul Adenot a9f1585235 Bug 774084 - Fix a crash in nsBuiltinDecoder::GetSeekable. r=kinetik
--HG--
extra : rebase_source : f05e051cc9ab850381d138e944f2cc3ea5b3e2f7
2012-07-15 10:57:41 -07:00
David Anderson ba81f28215 Merge from mozilla-central.
--HG--
rename : accessible/src/base/nsFormControlAccessible.cpp => accessible/src/generic/FormControlAccessible.cpp
rename : accessible/src/base/nsFormControlAccessible.h => accessible/src/generic/FormControlAccessible.h
rename : accessible/src/html/nsHTMLFormControlAccessible.cpp => accessible/src/html/HTMLFormControlAccessible.cpp
rename : accessible/src/html/nsHTMLFormControlAccessible.h => accessible/src/html/HTMLFormControlAccessible.h
rename : accessible/src/xul/nsXULFormControlAccessible.cpp => accessible/src/xul/XULFormControlAccessible.cpp
rename : accessible/src/xul/nsXULFormControlAccessible.h => accessible/src/xul/XULFormControlAccessible.h
2012-04-18 10:23:31 -07:00
Robert O'Callahan 79c8950b59 Bug 784829. Initialize mIsConsumed at the start of every pass to determine what's consumed. r=jesup
Also, might as well set mIsConsumed on every stream.
2012-08-29 23:20:45 +12:00
Matthew Gregan 2152e9f321 Bug 742154 - Work around media crashtest shutdown hang in cubeb_winmm. r=cpearce 2012-04-16 15:00:40 +12:00
Matthew Gregan 71f3aee6c9 Bug 723793 - Lazily initialize libcubeb on first use. r=roc 2012-04-16 15:00:12 +12:00
David Anderson 866465c6c3 Merge from mozilla-central.
--HG--
rename : accessible/src/base/nsOuterDocAccessible.cpp => accessible/src/generic/OuterDocAccessible.cpp
rename : accessible/src/base/nsOuterDocAccessible.h => accessible/src/generic/OuterDocAccessible.h
rename : accessible/tests/mochitest/test_nsOuterDocAccessible.html => accessible/tests/mochitest/test_OuterDocAccessible.html
2012-04-06 16:38:53 -07:00
Randell Jesup 63dafade33 Bug 752087: Use correct method to check is a jsval is an object r=roc 2012-05-07 18:54:29 -04:00
Daniel Holbert e94c8d2785 Bug 664918 followup: Add missing */ terminator on emacs modeline in header comment for new file StreamBuffer.cpp. (no review, comment-only) DONTBUILD 2012-05-07 11:22:44 -07:00
Chris Pearce b2d3ca928b Bug 752141 - Release media decoder monitor when finishing audio stream. r=kinetik 2012-05-07 17:12:52 +12:00
Robert O'Callahan 9d526acea3 Bug 750258. Fix bustage. 2012-05-07 15:57:52 +12:00
Robert O'Callahan 6dc32e9284 Bug 750258. Set intial audio capture state correctly on mDecoderStateMachine. r=cpearce
For media resources whose streams are captured before the load has started, we shouldn't even start
an audio thread. This saves a lot of resources and ensures we don't see races between the audio thread
and the code that copies packets from the audio queue to the MediaStreams.
2012-05-07 15:45:06 +12:00
Robert O'Callahan 16d731f0aa Bug 750258. Advance mBlockingDecisionsMadeUntilTime to include time lost when the media graph control thread was stopped and all streams had underruns. r=jesup
The first part just handles the case where nsAudioStream failed to allocate a stream. It won't be playing
anything, so instead of trying to get the audio position, just fall back to the media graph current time.
Otherwise GetPositionInFrames returns -1 and things go badly from there.
The second part simplifies the calculation of the next mCurrentTime to just make it based on real time.
We had some code to not let it advance past the end of a stream's buffer, but the next part will make that
unnecessary.
The third part is the real fix. When the new current time has advanced past mBlockingDecisionsMadeUntilTime,
that means the control loop didn't run in time to replenish the audio output buffers and keep up with its
other duties. Effectively all streams have been blocked between mBlockingDecisionsMadeUntilTime and
the new current time. Account for that by adding the difference as extra blocked time for every stream.
We only need to ensure that the stream is marked blocked from mBlockingDecisionsMadeUntilTime indefinitely
far into the future, and then update mBlockingDecisionsMadeUntilTime to the new current time, because the
code takes into account that only blocking decisions up to mBlockingDecisionsMadeUntilTime are valid.
2012-05-07 15:44:41 +12:00
Matthew Gregan e80c8caef9 Bug 747793 - Use a ring buffer for audio buffered by nsBufferedAudioStream. Remove generic sample copy out with volume adjustment and replace with the lightly optimized version from nsNativeAudioStream. Add a fast path for the unity volume case. Bump cubeb's refill thread priority on Win32. r=cpearce 2012-05-03 16:48:54 +12:00
Ralph Giles adbf7a2878 Bug 752234 - Guard nsOpusState::Time against inactive streams. r=cpearce
Fix a crash loading opus files when the media.opus.enabled pref is
false. The buffering code still tries to call our Time() method,
but without having read the headers we cannot perform the
conversion.

This commit adds a guard on mActive like the other ::Time
methods use.
2012-05-05 09:55:29 -07:00
Robert O'Callahan 0b11491ced Fix bustage for bug 755533 2012-05-28 11:08:59 +12:00
Chris Pearce 6945d848be Bug 755533 - Ensure we fire canplaythrough if the media's channel is suspended before metadata is loaded. r=roc 2012-05-28 10:40:06 +12:00
David Anderson 1c41bdff39 Merge from mozilla-central. 2012-04-03 17:54:29 -07:00
Robert O'Callahan a180656367 Bug 750163. MediaStreamGraphImpl::UpdateBufferSufficiencyState should skip tracks whose creation is pending --- there is no Track object for them yet. r=jesup 2012-04-30 17:23:00 +12:00
Robert O'Callahan 67f781f9fb Bug 664918. Part 12: Finish SourceMediaStreams when the media decoder is destroyed, to avoid late low-audio/low-video notifications and issues when multiple decoders write to the same stream. r=cpearce,rjesup 2012-04-30 15:13:42 +12:00
Robert O'Callahan 9c92e7c20b Bug 664918. Part 11: Refactor code around mDecoder->Shutdown() to make following fix easier. r=cpearce 2012-04-30 15:13:09 +12:00
Robert O'Callahan 25f6dcb4b1 Bug 664918. Part 10: Add test_streams_element_capture.html to test capturing a media element into a stream and playing that stream through another media element.
The test also tests that capturing MediaStream video into a canvas works.
2012-04-30 15:13:01 +12:00
Robert O'Callahan 7f8bbe9275 Bug 664918. Part 9: Tentative support for MediaStreamListener::NotifyQueuedTrackChanges. r=jesup 2012-04-30 15:12:50 +12:00
Robert O'Callahan c3c1a7aa31 Bug 664918. Part 8: Add mozCaptureStream()/mozCaptureStreamUntilEnded() APIs to HTML media elements, returning a MediaStream representing the contents of the media element. r=cpearce,jesup
This is currently not fully functional. The MediaStream always ends when the underlying resource ends. You can't use these APIs on a media element
whose src is a MediaStream. Seeking or pausing the resource will cause problems. The media element does not play back in sync with the MediaStream.
2012-04-30 15:12:42 +12:00
Robert O'Callahan 587d304a70 Bug 664918. Part 5: Create SourceMediaStream, a MediaStream with an API allowing data to be injected into it by some source. r=jesup 2012-04-30 15:11:40 +12:00
Robert O'Callahan 500533126c Bug 664918. Part 4: Create nsDOMMediaStream, a DOM object wrapping an underlying MediaStream. r=smaug,jesup 2012-04-30 15:11:34 +12:00
Robert O'Callahan a9019ef530 Bug 664918. Part 3: Create MediaStream and MediaGraphManager for internal management of real-time media processing. r=jesup 2012-04-30 15:11:26 +12:00
Robert O'Callahan baab5848f3 Bug 664918. Part 2: Create MediaSegment, AudioSegment and VideoSegment classes to manage intervals of media data. r=jesup
Also introduces a SharedBuffer class, representing a blob of binary data with threadsafe refcounting.
2012-04-30 15:11:19 +12:00
Robert O'Callahan bef5a47982 Bug 664918. Part 1: Create TimeVarying<T> class to represent values that change over time. r=jesup 2012-04-30 15:11:08 +12:00
Robert O'Callahan 49291bbea8 Bug 664918. Part 0: Refactor nsMediaCache's handling of principals into a helper method in nsContentUtils. r=bzbarsky 2012-04-30 15:11:00 +12:00