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

1076 Коммитов

Автор SHA1 Сообщение Дата
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
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 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
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
Matthew Gregan d9cd5be629 Bug 765524 - Register PrefChanged for CUBEB_LATENCY_MS. r=cpearce 2012-06-17 14:13:22 +12: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
Honza Bambas fc7084f564 Bug 720778 - Important threads should have a name for better debugability, r=bsmith, sr=bsmedberg+glandium 2012-06-12 19:06:20 +02: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
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
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
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
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
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
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
Chris Double 8b2e2abfcc 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 3c320eb743 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 be06d81459 Bug 751219 - Support header gain in Opus files, r=kinetik 2012-05-31 11:13:17 -07:00
Timothy B. Terriberry 87b5e2c9ef Bug 759612 - Update granule position accounting for Opus, r=kinetik 2012-05-31 11:13:17 -07:00
Timothy B. Terriberry c59add4dfa Bug 759399 - Handle preroll correctly during an Opus seek, r=doublec 2012-05-31 11:13:17 -07:00
Timothy B. Terriberry 61396f0581 Bug 759490 - Use Opus streams when seeking in Ogg, if present, r=doublec 2012-05-31 11:13:11 -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
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
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
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
Robert O'Callahan 32be605238 Bug 750258. Ensure that MediaStreamListener::NotifyBlockingChanged is always called for a new listener, and similar for NotifyFinished called on an already-finished stream. Rely on this to set readyState correctly for media elements consuming a stream. r=jesup,cpearce 2012-05-24 22:37:14 +12:00
Matthew Gregan 725cf8eeff Bug 726903 - Remove force_stereo_mode pref hack. r=roc
--HG--
extra : rebase_source : 513b926ace8904035111ddc21aa237fd1c28090c
2012-05-24 14:40:09 +12:00
Robert O'Callahan 280245c41a Bug 753852. Don't try to notify the graph to perform its next iteration if this stream has been removed from the graph. r=jesup 2012-05-23 18:01:15 +12: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
Robert O'Callahan 45109b7907 Bug 750769. Prevent mCurrentFrameTime from advancing during DecodeSeek. r=cpearce 2012-05-22 21:56:02 +12:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benjamin Smedberg eaa4878487 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 0da5e3bca2 Bug 756372 - Change |seeking| to prevent seeking in WebM livestream. r=kinetik 2012-05-18 13:35:43 -04:00
Ms2ger 127d3f70cc Bug 754643 - Disable FAIL_ON_WARNINGS in content/media because new warnings were introduced. 2012-05-18 10:57:20 +02:00
Ms2ger f64d1ecb9a Bug 754643 - Enable FAIL_ON_WARNINGS in content/media; r=cpearce f=roc 2012-05-18 10:29:38 +02:00
Landry Breuil b43b46524f 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 2a267cebe4 Backed out changeset ee527adf9d44 2012-05-17 16:47:36 +02:00
Landry Breuil 8397b073a7 Bug 732875 - use stdint.h types instead of PRtypes, fixes build on OpenBSD - r=Ms2ger 2012-05-17 10:07:26 -04:00
Benoit Jacob 6de3cc03da 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
Paul Adenot 2d6798ab5d Bug 599217 - WebM buffered: should use duration for end time of last buffered range. r=kinetik 2010-09-24 13:57:30 +12:00
Paul Adenot 5d2667c343 Bug 449363 - Support media attribute of <source> elements. r=cpearce,bz 2012-05-15 08:56:51 -04: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
Ed Morley 0f956d7307 Backout 345ae68f15f4, b3b40121ac8d, 0d18b7a246d7, 9dbb6064ab58, dee9d7fa8eb6, 63eec6bfa948, 323c6be7cfe8 & f4aac7523a48 (bug 732875) for compilation failures 2012-05-14 21:05:24 +01:00
Benoit Jacob fa8d5e0469 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
Daniel Holbert fade4715b7 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
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
Robert O'Callahan ae79119ea5 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 a869c9552f Bug 750769. Dump currentTime/paused/ended/readyState on every event. r=cpearce 2012-05-10 15:30:34 +12:00
Robert O'Callahan e8a9ceb920 Bug 752784. Don't mess with tracks we haven't initialized yet. r=cpearce 2012-05-10 15:30:34 +12: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
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 11d43656a8 Bug 750769. Add logging code to dump events for diagnosis. r=cpearce 2012-05-04 17:05:42 +12:00
Doug Sherk 49b7c05e20 Bug 751539: fix test to avoid timeout r=cpearce 2012-05-03 14:12:36 -07:00
Ralph Giles b6f1345f82 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 64ef2c566d 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
Paul ADENOT 47bc5ed443 Bug 462960 - Add tests for the played member. r=cpearce 2012-04-30 20:29:29 -04: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
Paul ADENOT 7315f8263d Bug 480376 - Implement mozHasAudio to indicate when there's no audio track available. r=cpearce 2012-04-28 11:01:10 -04:00
Masatoshi Kimura 473d12ee2a Bug 745498 - Add testcases for DOM4 exception types. r=sicking 2012-04-26 09:42:26 -07:00
Nicholas Nethercote 43f329dbbd 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
Ehsan Akhgari 5af9f61b94 Merge mozilla-central into birch 2012-04-19 10:03:36 -04:00
Ehsan Akhgari b1994ec7bb 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 7280dac94a Bug 422540 - GStreamer backend for audio/video decoding. r=cdouble, a=npotb 2012-04-18 18:33:13 -04:00
Daniel Holbert 0d30757e43 Bug 745272: Replace comparison of unsigned value >=0 with a useful comparison. r=humph r=cpearce 2012-04-16 14:29:14 -07: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
Abhishek Bhatnagar 09998c87c1 Bug 620164 - Remove CheckedInt and Muloverflow from nsTheoraState::MaxKeyframeOffset. r=cpearce 2012-04-11 07:44:28 -04:00
Veeraya Pupatwibul 344b2b1753 Bug 741333 - Remove PRBool/PR_TRUE/PR_FALSE that crept in r=Ms2ger 2012-04-04 11:15:10 +02:00
Chris Pearce 6f604f18e9 Bug 741052 - Null check nsMediaCache::mFileCache in nsMediaCache destructor. r=roc 2012-04-02 10:34:11 +12:00
Christopher De Cairos b40034d6f4 Bug 736400 - Make each decoder Clone() method check if its mimetype is enabled. r=cpearce 2012-03-30 20:52:07 -04:00
Chris Pearce c3c6b8c99e 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 a4302efd2e Bug 736342 - Add AsyncBlockWriter, which defers file writes to another thread. r=roc 2012-03-28 13:04:20 +13:00
Nathan Froyd 8c5b9206cd Bug 739962 - fix -Wunused-but-set-variable warnings in content; r=bent 2012-03-28 09:14:33 -04:00
Chris Pearce 34453514e9 Bug 726400 - Backed out changeset 4ad6c040729f. r=backout. 2012-03-26 14:41:14 +13:00
Christopher De Cairos 25e946ae06 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 ed59dd90b3 Back out c4a4b0171b99 (bug 736400) for Android build bustage 2012-03-25 15:35:37 -07:00
Christopher De Cairos 4eab2b8b32 Bug 736400 - Make each decoder Clone() method check if its mimetype is enabled r=cpearce 2012-03-26 10:48:40 +13:00
Robert O'Callahan 5bfbed0b5b Bug 712836. Make MediaResources which have ended abnormally ineligible for cloning. r=cpearce 2012-03-20 20:55:40 +13:00
Robert O'Callahan 1e73b1f546 Bug 646331. Fix duration of big.wav. r=cpearce 2012-03-19 12:36:06 +13:00
Matthew Gregan 363f0bdf7a Bug 734784 - Clean up some include lists in content/media. r=cpearce 2012-03-12 15:19:31 +13:00
Adam Dane 017d8a0b01 Bug 612246 - Store the media cache in the profile directory for single process Gecko and the system temp directory for multi-process. r=cpearce 2012-03-05 14:40:56 -06:00
Matthew Gregan 7303be8ad0 Bug 693021 - Back out the incorrect removal of bug 673698's fixed. 2012-03-05 19:19:45 +13:00
Matthew Gregan 773e022390 Bug 693021 - Bail from AdvanceFrame early if no longer playing. r=cpearce 2012-03-05 15:27:49 +13:00
Justin Lebar 69fb6f1047 Bug 731789 - Rename mfbt/StdInt.h to mfbt/StandardInteger.h, so stdint types work from cpp files inside mfbt. r=waldo 2012-02-29 22:56:43 -05:00
Matthew Gregan b11d895a75 Bug 730425 - Make range check assertion in stream read fatal, and add the same check to similar code in the cached stream read. r=roc 2012-03-01 12:52:02 +13:00
Matthew Gregan 6077ca190c Bug 730425 - Performa an additional range check in stream read. r=roc 2012-02-28 17:38:46 +13:00
Matthew Gregan b6594a89ec Bug 634564 - Re-enable test_closing_connections. 2012-02-27 12:51:52 +13:00
Matthew Gregan 4bf67123b1 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
Masatoshi Kimura d7e66cef1d Bug 720208 - Implement DOM4 DOMException types and codes. r=smaug,ms2ger 2012-02-23 01:34:14 +01:00
Ching Wei Tseng b369406826 Bug 601535 - content/media should use CheckedInt.h. r=doublec 2012-02-22 13:28:06 +01:00
Ms2ger 052141e960 Bug 726416 - Fix some content/ build warnings; r=mounir 2012-02-21 10:34:01 +01:00
David Seifried e8d2c835e3 Bug 680321 - Media preload state should reset in resource selection algorithm. r=cpearce 2012-02-20 10:02:08 +13:00
Bill McCloskey d15702e36f Bug 641025 - Incremental GC (r=igor,smaug,roc,cdleary,gregor) 2012-02-17 14:35:20 -08:00
Robert O'Callahan affe790e91 Bug 727694. Set up new mDecoderStateMachine with any preset initial volume. r=cpearce 2012-02-16 17:17:36 +13:00
Robert O'Callahan 872bbcb297 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 3bf55cada3 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
Robert O'Callahan 8dc6b990e1 Bug 726891. Move rate/channels/format up to nsAudioStream and add inline getters. r=kinetik 2012-02-14 17:39:33 +13:00
Chris Pearce fa8456720c Bug 673698 - Don't update video playback position during seek. r=roc 2012-02-14 21:48:16 +13:00
Phil Ringnalda 7b77666e87 Back out 7f81109133b5 (bug 725221), 135721f3720b (bug 726891), aef4ead175b4 (bug 726894) for orange 2012-02-13 22:31:22 -08:00
Robert O'Callahan 2fdab34bc6 Bug 726891. Move rate/channels/format up to nsAudioStream and add inline getters. r=kinetik 2012-02-14 17:39:33 +13:00
Joe Olivas 7fa87975b6 Bug 725152 - Only use force_stereo_mode pref if it's explicitly set. r=kinetik 2012-02-14 15:35:26 +13:00