Commit Graph

1110 Commits

Author SHA1 Message Date
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
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
Paul Adenot
10113aabe9 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
377eba55e7 Bug 449363 - Support media attribute of <source> elements. r=cpearce,bz 2012-05-15 08:56:51 -04: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
Ed Morley
8b2dbc3dca Backout 345ae68f15f4, b3b40121ac8d, 0d18b7a246d7, 9dbb6064ab58, dee9d7fa8eb6, 63eec6bfa948, 323c6be7cfe8 & f4aac7523a48 (bug 732875) for compilation failures 2012-05-14 21:05:24 +01:00
Benoit Jacob
8fbc0a34da 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
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
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
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
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
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
37b876e003 Bug 750769. Add logging code to dump events for diagnosis. r=cpearce 2012-05-04 17:05:42 +12: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
Paul ADENOT
883f155841 Bug 462960 - Add tests for the played member. r=cpearce 2012-04-30 20:29:29 -04: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
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
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
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
Abhishek Bhatnagar
98d9a07062 Bug 620164 - Remove CheckedInt and Muloverflow from nsTheoraState::MaxKeyframeOffset. r=cpearce 2012-04-11 07:44:28 -04: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
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
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
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
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
Robert O'Callahan
159f4c1c21 Bug 646331. Fix duration of big.wav. r=cpearce 2012-03-19 12:36:06 +13:00
Matthew Gregan
aaae0699d4 Bug 734784 - Clean up some include lists in content/media. r=cpearce 2012-03-12 15:19:31 +13:00
Adam Dane
dba68c3e9d 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
8fd79ff7fe Bug 693021 - Back out the incorrect removal of bug 673698's fixed. 2012-03-05 19:19:45 +13:00
Matthew Gregan
825732279c Bug 693021 - Bail from AdvanceFrame early if no longer playing. r=cpearce 2012-03-05 15:27:49 +13:00
Justin Lebar
b682bbe4a5 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
83e74f7378 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
2bb439b67e Bug 730425 - Performa an additional range check in stream read. r=roc 2012-02-28 17:38:46 +13: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
Masatoshi Kimura
d1bbe6a3ba Bug 720208 - Implement DOM4 DOMException types and codes. r=smaug,ms2ger 2012-02-23 01:34:14 +01:00
Ching Wei Tseng
d2d97ed00b Bug 601535 - content/media should use CheckedInt.h. r=doublec 2012-02-22 13:28:06 +01:00
Ms2ger
bfbd442bda Bug 726416 - Fix some content/ build warnings; r=mounir 2012-02-21 10:34:01 +01: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
Bill McCloskey
c6cd982f05 Bug 641025 - Incremental GC (r=igor,smaug,roc,cdleary,gregor) 2012-02-17 14:35:20 -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
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
Robert O'Callahan
66ac4221f8 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
eac2102182 Bug 673698 - Don't update video playback position during seek. r=roc 2012-02-14 21:48:16 +13:00
Phil Ringnalda
9f50602120 Back out 7f81109133b5 (bug 725221), 135721f3720b (bug 726891), aef4ead175b4 (bug 726894) for orange 2012-02-13 22:31:22 -08:00
Robert O'Callahan
e9992c0076 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
dc638382f4 Bug 725152 - Only use force_stereo_mode pref if it's explicitly set. r=kinetik 2012-02-14 15:35:26 +13:00
Zack Weinberg
f653e49889 Bug 682141 band-aid: add another todo missed the first time. r=cpearce 2012-02-05 20:32:43 -08:00
Matthew Gregan
37bc4473ce Bug 723781 - Disable libcubeb for now.
--HG--
extra : rebase_source : 23c5d8448d65e2b18a10e61e079f44f261cdb71a
2012-02-03 21:31:43 +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
Matthew Gregan
bc3ac64aeb Bug 723793 - Lazily initialize libcubeb on first use. r=roc 2012-02-03 16:01:40 +13:00
Matthew Gregan
ad7180d548 Bug 677138 - Integrate libcubeb into a buffered nsAudioStream API. r=cpearce 2012-01-13 10:20:36 +13:00
Ed Morley
df5e69d443 Backout 0e6b1dfaa99c (bug 720208) for M1 orange 2012-02-01 12:58:07 +00:00
Masatoshi Kimura
6022955a50 Bug 720208 - Implement DOM4 DOMException types and codes. r=ms2ger,smaug 2012-02-01 11:36:42 +01:00
Chris DeCairos
6a271f929d Bug 715323 - Make offset paramater in NotifyDataArrived PRInt64 r=cpearce 2012-02-01 11:05:51 +13: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
Christopher De Cairos
3aee7066ec Bug 686137 - Make nsMediaDecoder::RequestFrameBufferLength virtual. r=kinetik 2012-01-25 13:38:23 +13:00
Christopher De Cairos
af4e725c31 Bug 686137 - Add test for setting mozFrameBufferLength. r=kinetik 2012-01-25 13:38:22 +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
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
841966d0b2 Bug Bug 713381 - backout 38271572005b,d5ebbc25b4b8,6435f51dd10d. r=backout 2012-01-19 11:56:54 +13:00
Chris Pearce
b748373b98 Bug 713381 - Queue media decode thread creation when limit reached. r=roc 2012-01-19 09:15:57 +13:00
Chris Pearce
cc9b66e5ff Bug 713381 - Add null check on decoder state machine. r=roc 2012-01-19 09:15:47 +13:00
Ms2ger
d0513e5d06 Merge m-c to m-i. 2012-01-11 12:15:35 +01:00
Ms2ger
236b6c12a8 Bug 699731 - Remove PR_INT64_MAX / PR_UINT64_MAX from non-nsprpub source; r=ted 2012-01-11 09:23:07 +01:00
Chris Pearce
4128f6843e Bug 712738 - Cap seeking outside of buffered data in live streams to end of buffered data. r=kinetik 2012-01-06 19:40:51 +13:00
Chris Pearce
1ea03d38a1 Bug 716417 - Don't add media elements to the element table twice if when we hit decode thread limit. r=roc 2012-01-11 11:58:43 +13:00
Kyle Huey
673b3c5619 Bug 714445: nsWebMReader should not read preferences off the main thread. r=roc 2012-01-01 12:10:49 -05:00
Plop
7b86139dad Bug 711446: Test defaultMuted with reflect.js; r=Ms2ger 2011-12-28 09:13:37 +01:00
Ed Morley
562d844eab Backout b02402b95e5c (bug 708277) for build failures on all platforms 2011-12-22 11:07:12 +00:00
Thomas Prip Vestergaard
168dd4330b Bug 708277 - Replace PR_MAX with NS_MAX. r=roc 2011-12-22 11:47:59 +01:00
Jeff Walden
ec238d2c71 Bug 711799 - Fix a bunch of unused-variable warnings. r=dholbert
--HG--
extra : rebase_source : 91fc77dca316018652d4d99f6d4cc8d0f7195e6e
2011-12-18 01:00:42 -05:00
Andrew Quartey
401bb33b35 Bug 706731: Support for defaultMuted DOM attribute on media elements. r=kinetik,bzbarsky 2011-12-15 14:36:46 -05:00
Robert O'Callahan
f053e0e74d Bug 687972. Remove logging that we added to hunt down the bug. 2011-12-15 23:26:42 +13:00
Robert O'Callahan
4e9160dcd9 Bug 687972. Ignore closed streams when computing whether all streams for the resource are suspended. r=cpearce 2011-12-15 23:26:42 +13:00
Ehsan Akhgari
77290336fb Bug 709721 - Part 2: Access vpx_codec_vp8_dx_algo through the function accessor to make things work cross-modules. r=cpearce 2011-12-15 06:40:22 +01:00
Andrew Quartey
faa8be8d82 Bug 706010 - Remove NS_SPECIALIZE_TEMPLATE and HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX; r=khuey a=cleanup/removal 2011-12-13 14:17:59 +00:00
Robert O'Callahan
366ad97984 Bug 687972. More logging. 2011-12-09 17:48:40 +13:00
Jeff Walden
91683ae3e3 Bug 704313 - Implement mozilla/StdInt.h. r=cjones
--HG--
extra : rebase_source : b221134fdfbde13a37a6ef621bba3ca183a46101
2011-11-22 17:42:57 -08:00
Robert O'Callahan
d71538d413 Bug 687972. Set mCacheSuspended/mChannelEnded flags on all streams *before* calling CacheClientSeek/Resume/Suspend on any stream, because nsMediaChannelStream::CacheClientSuspend will call nsBuiltinDecoder::NotifySuspendedStatusChanged which will call nsMediaChannelStream::IsSuspendedByCache which will call nsMediaCacheStream::AreAllStreamsForResourceSuspended which relies on mCacheSuspended/mChannelEnded being set correctly for all streams for that resource. r=doublec 2011-12-02 17:43:42 +13:00
Robert O'Callahan
b545dcdcf5 Bug 687972. Even more logging... 2011-12-02 10:19:43 +13:00
Robert O'Callahan
e4ed980ff3 Bug 687952. Fix bustage 2011-12-01 23:32:11 +13:00
Robert O'Callahan
e6de305808 Bug 687972. More logging... 2011-12-01 23:16:26 +13:00
Brad Lassey
8d2f605b6d Bug 687972 - backing out changesets b17ab862bbc1 and a6db0c6c94a3 r=orange 2011-11-30 22:59:00 -05:00
Robert O'Callahan
40b1eba721 Bug 687972. Remove logging code now that we've fixed the bug. 2011-12-01 15:49:50 +13:00
Robert O'Callahan
8e239f139e Bug 687972. Don't count streams whose channel has ended when looking to see if there's any non-suspended stream for a resource. r=cpearce 2011-12-01 12:09:10 +13:00
Robert O'Callahan
c93e7bfd25 Bug 687972. Add a little bit more logging. 2011-12-01 00:16:19 +13:00
Robert O'Callahan
57e160644f Bug 687972. Try 2: Run autoplay for an element after reaching loadedmetadata if all download streams for its resource are suspended by the media cache. r=cpearce 2011-11-30 18:05:49 +13:00
Chris Pearce
c464511c47 Bug 705994 - Ensure test_preload_actions doesn't try to finish test cases multiple times. r=roc 2011-11-30 11:01:14 +13:00
Robert O'Callahan
e7e86ae97b Adding more logging to try to track down bug 687972. 2011-11-29 16:12:40 +13:00
Chris Pearce
c77ce3044c Bug 687972 - Add some verification to MediaTestManager. r=roc 2011-11-29 12:17:09 +13:00
Robert O'Callahan
5755e41c5c Bug 703379. Keep a table of media elements indexed by URI and when loading, try to find an existing element with the same URI and clone its decoder. r=doublec 2011-11-25 15:06:22 +13:00
Robert O'Callahan
4f2e71dc44 Bug 703379. Rename nsMediaDecoder::GetCurrentStream to GetStream. Make nsMediaStream::URI() const. r=doublec 2011-11-25 15:06:20 +13:00
Matthew Gregan
a4cbf2b7f4 Bug 695986 - Fix bug 669556 on Android. r=cpearce 2011-11-22 13:17:38 +13:00
Robert O'Callahan
1a60edba9a Backing out part of bug 703379 to fix build failure of nsRawReader 2011-11-24 12:30:03 +13:00
Robert O'Callahan
58e9a065d6 Bug 703379. Keep a table of media elements indexed by URI and when loading, try to find an existing element with the same URI and clone its decoder. r=doublec 2011-11-24 12:05:13 +13:00
Robert O'Callahan
fc5886fa9f Bug 703379. Rename nsMediaDecoder::GetCurrentStream to GetStream. Make nsMediaStream::URI() const. r=doublec 2011-11-24 12:05:12 +13:00
Robert O'Callahan
49ca00bba3 Bug 703379. Fire CacheClientNotifyDataEnded when we clone a decoder which has already reached the end of the download. r=doublec 2011-11-24 12:05:12 +13:00
Robert O'Callahan
fb8d480b72 Bug 703379. Part 3: Ensure that we can extract the data from any partially-read blocks held by any stream for a given resource. r=doublec 2011-11-24 12:01:50 +13:00
Robert O'Callahan
1610c3ef44 Bug 680275. Fix test to ensure that window always gets closed. r=doublec 2011-11-24 12:01:20 +13:00
Chris Pearce
b01fd7d70f Bug 604682 - Remove unnecessary copy of audio data when there's no MozAudioAvailable event listener. r=smaug,kinetik 2011-11-22 13:34:21 +13:00
Matthew Gregan
edb53b6bfa Bug 449157 - Implement loop attribute on media elements. r=roc 2011-11-21 11:59:01 +13:00
Matthew Gregan
3cd3f41ec2 Bug 700555 - Add null check in nsBuiltinDecoder::NotifyDataArrived. r=doublec 2011-11-09 15:42:26 +13:00
Chris Double
336636503f Bug 691096 - Add test - r=cpearce
--HG--
extra : rebase_source : 076426e90960bbd0d60fc2186a93722734677d89
2011-11-08 14:38:22 +13:00
Chris Double
a973f49a80 Bug 691096 - Provide hard limit to number of media elements that can be decoded in parallel - r=cpearce
--HG--
extra : rebase_source : b82ea2e14028f625ea247e93ca6be427e5db815d
2011-11-08 14:38:17 +13:00
Ed Morley
6a998be2c5 Backout 4997c6f8b24d (bug 616542) for causing locally run mochitest-browser-chrome test runs to fail 2011-11-05 18:35:59 +00:00
Rail Aliiev
364e83c545 Bug 616542 - Shorten file path length of mochitest; r=ted 2011-11-04 21:13:42 +00:00
Marco Bonardo
7db3b9061d Backout 12744c5b688d, edefcb820429 to investigate Android C1 permaorange. 2011-11-03 09:24:02 +01:00
Chris Double
c480f8911e Bug 691096 - Add test - r=cpearce
--HG--
extra : rebase_source : c2758165d8ef6bd31d180588efe9dfd0023d0707
2011-11-03 14:58:59 +13:00
Chris Double
bb113c8974 Bug 691096 - Provide hard limit to number of media elements that can be decoded in parallel - r=cpearce
--HG--
extra : rebase_source : 23bc74b97aa678f47e812351a9443cbf223f808e
2011-11-03 14:58:54 +13:00
Ralph Giles
e86f414e30 Bug 695102 - fix a comment typo. r=cpearce 2011-10-20 10:08:59 +02:00
Matthew Gregan
e31e3f275e Bug 693095 - Fix audio stream position estimation for remoted streams. Also resurrect audio thread wait removed in bug 669556 when using remoted audio streams. r=cpearce 2011-10-19 18:29:08 +13:00
Chris Double
fa522acee3 Bug 686957 - Display final frame of video when seeking to end - r=kinetik
--HG--
extra : rebase_source : 4ba333f6de5d287f1b37cee7b4b34adb93bb4e85
2011-09-30 17:15:24 +13:00
Chris Double
aa7ee53711 Bug 686942 - Add test - r=kinetik
--HG--
extra : rebase_source : 722b14f4731f46c598c1dcc2b7495a1f0f133e77
2011-09-30 17:13:15 +13:00
Matthew Gregan
ea722d8a5a Bug 669556 - Calculate OS X sydneyaudio buffer sizes by time, and shrink buffers to 1000ms. Remove buffer refill wait from nsBuiltinDecoderStateMachine::AudioLoop as the buffer fullness estimation is inaccurate. r=cpearce 2011-10-03 15:14:32 +13:00
Matthew Gregan
b91f76289a Bug 690603 - Remove PR_TRUE/PR_FALSE from media code. r=doublec 2011-09-30 12:34:37 +13:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Matthew Gregan
bd4295528f Bug 689432 - Disambiguate use of "samples" by introducing "frames" in a number of places. r=doublec 2011-09-27 16:31:18 +13:00
Chris Double
bd6768da6d Bug 686942: respect pause state when seeking to end and beginning of videos - r=kinetik
--HG--
extra : rebase_source : 9d698ae2e8731040fa8f40b90164889b5a8b5e23
2011-09-27 15:22:09 +13:00
Fabrice Desré
710899e3ab Bug 659188 - Android and media parts [r=blassey] [r=cpearce] 2011-09-26 17:25:41 -07:00
Matthew Gregan
8579719cfc Bug 688516 - Null check mElement before use in NotifyDownloadEnded and AudioAvailable. r=cpearce 2011-09-23 16:27:18 +12:00
Matthew Gregan
49589fa033 Bug 682593 - Avoid possible null dereference during state machine shutdown. r=cpearce 2011-09-21 19:01:00 +12:00
Martin Richard
398b044837 Bug 646333 - Make video constants consistently const T. r=cpearce 2011-09-15 07:39:50 +12:00
Ehsan Akhgari
8718a82f9d Backout changesets 8e9aea2febed, 604544452285 and 9f150c4e1a48 because of Mac OS X 32-bit reftest orange
--HG--
extra : rebase_source : dbc017628f469e980efc8edfa26f8cce0ac7a956
2011-09-08 11:30:22 -04:00
Oleg Romashin
9427b94ce8 Bug 685258 - Pulse audio backend does not check provided playback and crashes r=derf 2011-09-08 12:51:25 +02:00
Felix Fung
1efc4b73a9 Bug 577266 - Correct misspellings in source code: 'verion' -> 'version' 2011-09-06 22:50:26 -07:00
Chris Pearce
20ce360676 Bug 683421 - Make MediaTestManager less 'batchy'. r=kinetik 2011-08-31 15:38:10 +12:00
Chris Double
6282bd0d7d Bug 679262 - Seeking to end of file during loadedmetadata event breaks further playback - r=cpearce
--HG--
extra : rebase_source : 1ecffe9613128724e38060d44a46a5bdbcc6fb18
2011-08-29 13:35:52 +12:00
Chris Double
017ca5a5d8 Bug 682141 - Mark test that reads video fragment end time as todo due to intermittent timing issues related to sound buffers - r=cpearce
--HG--
extra : rebase_source : 0cf9bb517b727fa1f163f80d22d62ea0bddff7a3
2011-08-29 13:33:07 +12:00
Chris Double
4bb2da9957 Bug 648595 - Part 2/2: Tests for temporal media fragments support - r=cpearce
--HG--
extra : rebase_source : 45e62dc05dff2660a07b43989cdb179e91ac31a5
2011-08-25 11:42:27 +12:00
Chris Double
1e5e4609a1 Bug 648595 - Part 1/2: Implement temporal dimension portion of Media Fragments URI specification for video/audio - r=cpearce
--HG--
extra : rebase_source : f9b5986e739a091c37caeb882904434f21fb6d81
2011-08-25 11:42:23 +12:00
Chris Pearce
74aeb8ac09 Bug 671745 - Remove another unnecessary and orange-inducing play() in test_replay_metadata. r=kinetik 2011-08-23 10:35:22 +12:00
Josh Matthews
9a5037c360 Bug 680275 - Ensure that the video load begins before adding the video to a new document. r=roc 2011-08-18 18:38:26 -04:00
Chris Pearce
858ae394a1 Bug 671745 - Remove unnecessary and orange-inducing play() in test_replay_metadata. r=doublec 2011-08-18 16:41:24 +12:00
Matthew Gregan
1eaa941a74 Bug 679269 - Rename SoundData{,Value} to AudioData{,Value} and fix inconsistent use of "sound" vs "audio". r=doublec 2011-08-16 17:19:51 +12:00
Matthew Gregan
f0cf2aa37d Bug 679261 - sa_stream_get_min_write should return a result in bytes, not frames. r=cpearce 2011-08-16 15:47:45 +12:00
Matthew Gregan
6a2291960b Bug 623444 - Remove unused non-blocking code from nsAudioStream. r=doublec 2011-08-08 12:51:04 +12:00
Chris Pearce
4c092f1160 Bug 665344 - Ensure minWriteSamples samples written before sleeping in AudioLoop drain. r=kinetik 2011-08-16 15:32:10 +12:00
Malini Das
960a7c7495 Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- new tests. r=jmaher, a=test-only 2011-08-12 12:21:44 -04:00
Malini Das
02665c9658 Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- plain 1/1. r=jmaher, a=test-only 2011-08-12 12:21:42 -04:00
Malini Das
da32b5cbd3 Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- update tests. r=jmaher, a=test-only 2011-08-12 12:21:37 -04:00
Matt Brubeck
f2cba5adcb Merge the last green changeset from mozilla-inbound to mozilla-central 2011-08-12 06:41:55 -07:00
Ms2ger
9414376b01 Bug 677101, part b - Remove nsContentUtils.h includes from headers; r=volkmar 2011-08-11 15:29:50 +02:00
Paul ADENOT
36cf6a91a7 Bug 462960 - Implement nsIDOMHTMLMediaElement::GetSeekable() + seeking algorithm part 7. r=cpearce 2011-08-09 12:10:48 +02:00
Daniel Holbert
aaace3b649 Bug 678256: Fix init list warning for nsBuiltinDecoderStateMachine. r=cpearce 2011-08-11 15:19:56 -07:00
Chris Pearce
e9746ae18e Bug 675747 - Handle multiple bos pages in a single ogg bitstream. r=doublec 2011-08-05 08:44:24 +12:00
Chris Double
155df8e73f Bug 666132: Account for trailing data in the last frame of audio data in ogg backend debug code - r=cpearce 2011-08-03 15:08:56 +12:00
Marco Bonardo
e54d67ac13 Backout changesets e0aab5011b70, 0040f406ea6d (Bug 462959) due to intermittent crashes in its own test. 2011-08-02 23:36:14 +02:00
Paul ADENOT
6c67043066 Bug 462959 - Tests for HTMLMediaElement.played; r=cpearce+kinetik 2011-07-03 11:53:39 +02:00
Matthew Gregan
d378429e10 Bug 675630 - Fix null dereference in media memory reporter. r=cpearce 2011-08-02 15:21:52 +12:00
Paul ADENOT
99d65b2f85 Bug 619752 part 1 - Duration should be +Inf on infinite length video streams. Core changes and corresponding test fixes. r=cpearce 2011-08-01 14:11:20 -04:00
Chris Pearce
b97df9d7cd Bug 675045 - Abort DecodeToTarget() when we detect a poorly muxed file. r=kinetik 2011-08-01 14:45:58 +12:00
David Volgyes
2b21de9549 Bug 673154 - Use nsAutoArrayPtr for SoundDataValue allocations to simplify ownership. r=cpearce 2011-07-29 13:54:21 +12:00
Matthew Gregan
db3428cfec Bug 672755 - Add memory reporters for decoded video and audio queues. r=cpearce r=joe 2011-07-22 15:17:23 +12:00
Chris Pearce
7ee610a982 Bug 664341 - Specify media decoder's thread stack size. r=kinetik 2011-07-27 15:28:03 +12:00
Matthew Gregan
5ed522c02f Bug 645773 - Reorder a sensitive computation to avoid signed vs unsigned issues. Return a null range from SelectSeekRange when stream length is unknown. r=cpearce 2011-04-01 17:18:43 +13:00
Chris Pearce
0cf7b30f03 Bug 671438 - Make nsOggCodecState::PacketOutUntilGranulepos() return an error on failure. r=doublec 2011-07-19 09:36:30 +12:00
Chris Pearce
c863a795c0 Bug 671978 - Make nsRawReader build after changes added in bug 592833. r=doublec 2011-07-19 09:35:58 +12:00
Chris Pearce
f2608ac6df Bug 670726 - Remove ns{Ogg,WebM}Reader::CanDecodeToTarget(), it makes invalid assumptions. r=kinetik 2011-07-14 09:24:35 +12:00
Chris Pearce
29ce960c4b Bug 592833 - Don't hold decoder monitor while audio stream does sync dispatch to main thread (on Android). r=roc 2011-07-12 15:40:38 +12:00
Chris Pearce
94901f979a Bug 592833 - Update comments for new video decoder thread model. r=roc 2011-07-12 15:39:39 +12:00
Chris Pearce
ea5c48904a Bug 592833 - Shutdown inactive media decode threads, don't start audio thread until needed. r=roc 2011-07-12 15:39:37 +12:00
Chris Pearce
f75f5e57e5 Bug 592833 - Merge all media state machines into a single thread. r=roc 2011-07-12 15:39:34 +12:00
Chris Pearce
09f21e3e39 Bug 592833 - Run media state machine as a series of events. r=roc 2011-07-12 15:39:32 +12:00
Chris Pearce
8505e98e72 Bug 592833 - Move audio stream management to audio thread. r=? 2011-07-12 15:39:30 +12:00
Chris Pearce
fabed158ed Bug 592833 - Remove nsBuiltinDecoderReader monitor. r=roc 2011-07-12 15:39:28 +12:00
Chris Pearce
1e2942a0a5 Bug 592833 - Move seeking to the decode thread. r=roc 2011-07-12 15:39:25 +12:00
Chris Pearce
b6b4964da4 Bug 592833 - Move metadata decoding to decode thread. r=roc 2011-07-12 15:39:23 +12:00
Chris Pearce
41ca01723d Bug 592833 - Split StartDecodeThreads() into StartDecodeThread() and StartAudioThread() for finer control. r=roc 2011-07-12 15:39:10 +12:00
Chris Pearce
36ee2c9068 Bug 670055 - Seek video to exact audio sample. r=kinetik 2011-07-09 13:10:40 +12:00
Masayuki Nakano
baf54af560 Bug 663039 content should use mozilla::Preferences r=roc+jwatt+chris.double+bjacob 2011-07-07 11:00:02 +09:00
Chris Pearce
740b9b2109 Bug 635726 - Escape backoff in Ogg seek when we back off back to start of seek target range. r=doublec 2011-07-07 09:51:26 +12:00
Chris Pearce
fb29383b24 Bug 635726 - Ignore Ogg header pages in seek timestamp capture. r=doublec 2011-07-07 09:50:44 +12:00
Chris Pearce
a24dd67388 Bug 592833 - Backout due to suspected android crashtest permaorange. r=philor 2011-07-06 19:21:49 +12:00
Chris Pearce
560834288e Bug592833 - Update comments for new video decoder thread model. r=roc 2011-07-06 10:05:25 +12:00
Chris Pearce
ddcb51609e Bug 592833 - Shutdown inactive media decode threads, don't start audio thread until needed. r=roc 2011-07-06 10:05:24 +12:00
Chris Pearce
85587ab2a6 Bug 592833 - Merge all media state machines into a single thread. r=roc 2011-07-06 10:05:24 +12:00
Chris Pearce
c5544bacac Bug 592833 - Run media state machine as a series of events. r=roc 2011-07-06 10:05:24 +12:00
Chris Pearce
ae862e3479 Bug 592833 - Move audio stream management to audio thread. r=roc 2011-07-06 10:05:08 +12:00
Chris Pearce
0811c3e838 Bug 592833 - Remove nsBuiltinDecoderReader monitor. r=roc 2011-07-06 10:03:32 +12:00
Chris Pearce
7da896cb74 Bug 592833 - Move seeking to the decode thread. r=roc 2011-07-06 10:03:21 +12:00
Chris Pearce
863da21429 Bug 592833 - Move metadata decoding to decode thread. r=roc 2011-07-06 10:03:11 +12:00
Chris Pearce
995f75ab9e Bug 592833 - Split StartDecodeThreads() into StartDecodeThread() and StartAudioThread() for finer control. r=roc 2011-07-06 10:03:01 +12:00
Daniel Holbert
b05ff8ffad Bug 669237: Fix init list order in nsBuiltinDecoderReader.h r=cpearce 2011-07-04 18:31:28 -07:00
Phil Ringnalda
902b4e6f6f Back out 29ec386d969f and ed18b0cca283 (bug 462959) for a very frequent assertion loop in test_played.html 2011-07-03 18:26:00 -07:00
Paul ADENOT
0ffaf34b2d Bug 462959 - Tests for HTMLMediaElement.played; r=cpearce+kinetik 2011-07-03 11:53:39 +02:00
Chris Pearce
55651bb5b6 Bug 655648 - Update media readyState more often, exit decode thread when decode finishes. r=kinetik 2011-07-01 11:00:22 +12:00
Paul ADENOT
913b92aa91 Bug 667929 - OGG media buffered member is not correct when the stream is infinite; r=cpearce 2011-06-30 14:25:27 +02:00
Ed Morley
af1d9c6c2b Bug 661584 - Code cleanup, substitute more PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc,ted 2011-06-25 16:06:02 +02:00
Chris Pearce
b364e365c4 Bug 661456 - Scale WebM video frames to display size. r=kinetik 2011-06-24 10:08:54 +12:00
Ed Morley
ae93e8e8ed Bug 665546 - Fix unused variable warning in nsMediaStream.cpp; r=roc 2011-06-21 17:37:45 +02:00
Chris Pearce
b17cf981d7 Bug 664354 - Make nsBuiltinDecoderStateMachine::GetUndecodedData() return result in usecs. r=roc 2011-06-15 14:26:33 +12:00
Chris Pearce
0ce10721e9 Bug 655648 - Don't enqueue expired theora frames. r=roc 2011-06-09 08:56:45 +12:00
Dominic Fandrey
0ab2f46136 Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-06-02 14:56:50 +02:00
Ed Morley
9e71e5b9ac Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Masayuki Nakano
85c451e309 Bug 660121 Remove all pref related methods from nsContentUtils r=roc 2011-05-29 08:42:57 +09:00
Masayuki Nakano
2b6aea130f Bug 660401 Re-land the previous backed out patch 2011-05-28 16:03:00 +09:00
Masayuki Nakano
4dede19235 Bug 660401 temporary backout the patches for bug 659820 and bug 659821 for investigating talos regression 2011-05-28 13:50:19 +09:00
Masayuki Nakano
1f171993d1 Bug 659820 part.4 Replace nsContentUtils::Get(Char|String)Pref() with Preferences::GetC?String() r=roc 2011-05-27 13:53:03 +09:00
Masayuki Nakano
49814a538d Bug 659536 part.2 Replace nsContentUtils::GetIntPref() with Preferences::GetInt() or Preferences::GetUint() r=roc 2011-05-25 15:32:00 +09:00
Michael Wu
25810946a8 Bug 656804 - build broken with --enable-raw r=blassey a=gavin 2011-05-23 17:23:13 -07:00
Chris Pearce
ecc5e88894 Bug 658177 - Fix potential deadlock in gVolumeScaleLock. r=roc 2011-05-19 21:00:39 +12:00
Chris Pearce
7245639e75 Bug 652475 - Add media.volume_scale pref to scale output volume without changing reported volume. r=roc 2011-05-19 09:12:25 +12:00
Paul ADENOT
fd896d6eec Bug 620331 - Remote nsAudioStreamRemote::GetMinWriteSamples; r=kinetik 2011-05-15 12:53:55 +02:00
Chris Pearce
6d6e37a982 Bug 651023 - Round up wait times to 1ms to ensure we drop the decoder monitor when presenting video frames. r=kinetik 2011-05-12 14:02:34 +12:00
Chris Pearce
055f6af4bb Bug 656480 - Make test_bug495300 use MediaTestManager. r=roc 2011-05-12 14:02:34 +12:00
Chris Pearce
c47b80f93b Bug 566779 - Clean up media start and end time calculation. r=doublec 2011-05-09 09:10:28 +12:00
Chris Pearce
ccae22ade2 Bug 650994 - Decode ogg packets lazily, timestamp them at demux time. r=doublec 2011-05-08 18:24:09 +12:00
Paul ADENOT
2d28100bc1 Bug 654956 : Added private: statement in nsAudioStreamRemote. r=kinetik 2011-05-05 12:18:06 +02:00
Chris Jones
ed22df8f64 Bug 556214, parts 1 and 1.1: Rename Monitor to ReentrantMonitor and fix existing Monitor users. r=roc
--HG--
rename : xpcom/glue/Monitor.h => xpcom/glue/ReentrantMonitor.h
2011-04-29 14:21:57 -05:00