Ralph Giles
08ed5054b4
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
dfa16e20ca
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
0e0ad7b069
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
a73fc227f9
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
147cab5783
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
ea17443d61
Bug 759013 - Convert more makefiles to use TEST_DIRS, r=khuey
2012-05-27 23:25:22 -04:00
Ehsan Akhgari
7a041e9a4b
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
29ff7b5c2c
Merge from mozilla-central.
2012-05-23 14:33:15 -07:00
David Anderson
684411090a
Merge from mozilla-central.
2012-05-21 14:40:04 -07:00
Gervase Markham
ca171eec44
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Joel Maher
a26d899b2d
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
b8dfd457bf
Backing out bug 738528 pushed without a peer review and with wrong authorship.
2012-06-04 10:57:42 +02:00
Doug Turner
eadde1488d
Bug 738528: Android still image for getUserMedia; r=fabrice
2012-05-31 10:28:04 -07:00
Timothy B. Terriberry
5abf033f0a
Bug 750231 - Use larger stacks on the media decoder threads with ASAN, r=kinetik
2012-06-03 12:43:09 -07:00
Anant Narayanan
beefeb5f37
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
cc12330ae4
Bug 752351: Implement fallback media engine; r=jesup
2012-06-03 00:34:40 -07:00
Anant Narayanan
d10bc8a30b
Bug 750943: Abstract media engine interface for devices; r=jesup
2012-06-03 00:34:02 -07:00
Timothy B. Terriberry
ac0bc073d7
Bug 752661 - Make ReadMetadata() fail when there are no active Ogg streams, r=kinetik
2012-06-02 06:29:44 -07:00
Mats Palmgren
1ae39e9193
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
fcf1cc5cf7
Bug 759801 - Remove the 'timeupdate' event listener when the test is done. r=philor
2012-06-01 20:52:37 +02:00
David Anderson
49c81656ca
Merge from mozilla-central.
...
--HG--
rename : xpcom/ds/CheckedInt.h => mfbt/CheckedInt.h
2012-05-16 15:39:10 -07:00
Gervase Markham
d4eb7d5782
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
95e5988f43
Merge from mozilla-central.
2012-05-15 10:22:19 -07:00
Robert O'Callahan
ea9226410e
Bug 750769. Add more logging. r=cpearce
2012-05-15 17:57:29 +12:00
Robert O'Callahan
f1893f0756
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
cbe63bfaf7
Bug 750769. Clarify thread-safety guarantees around mPlayState and mNextState. r=cpearce
2012-05-15 17:57:17 +12:00
David Anderson
cbcd19dd5d
Merge from mozilla-central.
2012-05-14 12:10:12 -07:00
David Anderson
6dfffa2f4b
Merge from mozilla-central.
2012-05-11 14:35:58 -07:00
Christopher De Cairos
a51913e89c
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
1d0465946b
Merge from mozilla-central.
2012-05-10 13:44:10 -07:00
David Anderson
7de62edd2f
Merge from mozilla-central.
2012-05-09 12:31:01 -07:00
Randell Jesup
c601502ac4
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
87cf33f6a7
Merge from mozilla-central.
2012-05-08 17:34:07 -07:00
David Anderson
14bf2a099d
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
d57bfcf475
Bug 758583. Must acquire SourceMediaStream lock before MediaStreamGraph lock. r=jesup
2012-05-29 21:10:45 +12:00
Robert O'Callahan
04aca0d190
Bug 752796. Ensure that stream-finished notifications aren't accidentally dropped. r=jesup
2012-05-28 23:58:34 +12:00
David Anderson
3b4de3be38
Merge from mozilla-central.
2012-05-03 11:40:52 -07:00
Ralph Giles
ccedcedb77
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
3d22845c94
Bug 765524 - Register PrefChanged for CUBEB_LATENCY_MS. r=cpearce
2012-06-17 14:13:22 +12:00
David Anderson
77809391d1
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
138c405799
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
30238660b9
Bug 759221 - 6/6 - disable failing media tests on Android - r=jmaher
2012-06-08 13:41:45 -04:00
Benoit Jacob
dcfba92e05
Bug 759221 - 2/6 - don't use file URIs in Android mochitests - r=jmaher
2012-06-08 13:41:38 -04:00
Anant Narayanan
50bc4e6656
Backout e8364adb4fd8, build bustage on Android (Bug 738528)
2012-06-08 17:17:52 -07:00
Anant Narayanan
6884bfc08d
Bug 738528: Android still image support for getUserMedia; r=sicking, r=jesup
2012-06-05 08:53:00 -07:00
Matt Brubeck
d1bcdbae1a
Back out bug 759221 and bug 761326 because of media test failures
2012-06-08 12:20:14 -07:00
Benoit Jacob
e5629d5e0c
Bug 759221 - 6/6 - disable failing media tests on Android - r=jmaher
2012-06-08 13:41:45 -04:00
Benoit Jacob
67e7c62df8
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
ddf43b9099
Bug 750769. Prevent mCurrentFrameTime from advancing during DecodeSeek. r=cpearce
2012-05-22 21:56:02 +12:00
Matthew Gregan
3873992ad2
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
5e6974df88
Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:24:55 -04:00
David Zbarsky
ae718ee1c0
Bug 763350 - Clean up some includes in content/ and dom/ r=smaug
2012-07-01 16:45:59 -07:00
Matt Woodrow
cbd39105d9
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-06-30 15:06:11 +12:00
Matthew Gregan
263b3b467b
Bug 760364 - Fix comments referring to long-removed audio monitor. r=roc
2012-06-01 18:44:38 +12:00
Matthew Gregan
14fc840b7b
Bug 757707 - Avoid holding nsBufferedAudioStream locks over calls into cubeb. r=roc
2012-06-01 16:45:01 +12:00
Robert O'Callahan
c2b6383f48
Bug 759908. Create MediaStreamListener::NotifyConsumptionChanged. r=jesup
...
--HG--
extra : rebase_source : f9479b836ec92170782eb01ea8b97004b057ceb7
2012-06-01 18:26:17 +12:00
Robert O'Callahan
37b876e003
Bug 750769. Add logging code to dump events for diagnosis. r=cpearce
2012-05-04 17:05:42 +12:00
Ed Morley
afd5340800
Merge mozilla-central to mozilla-inbound
2012-08-09 12:51:21 +01:00
Robert O'Callahan
c686385674
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
fd80974897
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
e768bf4202
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
59bc291b5c
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
8b8f22d97d
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
dbd1d7313b
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
1f5d1a1b84
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
8ebb59c77f
Bug 567077 - Avoid sniffing when recreating a channel. r=cpearce
2012-08-07 15:56:01 -07:00
Paul Adenot
6d3ce88e68
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
0f3392ee19
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
9d2a917ec5
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
4b10295c06
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
c237e59619
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
75521936c0
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
c6d2de46e7
Bug 742154 - Work around media crashtest shutdown hang in cubeb_winmm. r=cpearce
2012-04-16 15:00:40 +12:00
Matthew Gregan
2e2a2c6663
Bug 723793 - Lazily initialize libcubeb on first use. r=roc
2012-04-16 15:00:12 +12:00
David Anderson
3513754940
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
e15eb3b014
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
13a38085d0
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
d8ae112372
Bug 752141 - Release media decoder monitor when finishing audio stream. r=kinetik
2012-05-07 17:12:52 +12:00
Robert O'Callahan
137a9cf106
Bug 750258. Fix bustage.
2012-05-07 15:57:52 +12:00
Robert O'Callahan
094c73799f
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
b1c494a351
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
b9b643548f
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
8fab011a7c
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
ed8cb6b4ea
Fix bustage for bug 755533
2012-05-28 11:08:59 +12:00
Chris Pearce
e47b0e115d
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
6ae01a28ec
Merge from mozilla-central.
2012-04-03 17:54:29 -07:00
Robert O'Callahan
811676c320
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
233d852e79
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
414ee23496
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
9df9e33428
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
8470d77f34
Bug 664918. Part 9: Tentative support for MediaStreamListener::NotifyQueuedTrackChanges. r=jesup
2012-04-30 15:12:50 +12:00
Robert O'Callahan
0fab284fc7
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
b10f6b9538
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
d59506a4a4
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
35ac9fec09
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
ba1e1720cd
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
aee1489730
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
5b07e5f1c5
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
Paul ADENOT
c3d69642e4
Bug 480376 - Implement mozHasAudio to indicate when there's no audio track available. r=cpearce
2012-04-28 11:01:10 -04:00
Daniel Holbert
10d3de74a3
Bug 664918 followup: Add missing */ terminator on emacs modeline in header comment for new files nsDOMMediaStream.cpp and MediaStreamGraph.cpp. (no review, comment-only) DONTBUILD
2012-05-11 10:35:36 -07:00
Masatoshi Kimura
95f8a3cace
Bug 745498 - Add testcases for DOM4 exception types. r=sicking
2012-04-26 09:42:26 -07:00
Nicholas Nethercote
08dc2dae6b
Bug 744311 (part 1) - Preliminary whitespace and code order changes. r=jlebar.
...
--HG--
extra : rebase_source : f700733d8aa1aed1ae1f9206b4ee9063f9a03341
2012-04-09 22:52:33 -07:00
Paul ADENOT
883f155841
Bug 462960 - Add tests for the played member. r=cpearce
2012-04-30 20:29:29 -04:00
Chris Pearce
314cddd243
Bug 741052 - Null check nsMediaCache::mFileCache in nsMediaCache destructor. r=roc
2012-04-02 10:34:11 +12:00
Christopher De Cairos
5cc51b277e
Bug 736400 - Make each decoder Clone() method check if its mimetype is enabled. r=cpearce
2012-03-30 20:52:07 -04:00
Doug Sherk
b424ee78e8
Bug 751539: fix test to avoid timeout r=cpearce
2012-05-03 14:12:36 -07:00
Ralph Giles
72bc05e1a8
Bug 674225 - Add basic mochitests for Opus. r=cpearce
...
Add a short Ogg Opus file to the content/media/test
directory and add it to the gSeekTests, gSmallTests,
and gPlayTests in manifest.js. This file is crafted
to end on a packet boundary, so trimming to duration
is not verified.
Set the media.opus.enabled pref to true in manifest.js
so the various tests using the opus file succeed.
Add a stanza to can_play_type_ogg.js to test the
behaviour of canPlayType with an opus-specific
media type for both values of the pref.
Add support for the .opus filename extension to
the mochitest http server.
2012-05-01 17:29:42 -07:00
Ralph Giles
3adcc0b005
Bug 674225 - Add Opus support to nsOggReader. r=cpearce
...
Parse and decode Opus streams embedded in the Ogg
container. Based on the draft specification from
https://wiki.xiph.org/OggOpus
Support is conditional on the runtime preference
setting media.opus.enabled, which is false by
default until we're confident the spec is stable
and useful.
This patch doesn't support the gain header or
multichannel files.
The LEUint*() functions from the skeleton parser
are used to read the multi-byte header fields.
This requires moving them to earlier in the file.
Mappings for the .opus filename extension are also
added to facilitate testing with local files.
2012-05-01 17:29:34 -07:00
David Anderson
bdcb70b90a
Merge from mozilla-central.
2012-03-30 18:40:08 -07:00
David Anderson
0dfdddc335
Merge from mozilla-central.
...
--HG--
rename : toolkit/components/places/tests/unit/test_favicons.js => toolkit/components/places/tests/favicons/test_favicons.js
2012-03-20 14:43:39 -07:00
Chris Pearce
1590d6dd4b
Bug 736342 - Defer media cache writes and block moves to a non-main thread. r=roc
2012-03-28 13:04:26 +13:00
Chris Pearce
a976665feb
Bug 736342 - Add AsyncBlockWriter, which defers file writes to another thread. r=roc
2012-03-28 13:04:20 +13:00
Nathan Froyd
3816c12d35
Bug 739962 - fix -Wunused-but-set-variable warnings in content; r=bent
2012-03-28 09:14:33 -04:00
David Anderson
9f2dad2804
Merge from mozilla-central.
...
--HG--
rename : js/src/jsfun.cpp => js/src/vm/ArgumentsObject.cpp
2012-03-19 14:13:34 -07:00
Robert O'Callahan
159f4c1c21
Bug 646331. Fix duration of big.wav. r=cpearce
2012-03-19 12:36:06 +13:00
Robert O'Callahan
c80165838e
Bug 712836. Make MediaResources which have ended abnormally ineligible for cloning. r=cpearce
2012-03-20 20:55:40 +13:00
David Anderson
4122314d88
Merge from mozilla-central.
2012-03-13 16:10:05 -07:00
David Anderson
2e8ee1f955
Merge from mozilla-central.
2012-03-09 13:37:58 -08:00
David Anderson
9404b45d45
Merge from mozilla-central.
...
--HG--
rename : intl/locale/public/nsICharsetAlias.h => intl/locale/public/nsCharsetAlias.h
rename : intl/locale/src/nsCharsetAliasImp.cpp => intl/locale/src/nsCharsetAlias.cpp
2012-03-05 17:50:51 -08:00
Matthew Gregan
8fd79ff7fe
Bug 693021 - Back out the incorrect removal of bug 673698's fixed.
2012-03-05 19:19:45 +13:00
David Anderson
f185cbf185
Merge from mozilla-central.
...
--HG--
rename : browser/base/content/syncAddDevice.js => browser/base/content/sync/addDevice.js
rename : browser/base/content/syncAddDevice.xul => browser/base/content/sync/addDevice.xul
rename : browser/base/content/syncNotification.xml => browser/base/content/sync/notification.xml
rename : browser/base/content/syncSetup.js => browser/base/content/sync/setup.js
rename : browser/base/content/syncSetup.xul => browser/base/content/sync/setup.xul
2012-03-01 13:45:48 -08:00
David Anderson
47b8e16e15
Merge from mozilla-central.
2012-02-27 12:40:46 -08:00
Chris Double
5c75892c8b
Bug 759948 - libstagefright based media playback doesn't receive ended event when complete on B2G - r=edwin
...
--HG--
extra : rebase_source : a6450eb3a2fbb2ac67e329fa9ef9f0bd9e801e89
2012-06-01 12:54:52 +12:00
Andreas Gal
1518859a5b
Bug 714408 Part 2 - Media plugin support for libstagefright - r=doublec
...
--HG--
extra : rebase_source : 308d1aab3cfffbb7ddeb0602a3991565603e6212
2012-06-01 12:54:23 +12:00
Timothy B. Terriberry
8cf0158bfc
Bug 751219 - Support header gain in Opus files, r=kinetik
2012-05-31 11:13:17 -07:00
Timothy B. Terriberry
97a1c5f7c1
Bug 759612 - Update granule position accounting for Opus, r=kinetik
2012-05-31 11:13:17 -07:00
Timothy B. Terriberry
fac791cc69
Bug 759399 - Handle preroll correctly during an Opus seek, r=doublec
2012-05-31 11:13:17 -07:00
Timothy B. Terriberry
e4706b6f85
Bug 759490 - Use Opus streams when seeking in Ogg, if present, r=doublec
2012-05-31 11:13:11 -07:00
David Anderson
023f72aedd
Merge from mozilla-central.
2012-02-23 11:35:56 -08:00
David Anderson
8de13c310b
Merge from mozilla-central.
2012-02-22 19:25:06 -08:00
Matthew Gregan
86c1e140ab
Bug 634564 - Re-enable test_closing_connections.
2012-02-27 12:51:52 +13:00
Matthew Gregan
c69a06cb4a
Bug 634564 - Don't reset load-in-background flag when moving completed media load into the foreground. r=cpearce
2012-02-24 14:07:35 +13:00
David Anderson
bc244bd579
Merge from mozilla-central.
2012-02-21 15:08:22 -08:00
Ms2ger
bfbd442bda
Bug 726416 - Fix some content/ build warnings; r=mounir
2012-02-21 10:34:01 +01:00
Matthew Gregan
825732279c
Bug 693021 - Bail from AdvanceFrame early if no longer playing. r=cpearce
2012-03-05 15:27:49 +13:00
David Seifried
ebecfda977
Bug 680321 - Media preload state should reset in resource selection algorithm. r=cpearce
2012-02-20 10:02:08 +13:00
Masatoshi Kimura
d1bbe6a3ba
Bug 720208 - Implement DOM4 DOMException types and codes. r=smaug,ms2ger
2012-02-23 01:34:14 +01:00
David Anderson
0c05cdef78
Merge from mozilla-central.
2012-02-16 15:06:30 -08:00
Robert O'Callahan
e092af1c77
Bug 727694. Set up new mDecoderStateMachine with any preset initial volume. r=cpearce
2012-02-16 17:17:36 +13:00
David Anderson
d6a63f99ba
Merge from mozilla-central.
...
--HG--
rename : content/media/nsMediaStream.cpp => content/media/MediaResource.cpp
rename : content/media/nsMediaStream.h => content/media/MediaResource.h
2012-02-15 13:45:39 -08:00
Robert O'Callahan
cdb5480e47
Backing out parts 6 and 7 of bug 779715 (5a87f1d1807d, 5a87f1d1807d) due to crashtest orange.
...
--HG--
extra : rebase_source : bb7acb9958452850bd9d36f8e58f956d065d4935
2012-08-21 00:44:32 +12:00
Robert O'Callahan
29461b55a1
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 : 6d9e9631516cebbde148d301050c388e0e0019a8
2012-08-20 16:57:12 +12:00
Robert O'Callahan
bcd9f63ad8
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 : a301714fad57a3b7c963530a3da99c54bc8ac436
2012-08-01 00:17:22 +12:00
Robert O'Callahan
93e5998248
Bug 779715. Part 4: Play all tracks of a media stream with multiple tracks. r=jesup
...
Until now we've identified the "first active track" of a stream and played only that. Instead,
it makes more sense to play all the tracks.
For video, we pick the last track that has a video frame for the current time, and display that.
--HG--
extra : rebase_source : 00ce3eb363df06c292232aa507e861639d10cff2
2012-08-01 00:17:22 +12:00
Robert O'Callahan
93fd59abf0
Bug 779715. Part 3: Add an API to get notifications of changes to the main-thread-visible state of a MediaStream. r=jesup
...
--HG--
extra : rebase_source : 24b7204d219612760b9d159fff5219c1960df51a
2012-08-20 16:20:44 +12:00
Robert O'Callahan
1bb17fbf04
Bug 779715. Part 2: Create TrackUnionStream. r=jesup
...
--HG--
extra : rebase_source : 29038fa1b93dcade3d762537bf510dc0901a9738
2012-08-01 00:17:21 +12:00
Robert O'Callahan
925835b996
Bug 779715. Part 1: Add basic support for ProcessedMediaStreams. r=jesup
...
The main thing this patch does is to add ProcessedMediaStream objects and
MediaInputPorts connecting streams. ProcessedMediaStreams are an abstract
class that doesn't constrain what processing is actually performed, except
that for now we assume a stream's processing depends only on its inputs
window of data between mCurrentTime and mStateComputedTime.
This patch reorganizes the way the blocking status of each stream is computed.
The streams are partitioned into groups so that every stream which can affect
the blocking status of another stream is in the same group as that other stream.
We also add a pass to order the streams by dependency so we can process the streams
in order of dependency; this pass also identifies the streams that form part of a
cycle.
--HG--
extra : rebase_source : c45c931a264e73f295642a934500bbeaa6448774
2012-08-01 00:17:21 +12:00
Matthew Gregan
48474f4d83
Bug 783940 - Remove unnecessary nsOggDecoderStateMachine class. r=cpearce
2012-08-20 15:59:25 +12:00
Matthew Gregan
70f8167360
Bug 783179 - Remove unused mCbCrSize and mCbCrBuffer members from nsBuiltinDecoderStateMachine. r=doublec
2012-08-16 18:07:26 +12:00
Matt Woodrow
7591d1ef12
Bug 782372 - Fix clang build. r=nical
2012-08-20 14:39:10 +12:00
Matthew Gregan
a1936af774
Bug 780490 - Re-enable test_seek, test_seek_out_of_range, and test_timeupdate_small_files on Linux. (Also bug 780491 and bug 780492). Test only.
2012-08-20 12:10:05 +12:00
Nicolas Silva
047b99ba78
Bug 782372 - Splits ImageLayers.h into ImageLayers.h ImageContainer.h and ImageTypes.h, r=bgirard
2012-08-19 15:33:25 -04:00
Chris Jones
d0eff0d38b
Bug 776069: Disable remote audio for gonk. Sigh. r=kinetik
2012-08-18 16:14:37 -07:00
Ed Morley
46062461e7
Bug 608634 - Disable test_error_in_video_document.html for too many intermittent failures; r=philor
2012-08-18 23:59:34 +01:00
Paul Adenot
80b3876f46
Bug 762282 - Don't notify the HTMLMediaElement if we reach the end of the media while seeking for metadata. r=chris.double
2012-08-17 10:01:08 -07:00
Matthew Gregan
25a5e3ddb3
Bug 782876 - Remove unnecessary returns from event handlers in media tests. r=doublec
2012-08-15 16:41:24 +12:00
Matthew Gregan
2c8e9d8fe6
Bug 770945 - Simple media events shouldn't be cancelable. r=roc
2012-08-14 15:26:43 +12:00
Robert O'Callahan
4840bbe976
Bug 726889. Rename nsMediaStream/nsMediaChannelStream/nsMediaFileStream to mozilla::MediaResource/ChannelMediaResource/FileMediaResource. Also rename nsByteRange to mozilla::MediaByteRange and nsChannelStatistics to mozilla::MediaChannelStatistics. Rename GetStream to GetResource and various other mentions of 'stream' to 'resource'. r=cpearce
...
--HG--
rename : content/media/nsMediaStream.cpp => content/media/MediaResource.cpp
rename : content/media/nsMediaStream.h => content/media/MediaResource.h
2012-02-15 17:35:01 +13:00
Robert O'Callahan
1e90444bb6
Bug 708116. Factor out logic for updating the current frame of a video element into a helper object. r=doublec
2012-02-15 17:35:01 +13:00
Veeraya Pupatwibul
1bdf9d9923
Bug 741333 - Remove PRBool/PR_TRUE/PR_FALSE that crept in r=Ms2ger
2012-04-04 11:15:10 +02:00
Robert O'Callahan
070d0a8c52
Bug 750258. Small cleanup to make it more obvious why mCurrentTime is initialized to 1. r=jesup
2012-05-10 15:30:34 +12:00
Robert O'Callahan
9d68bc375d
Bug 750769. Dump currentTime/paused/ended/readyState on every event. r=cpearce
2012-05-10 15:30:34 +12:00
Robert O'Callahan
cc41b328ac
Bug 752784. Don't mess with tracks we haven't initialized yet. r=cpearce
2012-05-10 15:30:34 +12:00
Zack Weinberg
7aa203cdaf
Bug 682141 band-aid: add another todo missed the first time. r=cpearce
...
--HG--
extra : rebase_source : 3f2cf0c4a67ec8dfbc85715c0a9dbb31e8698cba
2012-02-05 20:32:43 -08:00
Ehsan Akhgari
b0555ad014
Merge mozilla-central into birch
2012-04-19 10:03:36 -04:00
Ehsan Akhgari
6d56a89d65
Bug 722981 - Flush the media cache when the last private browsing window is closed; r=roc
2012-04-16 23:16:47 -04:00
Alessandro Decina
efe31886e6
Bug 422540 - GStreamer backend for audio/video decoding. r=cdouble, a=npotb
2012-04-18 18:33:13 -04:00
Daniel Holbert
3bb9bd9b04
Bug 745272: Replace comparison of unsigned value >=0 with a useful comparison. r=humph r=cpearce
2012-04-16 14:29:14 -07:00
Ching Wei Tseng
d2d97ed00b
Bug 601535 - content/media should use CheckedInt.h. r=doublec
2012-02-22 13:28:06 +01:00
Abhishek Bhatnagar
98d9a07062
Bug 620164 - Remove CheckedInt and Muloverflow from nsTheoraState::MaxKeyframeOffset. r=cpearce
2012-04-11 07:44:28 -04:00
Benoit Jacob
17b0e7f92d
Bug 732875 - 8/8 - move CheckedInt to MFBT, enable unit tests in mfbt/tests - r=jwalden
...
--HG--
rename : xpcom/ds/CheckedInt.h => mfbt/CheckedInt.h
2012-05-14 15:50:20 -04:00
Chris Pearce
67dc6373b0
Bug 726400 - Backed out changeset 4ad6c040729f. r=backout.
2012-03-26 14:41:14 +13:00
Christopher De Cairos
c7ae7c5f02
Bug 736400 - Make each decoder Clone() method check if its mimetype is enabled r=cpearce
2012-03-26 14:21:53 +13:00
Phil Ringnalda
c7ab04c773
Back out c4a4b0171b99 (bug 736400) for Android build bustage
2012-03-25 15:35:37 -07:00
Christopher De Cairos
b79453b4bf
Bug 736400 - Make each decoder Clone() method check if its mimetype is enabled r=cpearce
2012-03-26 10:48:40 +13:00
Benjamin Smedberg
4f91700da9
Bug 734847 part 2 - treewide changes resulting from the default-infallibility of hashtables; either remove useless result checks, or use the fallible version of APIs, depending on context, r=jlebar
...
--HG--
extra : rebase_source : 844b008c5167e6ca39a7ba9eeec8b30672938704
2012-05-18 13:30:49 -04:00
Paul Adenot
67bfe4f064
Bug 756372 - Change |seeking| to prevent seeking in WebM livestream. r=kinetik
2012-05-18 13:35:43 -04:00
Ms2ger
f484c0a6e7
Bug 754643 - Disable FAIL_ON_WARNINGS in content/media because new warnings were introduced.
2012-05-18 10:57:20 +02:00
Ms2ger
3d92167c95
Bug 754643 - Enable FAIL_ON_WARNINGS in content/media; r=cpearce f=roc
2012-05-18 10:29:38 +02:00
Landry Breuil
5013c7f815
Bug 732875 - use stdint.h types instead of PRtypes, fixes build on OpenBSD - r=Ms2ger
2012-05-17 10:07:26 -04:00
Dão Gottwald
eef4562580
Backed out changeset ee527adf9d44
2012-05-17 16:47:36 +02:00
Landry Breuil
781da02081
Bug 732875 - use stdint.h types instead of PRtypes, fixes build on OpenBSD - r=Ms2ger
2012-05-17 10:07:26 -04:00
Bill McCloskey
c6cd982f05
Bug 641025 - Incremental GC (r=igor,smaug,roc,cdleary,gregor)
2012-02-17 14:35:20 -08:00
David Anderson
c9cedc55d9
Merge from mozilla-central.
2012-02-03 14:40:50 -08:00
David Anderson
d0754e2ac4
Merge from mozilla-central.
2012-02-02 15:06:21 -08:00
David Anderson
79fde41072
Merge from mozilla-central.
2012-02-01 14:12:11 -08:00
David Anderson
0583226ad3
Merge from mozilla-central.
2012-01-31 12:17:35 -08:00
Matthew Gregan
37bc4473ce
Bug 723781 - Disable libcubeb for now.
...
--HG--
extra : rebase_source : 23c5d8448d65e2b18a10e61e079f44f261cdb71a
2012-02-03 21:31:43 +13:00
David Anderson
c88ecf00b0
Merge from mozilla-central.
2012-01-26 11:58:33 -08:00
David Anderson
39ac15a4fb
Merge from mozilla-central.
2012-01-25 15:27:24 -08:00
Chris Pearce
5c00215dc9
Bug 715469 - Make video full-screen button use background image, so it doesn't fire a load event. r=gavin
2012-01-30 20:04:44 +13:00
Jon Buckley
53fcaffe40
Bug 682299 - Implement CORS support for the <video> tag. r=roc
2012-01-25 17:31:30 -05:00
David Anderson
86e8f700e5
Merge from mozilla-central.
2012-01-20 10:12:37 -08:00
Chris DeCairos
6a271f929d
Bug 715323 - Make offset paramater in NotifyDataArrived PRInt64 r=cpearce
2012-02-01 11:05:51 +13:00
David Anderson
357b7e87c1
Merge from mozilla-central.
2012-01-19 14:27:47 -08:00
Chris Pearce
eb826b046e
Bug 717026 - Ensure libsydneyaudio windows block size is an even multiple of channels*frame_size. r=kinetik
2012-01-19 14:11:51 +13:00
Chris Pearce
e9abc7a9c6
Bug 717026 - Change test to not play() media to avoid audio thread destruction bottleneck. r=roc
2012-01-20 07:31:03 +13:00
Chris Pearce
0fa5e90cfa
Bug 713381 - Queue media decode thread creation when limit reached. r=roc
2012-01-20 07:30:29 +13:00
Chris Pearce
2d0af61b48
Bug 713381 - Add null check on decoder state machine, increase media thread limit. r=roc
2012-01-20 07:29:12 +13:00
Phil Ringnalda
b7bac2bff8
Back out 60fc46d5b1ca (bug 723793) for Windows crashtest assertions
...
--HG--
extra : rebase_source : 6ca69e6016ed2c1699315b7a1f7d632903857a33
2012-02-02 23:33:08 -08:00