Commit Graph

97 Commits

Author SHA1 Message Date
Robert O'Callahan
4c5f1dc42a Bug 494336. In DECODER_STATE_DECODING state, if mBufferExhaused is set then stop waiting for the next frame to become available. r=doublec
--HG--
extra : rebase_source : 8b9a35e65cd0ddde311a493b4762fbd58fa2abf6
2009-05-25 12:44:45 +12:00
Chris Pearce
07fd01c8f8 Bug 493958. When decoding ahead to the desired seek position, save up the audio data as we go, because some of it might be needed for the destination frame and later frames. Also, if we reach the end of the frames without finding our destination position, keep the last frame and display it. r=doublec,roc 2009-05-21 17:55:12 +12:00
Chris Double
2ad9f5251f Fix another FrameData leak (Bug 463358). Fixes intermittent orange. 2009-05-21 03:17:21 +12:00
Robert O'Callahan
fa8b7ff6dc Fix FrameData leak (bug 463358) 2009-05-20 21:11:48 +12:00
Robert O'Callahan
cb30f65532 Bug 493109. Shut down step-decode thread from the main decoder thread, instead of synchronously on the main thread at bad times. r=doublec
--HG--
extra : rebase_source : 4af72350a51255e7e8748c726a17f9e88e1a540b
2009-05-19 11:08:08 +12:00
Chris Pearce
5e17d6a960 Bug 463358. Seek to any desired frame without visual artifacts by seeking to the previous keyframe and then decoding forward to the desired frame. r=doublec,roc
--HG--
extra : rebase_source : 602a8f9feb74a1ef88e86424028d8da7bcf57b58
2009-05-20 15:50:44 +12:00
Robert O'Callahan
038ef03387 Backing out bug 493109 on suspicion of causing crashes in linux tests 2009-05-20 00:24:37 +12:00
Robert O'Callahan
7534c33770 Backed out changeset 4b86cbae2846 2009-05-20 00:23:51 +12:00
Robert O'Callahan
017c3d03e8 Bug 493109. Shut down step-decode thread from the main decoder thread, instead of synchronously on the main thread at bad times. r=doublec
--HG--
extra : rebase_source : 3a1a053308fc209181f7f23b234ba2f396de2a6e
2009-05-19 11:08:08 +12:00
Robert O'Callahan
2a3bc2dc98 Bug 480058. Handle non-square Theora pixel-aspect-ratio property. r=doublec
--HG--
extra : rebase_source : 0a43b053b52a9b1e300f7f516517722c44040992
2009-05-19 11:07:19 +12:00
Chris Double
507f48d89a Bug 493673. If a video frame has an audio track but no audio data at all, assume the audio has ended and stuff silence into the audio stream. We need this so that video will keep playing synced to the audio clock. r=roc
--HG--
extra : rebase_source : a1684fbd769ae48602335d312a33aa87ca17b8aa
2009-05-19 17:39:40 +12:00
Robert O'Callahan
1f03994614 Bug 493431. When a frame has no video data, don't try to use the video time. r=doublec
--HG--
extra : rebase_source : 985b41ec426c1cc793634c9f40f6924fbd33ed9b
2009-05-19 17:30:36 +12:00
Chris Pearce
5bf110bcd3 Bug 487612. Let the start time of all media be 0 even if the internal timestamps start with something nonzero. r=doublec,roc
--HG--
extra : rebase_source : ee419a06388a5230cddd79c78ddb86ed99fb6400
2009-05-19 17:25:51 +12:00
Robert O'Callahan
fc6c9fa798 Bug 480058. Handle non-square Theora pixel-aspect-ratio property. r=doublec
--HG--
extra : rebase_source : 762e10566ae85d0f73d7080ccb090533d50bfe66
2009-05-19 11:07:19 +12:00
Robert O'Callahan
43bd7e6097 Bug 493509. Don't fire 'suspend' when the resource is actually fully loaded. r=doublec
--HG--
extra : rebase_source : a7ae1b2f53c7eb4b8a0e270510028d155d79f319
2009-05-19 11:06:10 +12:00
Robert O'Callahan
6ee870e86b Bug 487659. Make sure we never pass a playback rate of 0 to the media cache. r=doublec
--HG--
extra : rebase_source : af86613bb5283e777acf1ca01d67eaa734cb8a0f
2009-05-19 11:05:13 +12:00
Robert O'Callahan
b641e771c8 Bug 493187. Call nsOggDecoder::UpdateReadyStateForData more often so we don't fail to notice state changes, and make it smarter about examining the frame queue. r=doublec
--HG--
extra : rebase_source : 9a45e7cf9dc048956971ecf83b0bcc9bb2e45491
2009-05-19 10:47:08 +12:00
Robert O'Callahan
08a4384325 Bug 493443. Set readyState to HAVE_CURRENT_DATA whenever the Ogg frame queue is empty or we're buffering/seeking, instead of trying to hardcode it based on other events like PlaybackEnded. r=doublec
--HG--
extra : rebase_source : 0b2f938e5f19cbb21258248da9da09e2a525db81
2009-05-19 10:44:17 +12:00
Robert O'Callahan
41e2671e96 Bug 479863. Add ability to close and reopen suspended streams, and recover from server-side disconnect of suspended streams. r=doublec
--HG--
extra : rebase_source : 5ed7825cd919ad3f997f58dafb61c2d4249b60d4
2009-05-18 14:02:20 +12:00
Robert O'Callahan
97c6b9c07b Bug 476973. Don't get confused by repeated seeks in the Ogg decoder. r=doublec 2009-05-18 10:03:03 +12:00
Robert O'Callahan
9a81729d41 Backing out bug 480058 since it seems to have caused reftest failures on Windows 2009-05-19 16:04:16 +12:00
Robert O'Callahan
4f35f8e467 Backed out changeset 49f254a4390e 2009-05-19 16:03:49 +12:00
Chris Double
cc33d9fa6a Bug 461286. Don't try to get more frames if we've completed decoding. r=roc
--HG--
extra : rebase_source : 11346f044176fdaba753e5a4ce5d74ef91ffc493
2009-05-19 12:07:27 +12:00
Chris Double
db0c99f1ca Bug 493494. Stop playback when a seek occurs so that A/V sync doesn't get confused. r=roc
--HG--
extra : rebase_source : 8dd4c7d5e95472cb17f7523db56446966f11f704
2009-05-19 11:11:59 +12:00
Chris Double
d82a5883f7 Bug 466699 - Fix out of sync video and audio - r+sr=roc
--HG--
extra : rebase_source : ee8eedf72add30627fdbeef7cf22bc70a9415362
2009-05-15 13:29:05 +12:00
Chris Double
bb96e85ae7 Bug 474540 - Moves oggplay decoder to separate thread for better playback performance in big videos - r=kinetik sr=roc
--HG--
extra : rebase_source : 8f6925b3dc3a50e8bb02f39d76d2b2444b089b6d
2009-05-13 11:47:52 +12:00
Robert O'Callahan
f1091f285e Bug 486991. Convert nsMediaStream and media decoders to use TimeStamp/TimeDuration. r=doublec 2009-04-11 21:39:24 +12:00
Chris Double
edf11c3233 Bug 487552. Stop playback while buffering so that we don't lose audio sync. r=roc
--HG--
extra : rebase_source : b9d10569862aeed02c424fdaec64a5062fa3c7bc
2009-04-10 13:34:15 +12:00
Chris Pearce
032a093d24 Bug 482885. Ensure media channels are in the document loadgroup. r=bzbarsky,r+sr=roc
--HG--
extra : rebase_source : da14c85f0efd3eda24739161f8195d24117da261
2009-04-10 13:28:24 +12:00
Chris Double
3ee48eece6 Bug 486641. StopPlayback after Drain()ing the audio stream so we create a new audio stream the next time audio is used. r=kinetik 2009-04-06 12:19:33 +12:00
Matthew Gregan
1922412388 Bug 485291 - Update liboggplay to b4a7efa06d46596515071490cb255c3548d90371. rs=roc, r=ted.mielczarek for build changes, r=chris.double for local liboggplay changes
--HG--
extra : rebase_source : 84b9322bc764ff70d0df4bd9ff51c3ec243bdc1d
2009-04-04 01:56:22 +13:00
Robert O'Callahan
cf732d5a07 Bug 475441. Make nsOggDecoder seek instead of reloading when asked to replay after playback has ended. r=doublec 2009-04-01 14:07:10 +13:00
Robert O'Callahan
8cd0db45d0 Bug 475441. Implement media data cache. r=doublec,kinetik 2009-04-01 13:52:56 +13:00
Robert O'Callahan
965a9ce568 Backed out changeset b6a1093e5814 2009-04-01 16:19:00 +13:00
Robert O'Callahan
6e281fcaab Bug 475441. Implement media data cache. r=doublec,kinetik
--HG--
extra : rebase_source : 3907c84869b1c8bad2279295858ff77ab159d6ee
2009-04-01 13:52:56 +13:00
Matthew Gregan
3ce0024448 Bug 485036 - Shut down nsAudioStream when decode state machine shuts down. r=chris.double, sr=roc
--HG--
extra : rebase_source : aed2f4e5b6375c506d2b3afec5cb81b97bdba21d
2009-03-25 15:19:58 +13:00
Matthew Gregan
d9341e98f4 Bug 474748 - Defer YUV conversion until frame paint, and allow SetRGBData to assume ownership of the RGB buffer rather than copying it. r=chris.double, sr=roc
--HG--
extra : rebase_source : 7d122efaed1a506cebe35740f7e6d33bf6311ced
2009-03-17 16:45:00 +13:00
Chris Double
44ae02557b Bug 477899 - Requests for the duration of a media resource are cached by liboggplay, with fix for previous win32 buld error - r+sr=roc 2009-03-03 23:23:54 +13:00
Chris Double
15f12fa8ac Backed out changeset 0722a0e98124 2009-03-03 22:01:06 +13:00
Chris Double
48dfe61909 Bug 477899 - Requests for the duration of a media resource are cached by liboggplay - r+sr=roc 2009-03-03 21:35:50 +13:00
Matthew Gregan
668578fa43 Bug 471024 - volume or mute set early in media load ignored. r=chris.double, sr=roc 2009-02-25 23:59:00 +13:00
Ben Turner
6f7d73bbfd Bug 479725 - 'UMR [@ nsOggDecoder::GetStatistics], nsOggDecoder::mDuration not initialized'. r+sr=roc. 2009-02-22 16:51:06 -08:00
Chris Pearce
f95265dfc7 b=465458 Media selection algorithm changed in r2403 of HTML5 spec r=doublec sr=roc
--HG--
extra : rebase_source : 09a091ebb5c7a42480a423ac304aacedfa286c4c
2009-02-20 15:49:00 +13:00
Chris Double
20725b5f3e Backed out changeset 2b7e176d9e73 2009-02-20 16:01:58 +13:00
Chris Double
fe03af3974 b=477899 Calls to liboggplay to get the duration of a media resource should be cached r+sr=roc 2009-02-20 15:37:06 +13:00
Robert O'Callahan
5564ffb17a Bug 476176. Avoid potential deadlock warnings by not calling 'Available' on the media stream when checking whether to exit buffering; instead we can use our internal position counters. r=doublec
--HG--
extra : rebase_source : 51901db1ddca66b658d04d8c24769590a8faa7f7
2009-02-11 14:44:39 +13:00
Robert O'Callahan
861235b3f7 Bug 476811. Fire 'waiting' event when the decoder starts buffering. r=doublec
--HG--
extra : rebase_source : 1ac5d728e4f3f3e83de61d0806b20f328cdf380c
2009-02-11 14:43:45 +13:00
Chris Double
9387e1187d Bug 469923 - Support X-Content-Duration for improved duration retrieval for Ogg media - r+sr=roc 2009-02-07 23:10:34 +13:00
Robert O'Callahan
f0ff9de335 Bug 455654. Rework the download-rate, playback-rate and related statistics so they're managed by the decoders in a thread-safe way. Implement proper HTML5 readyState handling with event firing, including 'canplay' and 'canplaythrough' events and autoplay behaviour. Also changes buffering so that we buffer when we're actually about to run out of data, instead of trying to guess when to buffer based on rate estimates. r=doublec 2009-02-05 21:02:21 +13:00
Robert O'Callahan
b4f66d939a Backed out changeset ba595db2b681 2009-02-05 23:51:24 +13:00