Commit Graph

188 Commits

Author SHA1 Message Date
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
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
Chris Pearce
b17cf981d7 Bug 664354 - Make nsBuiltinDecoderStateMachine::GetUndecodedData() return result in usecs. r=roc 2011-06-15 14:26:33 +12: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
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
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
Chris Pearce
bf7fe4cec2 Bug 650157 - Push nsBuiltinDecoderReader::mDataOffset down into nsOggReader. r=doublec 2011-04-15 13:29:54 +12:00
Chris Pearce
a259c20cba Bug 641718 - Convert to using microseconds for internal video timestamps. r=kinetik 2011-04-14 10:12:23 +12:00
Yury
7aad392535 Bug 638807 - Data race on nsBuiltinDecoder::mFrameBufferLength; r=chris.double 2011-04-11 17:15:45 -04:00
Ehsan Akhgari
19700d3af2 Backout changeset c51a334e99d9 (bug 638807) because of crashtest orange 2011-04-10 02:01:36 -04:00
Yury
07d8571fef Bug 638807 - Data race on nsBuiltinDecoder::mFrameBufferLength; r=chris.double 2011-04-09 23:35:12 -04:00
Matthew Gregan
e9c4f4002b Bug 645593 - Null check mAudioStream before use in PlaySilence. r=cpearce 2011-03-30 18:45:44 +13:00
Chris Double
bf27fe5198 Bug 639721 - Fix data race on nsBuiltinDecoderReader::mInfo - r=kinetik
--HG--
extra : rebase_source : 5e58af70c75f563ae7dd7d62e3be897a3c244e85
2011-03-24 16:53:03 +13:00
Chris Pearce
7e89e95619 Bug 693391 - Pin nsMediaStream while determining buffered ranges. r=roc 2011-03-24 11:28:58 +13:00
Chris Pearce
2f263be1cb Bug 628665 - Supress warnings in nsBuiltinDecoderStateMachine. r=roc 2011-03-24 11:28:58 +13:00
Chris Pearce
edfec66da5 Bug 628665 - Exit media buffering state quicker if we entered it too soon after starting decode. r=roc 2011-03-24 11:28:57 +13:00
Chris Pearce
a77b17534e Bug 628665 - Buffer media when low on undecoded data. r=roc 2011-03-24 11:28:57 +13:00
Chris Pearce
c6a5fc5f37 Bug 628665 - Resurrect nsBuiltinDecoderStateMachine::HasLowDecodedData(). r=roc 2011-03-24 11:28:57 +13:00
Chris Pearce
c285d2e2af Bug 580531 - Implement HTMLMediaElement.mozPaintedFrames and mozFrameDelay. r=roc 2011-03-24 11:28:57 +13:00
Chris Pearce ext:(%2C%20Chris%20Double%20%3Cchris.double%40double.co.nz%3E)
a74080606c Bug 580531 - Add video demuxing/decoding stats. r=kinetik sr=roc 2011-03-24 11:28:57 +13:00
Matthew Gregan
a428e1ccf4 Bug 636894 - Revert bug 634787's change to AUDIO_DURATION_MS to work around a regression in MozAudioAvailable event delivery. r=roc a=roc 2011-03-02 14:40:44 +13:00
Matthew Gregan
a2f5d89538 Bug 634787 - Fix frame wait calculation and early return from Wait(). r=cpearce a=roc 2011-02-18 15:30:33 +13:00
Matthew Gregan
f6eec8c272 Bug 627139 - Report seek target as current time immediately after seeking. r=roc a=roc 2011-02-01 15:57:13 +13:00
Chris Double
b32f5cc9a4 Bug 630461 - Fix signed/unsigned comparison compiler warnings in nsBuiltinDecoderStateMachine - r=cpearce a=roc
--HG--
extra : rebase_source : 5e9423a0749e9cd9e4cc87aa5c8bf0b87710d434
2011-02-02 14:35:47 +13:00
Chris Pearce
7866b5b1cd Bug 607838 - Don't drain audio stream when it's paused, it won't finish. r=kinetik a=blocking2.0:final
--HG--
extra : rebase_source : b7faedb35343ca22d35e40e77bd5c63175ad608a
2011-02-03 12:44:40 +13:00
Chris Double
c54ff75ce8 Bug 607838 - Allow audio drains to be interrupted - r=cpearce a=blocking2.0:final
--HG--
extra : rebase_source : 664d1b27f71daf1db7fc4ae165174f6668273ad7
2011-02-02 14:31:53 +13:00
Chris Pearce
cba19c676e Bug 626979 - Handle WebM frame size changes. r=kinetik a=blocking2.0
--HG--
extra : rebase_source : f8f4abe0b2249d964d6215562ff050046729b639
2011-01-28 19:36:03 +13:00
Chris Pearce
f0aaf70d6b Bug 623637 - Change assertion into check in media data exhausted notification. r=roc a=roc 2011-01-18 21:09:04 +13:00
Matthew Gregan
31cc4eb4f7 Bug 626273 - Correct boundary seek logic. Change media element IDL floats to doubles per the spec. Invalidate updated frame after seeking. Optimize small forward seeks in WebM. r=cpearce a=roc 2011-01-17 16:03:00 +13:00
Chris Pearce
0dc06f3103 Bug 623637 - Initiate media buffering when decode hits end of downloaded data, rather than when they're close. r=roc a=roc 2011-01-18 13:53:18 +13:00
Chris Pearce
1cb5593661 Bug 623637 - Restore playback statistics to enable more accurate media buffering duration calculation. r=roc a=roc 2011-01-18 13:53:18 +13:00
Chris Pearce
757d8f1ec3 Bug 620326 - Ensure media decoder loop always makes its decision to sleep based on up-to-date information. r=roc a=roc 2011-01-13 14:06:15 +13:00
Chris Pearce
b1b833ee64 Bug 616800 - Ensure AudioLoop() doesn't sleep, and can still drain, if we've pushed less than the start threshold of audio to hardware. r=kinetik a=blocking2.0 2010-12-20 08:05:40 +13:00
Chris Pearce
f5237f4e38 Bug 610570 - Only skip to next keyframe when not running out of data to decode. r=roc a=blocking2.0 2010-11-29 09:06:38 +13:00
Doug Turner
90d1b10e31 [Bug 613982] Crash [@ libdvm.so@0x48c42 ] in sa_stream_write when closing a tab playing audio. r=kinetik. a=blocking-fennec
--HG--
extra : rebase_source : 825c83d3e804d9786b09a74e6ba216d03aa6d896
2010-11-22 14:08:49 -08:00
Doug Turner
dd28fadfc9 Bug 599089 - Remote Audio to parent process. r=kinetik a=blocking-fennec
--HG--
extra : rebase_source : 8552e45188f1e62a56d5e93b551ec9fb0d4faaca
2010-11-16 20:14:19 -08:00
Chris Pearce
46fa35ee53 Bug 503623 - Ensure the decoder doesn't sleep forever after filling its buffers when paused. r=doublec a=roc 2010-11-05 13:44:33 +13:00
Timothy B. Terriberry
8dd1e23dc0 Bug 511348 - Integrate Tremor for Vorbis decoding for non/slow-FPU platforms. r=chris.double a=blocking-fennec
--HG--
extra : rebase_source : 807703f9008d0e6c3829370a8a84e0914e2ccb29
2010-10-18 19:55:45 -07:00
Chris Pearce
7070c1834b Bug 604067 - Handle error codes from libvorbis in WebM reader. r=kinetik a=blocking2.0 2010-10-17 08:57:45 +13:00
Chris Pearce
aeee50f925 Bug 603226 - Remove nsBuiltinDecoderStateMachine::mBufferExhausted because its unreliable. r=roc a=blocking2.0 2010-10-17 07:41:53 +13:00
Chris Pearce
8c36e03781 Bug 603226 - Backed out changeset f63595eb0733 a=backout 2010-10-17 10:05:21 +13:00
Chris Pearce
4804314db4 Bug 603226 - Remove nsBuiltinDecoderStateMachine::mBufferExhausted because its unreliable. r=roc a=blocking2.0 2010-10-17 07:41:53 +13:00
Chris Pearce
cbe8f49dcf Backed out changeset 00382c4a8b22 a=backout 2010-10-13 20:10:37 +13:00
Chris Pearce
fb575c66f9 Bug 603226 - Remove nsBuiltinDecoderStateMachine::mBufferExhausted because its unreliable. r=roc a=blocking2.0 2010-10-13 19:36:03 +13:00
Chris Pearce
4fb016a01e Bug 598140 - Set media curentTime correctly after seek when sound is disabled. r=kinetik a=blocking2.0 2010-10-07 11:58:36 +13:00
Chris Pearce
43d505f1f4 Bug 584068 - Don't consider our canplaythrough status on live streams when moving out of buffering state. r=kinetik a=blocking2.0 2010-10-07 11:58:36 +13:00
async.processingjs@yahoo.com
23de2accd2 Bug 598812 - Fix time attribute of audio available event. r=cpearce a=blocking2.0 2010-10-07 11:58:36 +13:00
Chris Pearce
9e4234dc37 Bug 598242 - Normalize WebM buffered TimeRanges. r=kinetik a=blocking2.0 2010-10-07 11:58:36 +13:00
Matthew Gregan
f3d96bd23a Bug 598217 - Share nsWebMBufferedState between cloned decoders. r=roc a=blocking2.0 2010-09-21 12:49:50 +12:00
Chris Pearce
2fd7f9bd66 Bug 589626 - Update media readystate when crossing HAVE_FUTURE/HAVE_ENOUGH_DATA audio boundary. r=roc a=blocking2.0 2010-09-14 16:24:47 -07:00
Chris Pearce
5e2fd3c5ad Bug 589626 - Make video buffing logic consistent. r=kinetik a=blocking2.0 2010-09-14 16:24:47 -07:00
Chris Pearce
8449b054fc Bug 589626 - Refactor timestamp notation in nsBuiltinDecoderStateMachine. r=kinetik a=blocking2.0 2010-09-14 16:24:47 -07:00
Chris Double
67ab1fd425 Bug 588312 - Set video.currentTime to seek time when seek starts - r=kinetik a=blocking2.0 2010-09-10 14:48:36 +12:00
Chris Pearce
a146561fe9 Bug 589626 - Backed out changeset 757b7a43aad0 a=backout 2010-09-11 14:08:12 +12:00
Chris Pearce
8441595dcc Bug 589626 - Refactor timestamp notation in nsBuiltinDecoderStateMachine. r=kinetik a=blocking2.0 2010-09-11 11:29:11 +12:00
Chris Pearce
d6bef38541 Bug 589626 - Commit merge of backout. a=backout 2010-09-06 16:54:16 +12:00
Chris Pearce
b7a9c66fcf Backed out changeset 619459aa5005 a=backout 2010-09-06 16:53:39 +12:00
Chris Pearce
bed885f419 Bug 589626 merge backout. a=backout 2010-09-06 16:53:03 +12:00
Chris Pearce
519835622d Backed out changeset 528a97f6bc3b a=backout 2010-09-06 16:52:22 +12:00
Chris Pearce
d633f30def Bug 578804 - Defer media volume to the audio thread. r=kinetik a=blocking2.0 2010-09-06 14:14:50 +12:00
Chris Pearce
59f916fab5 Bug 589626 - Make video buffing logic consistent. r=kinetik a=blocking2.0 2010-09-06 14:14:43 +12:00
Chris Pearce
c673663a39 Bug 589626 - Make video buffing logic consistent. r=kinetik a=blocking2.0 2010-09-06 11:59:50 +12:00
David Humphrey
07de814ba1 bug 490705 - Support Audio Data API: Get, Manipulate, Play & Save. r=smaug+kinetik+peterv, sr=vlad, a=vlad 2010-08-25 09:10:00 -04:00
Chris Pearce
22258c3785 Bug 589467 - Shutdown idle media state machine threads. r=kinetik a=sicking 2010-08-25 20:45:45 +12:00
Chris Pearce
b07055071f Bug 519897 - Supported indexed Ogg files. r=doublec 2010-08-20 10:50:37 +12:00
Ted Mielczarek
be942c946d Backed out changeset 1362f0ca86d2 (bug 490705 - Support Audio Data API: Get, Manipulate, Play & Save) due to test failures. 2010-08-18 13:04:31 -04:00
David Humphrey
960122a5de bug 490705 - Support Audio Data API: Get, Manipulate, Play & Save. r=smaug+kinetik+peterv, sr=vlad, a=vlad 2010-08-17 09:40:00 -04:00
Chris Pearce
14ae2bcedd Backed out changeset 7eee00899270 2010-08-18 13:48:34 +12:00
Chris Pearce
1e4886416f Bug 519897 - Supported indexed Ogg files. r=doublec a=roc 2010-08-18 10:49:14 +12:00
Chris Pearce
4f879008f2 Bug 576539 - Only reset playback when seeking to a new position. r=kinetik a=blocking2.0 2010-08-13 14:28:15 +12:00
Chris Pearce
114d346757 Bug 576539 - Inject silence when decoder encounters missing audio in WebM and Ogg media. r=kinetik a=blocking2.0 2010-08-13 14:28:15 +12:00
Chris Pearce
6aa46b1e86 Bug 543769 - Buffer non-autobuffer videos upon first playback to ensure smooth playback. r=roc a=blocking2.0 2010-07-23 10:48:32 +12:00
Matthew Gregan
6000056e18 Bug 579812. Recompute frame end time when recomputing frame start time in DecodeVideoFrame. r=doublec 2010-07-20 13:29:30 +12:00
Matthew Gregan
a6f6401420 Bug 572299 - Stuttering audio playback with some Vorbis files (ffmpeg muxed). r=cpearce 2010-06-22 02:02:02 +02:00
Matthew Gregan
673772b5ef Bug 568431 - Remove the requirement for mCallbackPeriod from the generic media backend. r=doublec 2010-05-31 16:02:00 +12:00
Matthew Gregan
d9920c12f2 Bug 569187 - Ensure mAudioEndTime is not used uninitialized. r=doublec 2010-06-10 15:46:58 +12:00
Chris Double
2e4e26a8dc Bug 566245 - WebM/VP8 decoder backend. r=kinetik 2010-06-09 11:31:27 +12:00
Jesse Ruderman
7868a1eeba Temporarily turn this assertion into a warning because of frequent random orange. Bug 569108 covers turning it back into an assertion. 2010-05-29 21:51:12 -07:00
Chris Double
63a38282f4 Bug 567056. Rename mAspectRatio to mPixelAspectRatio. r=kinetik 2010-05-24 09:36:10 +12:00
Chris Double
65d3fd13c6 Bug 566501 - Remove unnecessary seek from the video decoder base class. r=cpearce 2010-05-21 09:13:01 +12:00
Chris Double
74c69c884b Bug 566498 - Move duration calculation into the video decoder base class. r=cpearce 2010-05-21 09:13:01 +12:00
Chris Double
2caa6041da Bug 566241 - Decode audio when keyframe skipping even if we've got ample audio. r=cpearce 2010-05-21 09:13:01 +12:00
Rich Dougherty
2d7164e741 Bug 557982. Use Image objects in the video frame queue so we can avoid making an extra copy as we put frames into the queue. r=kinetik 2010-05-19 15:04:33 +12:00
Chris Pearce
9afb4be369 Bug 562840 - Fix audio buffering logic to prevent over eager frame dropping on load. r=kinetik 2010-05-13 12:59:42 +12:00
Chris Double
cf776b58a1 Bug 563825 - Factor out non-Ogg specific parts of nsOggPlayStateMachine.cpp Part 2 - r=cpearce sr=roc
--HG--
rename : content/media/ogg/nsOggReader.cpp => content/media/nsBuiltinDecoderReader.cpp
rename : content/media/ogg/nsOggReader.h => content/media/nsBuiltinDecoderReader.h
rename : content/media/ogg/nsOggPlayStateMachine.cpp => content/media/nsBuiltinDecoderStateMachine.cpp
rename : content/media/ogg/nsOggPlayStateMachine.h => content/media/nsBuiltinDecoderStateMachine.h
extra : rebase_source : ca2b9dced11a077b4eb0d5889cd8a0ff25a4b31f
2010-05-06 14:31:02 +12:00
Chris Double
a2c51b95ef Bug 563825 - Factor out non-Ogg specific parts of nsOggPlayStateMachine.cpp Part 1 - r=cpearce sr=roc
--HG--
rename : content/media/ogg/nsOggReader.cpp => content/media/nsBuiltinDecoderReader.cpp
rename : content/media/ogg/nsOggReader.h => content/media/nsBuiltinDecoderReader.h
rename : content/media/ogg/nsOggPlayStateMachine.cpp => content/media/nsBuiltinDecoderStateMachine.cpp
rename : content/media/ogg/nsOggPlayStateMachine.h => content/media/nsBuiltinDecoderStateMachine.h
extra : rebase_source : a5726df63eda9c240db016aaf4e6a92d876fdb68
2010-05-06 14:30:34 +12:00