Commit Graph

149 Commits

Author SHA1 Message Date
Chris Pearce
829a353113 Bug 557432 - Backed out changeset b64df24f4910 2010-04-09 16:33:07 +12:00
Chris Pearce
c897a92364 Bug 557432 - Lock the audio stream while getting it's played duration. r=doublec 2010-04-08 20:16:02 +12:00
Chris Pearce
35603f868d Bug 557095 - Video FPS calculation in 64bit to avoid aborting on overflow. r=doublec 2010-04-08 20:16:02 +12:00
Chris Double
37b2e3b033 Bug 551277. Backed out changeset f9a11b9b2b9f 2010-04-06 18:10:02 +12:00
Chris Double
e762926f9d Bug 551277 - Implement software YCbCr conversion in layers, replacing liboggplay color conversion code - r=roc
--HG--
extra : rebase_source : 53b2c194aa6eb75a4751efdd83f066d3aeadf5d7
2010-04-06 12:07:39 +12:00
Chris Pearce
62ed5c8db0 Bug 531340 - Bustage fix on comm-central. r=bustage-fix 2010-04-02 17:03:12 -07:00
Daniel Holbert
66f88aa64e Bug 556900: Fix GCC warnings in nsOggPlayStateMachine.cpp. r=cpearce 2010-04-02 16:47:18 -07:00
Daniel Holbert
4a8e1281a9 Bug 556897: Fix GCC warnings "FOO will be initialized after BAR when initialized here" in content/media/ogg/. r=cpearce 2010-04-02 16:47:15 -07:00
Chris Pearce
0d671d68ee Bug 531340 - AudioLoop() fix; don't dereference nsAutoPtr after forget(). r=bustage-fix 2010-04-01 23:53:38 -07:00
Chris Pearce
99f6865d5e Bug 531340 - Fix wait-on-audio-queue-empty condition in ogg decoder audio playback loop. r=doublec 2010-04-01 22:19:35 -07:00
Chris Pearce
810ae51b7a Bug 531340 - New Ogg video decoder. r=doublec sr=roc 2010-04-01 20:03:07 -07:00
Matthew Gregan
4c294e0cbd Bug 552578 - Remove unnecessary timeout in frame queue wait to avoid spinning unnecessarily. r=chris.double 2010-03-16 13:58:27 +13:00
Robert O'Callahan
59f17b52c3 Bug 538323. Part 2: use ImageLayers to render video. r=kinetik 2010-03-02 12:41:49 +13:00
Matthew Gregan
e8a95ea783 Bug 525401 - Make ready state transitions initiated by the decode thread more reliable by including the new state in the event. Fixes an ABA problem where we could play through without ever moving beyond HAVE_CURRENT_DATA. r=chris.double 2010-03-15 12:46:38 +13:00
Matthew Gregan
2b946b158b Bug 525401 - Resynchronize system clock against audio clock to avoid clock drift problems when alternating between clocks. r=chris.double 2010-02-05 18:16:29 +13:00
Matthew Gregan
926910324a Bug 525401 - Fix resuming from pause when playing poorly muxed videos. r=chris.double 2010-02-05 17:06:08 +13:00
Mike Hommey
9b07b8b0ad Bug 550961. Fix license header typos. r=gerv 2010-03-15 14:44:37 +13:00
Matthew Gregan
52d94b57d2 Backed out changeset 9b33c91c851d 2010-02-26 15:09:56 -08:00
Matthew Gregan
54dfd7a69d Bug 525401 - Fix resuming from pause when playing poorly muxed videos. r=chris.double
--HG--
extra : rebase_source : 36bed71b92803c1b2f864cdd090db7d575b58d6b
2010-02-05 17:06:08 +13:00
Robert O'Callahan
ef6f3c2ae0 Bug 503989. Break MediaLoadListener reference cycle at shutdown. r=sicking,doublec
--HG--
extra : rebase_source : bbd326582e4a7d0864affcfe3a715e228c4b2647
2010-02-24 11:14:14 -08:00
Phil Ringnalda
a4e36d4f5f Fix typo to trigger builds
--HG--
extra : rebase_source : 526e64cfda9d8e3e591cfa4c77352a63c20f7f52
2010-02-09 21:39:02 -08:00
Matthew Gregan
cfcf73a2dd Bug 499874 - If decoding finishes when seeking to end of media, don't attempt to decode additional frames. Fixes a hang caused by violating oggplay's assumptions. r=roc
--HG--
extra : rebase_source : b8510182821e4babf667b0ff7d63060a82535c7c
2009-10-20 16:18:18 +13:00
Robert O'Callahan
c560bb5ad6 Bug 518659. If we finish decoding while loading metadata, go directly to COMPLETED instead of trying to decode again which violates liboggplay's assumptions. r=kinetik 2009-10-05 17:02:36 +13:00
Matthew Gregan
87b090cb12 Bug 520908 - Use calculated duration from cloned decoder when initializing the clone. r=roc 2009-10-15 14:28:59 +13:00
Matthew Gregan
0d6c1e570c Comment-only fix - Update comment on trunk to match bug 493447 patch rebased for 1.9.2. 2009-10-06 16:53:06 +13:00
Matthew Gregan
2281f5f0c4 Bug 493447 - Shrink Ogg decoder frame queues to 5-10 frames (from 20-40). r=chris.double
--HG--
extra : rebase_source : a6cb4b2d5fd1960ebedd0e42fd753e30717d5728
2009-10-05 11:50:34 +13:00
Chris Pearce
0eddd5d926 Bug 504843 - Abort ogg decode with excessively large video frame sizes. r=doublec 2009-10-03 17:08:12 +13:00
Robert O'Callahan
1b13d20d87 Bug 519136. Clean up media-related logging. r=doublec
--HG--
extra : rebase_source : 2321054271a8726d17da1c58b876e2a7eb88883c
2009-09-30 07:32:44 +10:00
Chris Pearce
06cefa67d6 Bug 512328 - Update liboggplay to rev 404316e595. r=doublec 2009-09-24 16:22:23 +12:00
Matthew Gregan
4f10720ec8 Bug 515552 - Enable in-monitor assertions in nsOggDecoder. r=chris.double
--HG--
extra : rebase_source : c494f75bd7cc1cf4b114b9ff497412fb1e3c1ce1
2009-09-22 12:11:10 +12:00
Matthew Gregan
f202e48bf0 Bug 481057 - Fire MEDIA_ERR_DECODE errors when a decoding error occurs. r=chris.double, sr=roc
--HG--
extra : rebase_source : a07687f16726086dd425eef8907788019beebbe1
2009-09-22 12:08:13 +12:00
Matthew Gregan
fd0ca14cf7 Bug 515546 - Null check mReader in nsOggDecoder::Shutdown. r=chris.double
--HG--
extra : rebase_source : e72005a765db36ed9b4cdd7d8717f6f923ce6b67
2009-09-22 12:03:42 +12:00
Robert O'Callahan
63cddc6e7e Bug 513144. Allow streams that are related by mozLoadFrom to share data loaded after the initial clone. r=doublec
--HG--
extra : rebase_source : 4dab31030b84ce6066ba694851bb7587a051fe2c
2009-09-15 14:30:45 +12:00
Robert O'Callahan
4679add97d Bug 513144. Basic implementation of mozLoadFrom API. r=doublec
--HG--
extra : rebase_source : 71d04afaf21d268e3eddbb40e9894479698d1bfc
2009-09-15 14:30:44 +12:00
Robert O'Callahan
534831d533 Bug 513144. Hoist nsMediaStream creation up into nsHTMLMediaElement, out of the decoders. Pass the stream as the parameter to nsMediaDecoder::Load. r=doublec
--HG--
extra : rebase_source : f418076a0d534d528dbded66b2d49d8fe908de4b
2009-09-15 14:30:43 +12:00
Robert O'Callahan
fdb204a586 Bug 513144. Split static nsMediaStream::Open into static nsMediaStream::Create and nonstatic nsMediaStream::Open. Move call to NS_GetFinalChannelURI down into nsMediaStream::Create. r=doublec
--HG--
extra : rebase_source : be999ad63f1bb1f8adcbbac0640a916f022203a7
2009-09-15 14:30:43 +12:00
Robert O'Callahan
2540c06447 Bug 513144. Remove mURI from the decoders, and change nsMediaDecoder::GetCurrentURI to GetCurrentStream so nsHTMLMediaElement::GetCurrentSrc gets the URI directly from the stream. r=doublec
--HG--
extra : rebase_source : b1e9680cf33cf7dded79383dfdf7559bbd7b1a78
2009-09-15 14:28:08 +12:00
Robert O'Callahan
f415ce9f01 Bug 513144. Move ownership of the Ogg decoder's nsMediaStream out from nsChannelReader to nsOggDecoder. Also remove unnecessary mNotifyOnShutdown flag from nsOggDecoder and nsWaveDecoder. Since Load can only be called once after Init, remove unnecessary initialization of variables in Load and move some code up from Load to Init in both backends to simplify Load. r=doublec
--HG--
extra : rebase_source : 65cd9f01424f5b8ab8507e4788f2b8228ce1e2b0
2009-09-11 13:44:21 +12:00
Chris Pearce
1d3d66ca09 Bug 514573 - Free video data after paint, prevents repainting. r=doublec 2009-09-08 10:23:11 +12:00
Chris Pearce
93c3f32d4d Bug 501031 - Make media seeking faster over HTTP by adding 'fuzz' factor to liboggz seek, and fixing its bisection search. r=doublec 2009-09-08 09:41:56 +12:00
Matthew Gregan
34d676d624 Bug 506061 - Calculate frame time based on frame number and frame rate. p=j@oil21.org r=chris.double
Fixes sync problem caused by FP error accumulation in the old frame time
calculation.

--HG--
extra : rebase_source : 3a59eafe1a3fd91760ffb1e336c31ec431dfffc2
2009-09-07 15:30:03 +12:00
Chris Pearce
ccff87e6d9 Bug 513999 - Backed out changeset fb6d235b9efb (bug 512328) to see if that fixes near-permanent orange on Linux on CLOSED TREE. 2009-09-02 10:33:43 +12:00
Chris Pearce
ece1cdb103 Bug 512398 - fix liboggplay update (rev f4087c5ac148) which accidentally removed liboggplay's os2_semaphore.*. r=doublec 2009-08-31 14:08:39 +12:00
Chris Pearce
0f3cd77669 Bug 512398 - Backed out changeset f4087c5ac148, checked in wrong patch. 2009-08-31 13:45:40 +12:00
Chris Pearce
75cfcd8e78 Update liboggplay to rev 8640eb3fddc43ad4, correct issue with presentation time, reset libfishsound on seek to 0. 2009-08-31 13:23:17 +12:00
Benjamin Smedberg
2e9438fd2f Followup to bug 398573 - remove REQUIRES from the tree since it is no longer used... automatically generated patch, rs=ted 2009-08-25 08:59:31 -07:00
Rich Walsh
2dfa8bf09f Bug 506434 - fix ogg video playback regression, cross-platform change, r=chris.double 2009-08-02 14:06:02 +03:00
Peter Weilbacher
2edd748d49 Bug 495352: Audio stream polling runs amok, p=dragtext@e-vertise, r=chris.double 2009-07-23 09:17:26 +03:00
Robert O'Callahan
b456ec8e36 Bug 499880 - Restructure content/media directory. r+=doublec
--HG--
rename : content/media/video/src/nsAudioStream.cpp => content/media/nsAudioStream.cpp
rename : content/media/video/public/nsAudioStream.h => content/media/nsAudioStream.h
rename : content/media/video/src/nsMediaCache.cpp => content/media/nsMediaCache.cpp
rename : content/media/video/public/nsMediaCache.h => content/media/nsMediaCache.h
rename : content/media/video/src/nsMediaDecoder.cpp => content/media/nsMediaDecoder.cpp
rename : content/media/video/public/nsMediaDecoder.h => content/media/nsMediaDecoder.h
rename : content/media/video/src/nsMediaStream.cpp => content/media/nsMediaStream.cpp
rename : content/media/video/public/nsMediaStream.h => content/media/nsMediaStream.h
rename : content/media/video/src/nsChannelReader.cpp => content/media/ogg/nsChannelReader.cpp
rename : content/media/video/public/nsChannelReader.h => content/media/ogg/nsChannelReader.h
rename : content/media/video/src/nsOggDecoder.cpp => content/media/ogg/nsOggDecoder.cpp
rename : content/media/video/public/nsOggDecoder.h => content/media/ogg/nsOggDecoder.h
rename : content/media/video/test/320x240.allow-origin.ogv => content/media/test/320x240.allow-origin.ogv
rename : content/media/video/test/320x240.allow-origin.ogv^headers^ => content/media/test/320x240.allow-origin.ogv^headers^
rename : content/media/video/test/320x240.ogv => content/media/test/320x240.ogv
rename : content/media/video/test/Makefile.in => content/media/test/Makefile.in
rename : content/media/video/test/big.wav => content/media/test/big.wav
rename : content/media/video/test/bug461281.ogg => content/media/test/bug461281.ogg
rename : content/media/video/test/bug482461.ogv => content/media/test/bug482461.ogv
rename : content/media/video/test/can_play_type_ogg.js => content/media/test/can_play_type_ogg.js
rename : content/media/video/test/can_play_type_wave.js => content/media/test/can_play_type_wave.js
rename : content/media/video/test/contentDuration1.sjs => content/media/test/contentDuration1.sjs
rename : content/media/video/test/contentDuration2.sjs => content/media/test/contentDuration2.sjs
rename : content/media/video/test/contentDuration3.sjs => content/media/test/contentDuration3.sjs
rename : content/media/video/test/contentDuration4.sjs => content/media/test/contentDuration4.sjs
rename : content/media/video/test/contentDuration5.sjs => content/media/test/contentDuration5.sjs
rename : content/media/video/test/contentDuration6.sjs => content/media/test/contentDuration6.sjs
rename : content/media/video/test/crashtests/468763-1.html => content/media/test/crashtests/468763-1.html
rename : content/media/video/test/crashtests/474744-1.html => content/media/test/crashtests/474744-1.html
rename : content/media/video/test/crashtests/crashtests.list => content/media/test/crashtests/crashtests.list
rename : content/media/video/test/dynamic_redirect.sjs => content/media/test/dynamic_redirect.sjs
rename : content/media/video/test/file_access_controls.html => content/media/test/file_access_controls.html
rename : content/media/video/test/r11025_s16_c1.wav => content/media/test/r11025_s16_c1.wav
rename : content/media/video/test/r11025_s16_c1_trailing.wav => content/media/test/r11025_s16_c1_trailing.wav
rename : content/media/video/test/r11025_u8_c1.wav => content/media/test/r11025_u8_c1.wav
rename : content/media/video/test/r11025_u8_c1_trunc.wav => content/media/test/r11025_u8_c1_trunc.wav
rename : content/media/video/test/r16000_u8_c1_list.wav => content/media/test/r16000_u8_c1_list.wav
rename : content/media/video/test/redirect.sjs => content/media/test/redirect.sjs
rename : content/media/video/test/seek.ogv => content/media/test/seek.ogv
rename : content/media/video/test/small-shot.ogg => content/media/test/small-shot.ogg
rename : content/media/video/test/sound.ogg => content/media/test/sound.ogg
rename : content/media/video/test/test_access_control.html => content/media/test/test_access_control.html
rename : content/media/video/test/test_audio1.html => content/media/test/test_audio1.html
rename : content/media/video/test/test_audio2.html => content/media/test/test_audio2.html
rename : content/media/video/test/test_audioDocumentTitle.html => content/media/test/test_audioDocumentTitle.html
rename : content/media/video/test/test_autobuffer.html => content/media/test/test_autobuffer.html
rename : content/media/video/test/test_autobuffer2.html => content/media/test/test_autobuffer2.html
rename : content/media/video/test/test_autoplay.html => content/media/test/test_autoplay.html
rename : content/media/video/test/test_bug448534.html => content/media/test/test_bug448534.html
rename : content/media/video/test/test_bug461281.html => content/media/test/test_bug461281.html
rename : content/media/video/test/test_bug463162.xhtml => content/media/test/test_bug463162.xhtml
rename : content/media/video/test/test_bug465498.html => content/media/test/test_bug465498.html
rename : content/media/video/test/test_bug468190.html => content/media/test/test_bug468190.html
rename : content/media/video/test/test_bug468190_wav.html => content/media/test/test_bug468190_wav.html
rename : content/media/video/test/test_bug476973.html => content/media/test/test_bug476973.html
rename : content/media/video/test/test_bug482461.html => content/media/test/test_bug482461.html
rename : content/media/video/test/test_bug493187.html => content/media/test/test_bug493187.html
rename : content/media/video/test/test_bug495145.html => content/media/test/test_bug495145.html
rename : content/media/video/test/test_bug495145_wav.html => content/media/test/test_bug495145_wav.html
rename : content/media/video/test/test_bug495300.html => content/media/test/test_bug495300.html
rename : content/media/video/test/test_bug495319.html => content/media/test/test_bug495319.html
rename : content/media/video/test/test_can_play_type.html => content/media/test/test_can_play_type.html
rename : content/media/video/test/test_can_play_type_no_ogg.html => content/media/test/test_can_play_type_no_ogg.html
rename : content/media/video/test/test_can_play_type_no_wave.html => content/media/test/test_can_play_type_no_wave.html
rename : content/media/video/test/test_can_play_type_ogg.html => content/media/test/test_can_play_type_ogg.html
rename : content/media/video/test/test_can_play_type_wave.html => content/media/test/test_can_play_type_wave.html
rename : content/media/video/test/test_closing_connections.html => content/media/test/test_closing_connections.html
rename : content/media/video/test/test_constants.html => content/media/test/test_constants.html
rename : content/media/video/test/test_contentDuration1.html => content/media/test/test_contentDuration1.html
rename : content/media/video/test/test_contentDuration2.html => content/media/test/test_contentDuration2.html
rename : content/media/video/test/test_contentDuration3.html => content/media/test/test_contentDuration3.html
rename : content/media/video/test/test_contentDuration4.html => content/media/test/test_contentDuration4.html
rename : content/media/video/test/test_contentDuration5.html => content/media/test/test_contentDuration5.html
rename : content/media/video/test/test_contentDuration6.html => content/media/test/test_contentDuration6.html
rename : content/media/video/test/test_controls.html => content/media/test/test_controls.html
rename : content/media/video/test/test_currentTime.html => content/media/test/test_currentTime.html
rename : content/media/video/test/test_decoder_disable.html => content/media/test/test_decoder_disable.html
rename : content/media/video/test/test_delay_load.html => content/media/test/test_delay_load.html
rename : content/media/video/test/test_duration1.html => content/media/test/test_duration1.html
rename : content/media/video/test/test_ended1.html => content/media/test/test_ended1.html
rename : content/media/video/test/test_ended2.html => content/media/test/test_ended2.html
rename : content/media/video/test/test_error_on_404.html => content/media/test/test_error_on_404.html
rename : content/media/video/test/test_info_leak.html => content/media/test/test_info_leak.html
rename : content/media/video/test/test_load.html => content/media/test/test_load.html
rename : content/media/video/test/test_load_candidates.html => content/media/test/test_load_candidates.html
rename : content/media/video/test/test_media_selection.html => content/media/test/test_media_selection.html
rename : content/media/video/test/test_mixed_principals.html => content/media/test/test_mixed_principals.html
rename : content/media/video/test/test_networkState.html => content/media/test/test_networkState.html
rename : content/media/video/test/test_onloadedmetadata.html => content/media/test/test_onloadedmetadata.html
rename : content/media/video/test/test_paused.html => content/media/test/test_paused.html
rename : content/media/video/test/test_paused_after_ended.html => content/media/test/test_paused_after_ended.html
rename : content/media/video/test/test_play.html => content/media/test/test_play.html
rename : content/media/video/test/test_progress1.html => content/media/test/test_progress1.html
rename : content/media/video/test/test_progress2.html => content/media/test/test_progress2.html
rename : content/media/video/test/test_progress3.html => content/media/test/test_progress3.html
rename : content/media/video/test/test_progress4.html => content/media/test/test_progress4.html
rename : content/media/video/test/test_readyState.html => content/media/test/test_readyState.html
rename : content/media/video/test/test_seek1.html => content/media/test/test_seek1.html
rename : content/media/video/test/test_seek2.html => content/media/test/test_seek2.html
rename : content/media/video/test/test_seek3.html => content/media/test/test_seek3.html
rename : content/media/video/test/test_seek4.html => content/media/test/test_seek4.html
rename : content/media/video/test/test_seek5.html => content/media/test/test_seek5.html
rename : content/media/video/test/test_seek6.html => content/media/test/test_seek6.html
rename : content/media/video/test/test_seek7.html => content/media/test/test_seek7.html
rename : content/media/video/test/test_seek8.html => content/media/test/test_seek8.html
rename : content/media/video/test/test_seek9.html => content/media/test/test_seek9.html
rename : content/media/video/test/test_source.html => content/media/test/test_source.html
rename : content/media/video/test/test_source_write.html => content/media/test/test_source_write.html
rename : content/media/video/test/test_standalone.html => content/media/test/test_standalone.html
rename : content/media/video/test/test_timeupdate1.html => content/media/test/test_timeupdate1.html
rename : content/media/video/test/test_timeupdate2.html => content/media/test/test_timeupdate2.html
rename : content/media/video/test/test_timeupdate3.html => content/media/test/test_timeupdate3.html
rename : content/media/video/test/test_videoDocumentTitle.html => content/media/test/test_videoDocumentTitle.html
rename : content/media/video/test/test_volume.html => content/media/test/test_volume.html
rename : content/media/video/test/test_wav_8bit.html => content/media/test/test_wav_8bit.html
rename : content/media/video/test/test_wav_ended1.html => content/media/test/test_wav_ended1.html
rename : content/media/video/test/test_wav_ended2.html => content/media/test/test_wav_ended2.html
rename : content/media/video/test/test_wav_list.html => content/media/test/test_wav_list.html
rename : content/media/video/test/test_wav_onloadedmetadata.html => content/media/test/test_wav_onloadedmetadata.html
rename : content/media/video/test/test_wav_seek1.html => content/media/test/test_wav_seek1.html
rename : content/media/video/test/test_wav_seek3.html => content/media/test/test_wav_seek3.html
rename : content/media/video/test/test_wav_seek4.html => content/media/test/test_wav_seek4.html
rename : content/media/video/test/test_wav_seek5.html => content/media/test/test_wav_seek5.html
rename : content/media/video/test/test_wav_seek6.html => content/media/test/test_wav_seek6.html
rename : content/media/video/test/test_wav_seek7.html => content/media/test/test_wav_seek7.html
rename : content/media/video/test/test_wav_seek8.html => content/media/test/test_wav_seek8.html
rename : content/media/video/test/test_wav_seek_past_end.html => content/media/test/test_wav_seek_past_end.html
rename : content/media/video/test/test_wav_seek_then_play.html => content/media/test/test_wav_seek_then_play.html
rename : content/media/video/test/test_wav_standalone.html => content/media/test/test_wav_standalone.html
rename : content/media/video/test/test_wav_timeupdate1.html => content/media/test/test_wav_timeupdate1.html
rename : content/media/video/test/test_wav_timeupdate2.html => content/media/test/test_wav_timeupdate2.html
rename : content/media/video/test/test_wav_trailing.html => content/media/test/test_wav_trailing.html
rename : content/media/video/test/test_wav_trunc.html => content/media/test/test_wav_trunc.html
rename : content/media/video/test/test_wav_trunc_seek.html => content/media/test/test_wav_trunc_seek.html
rename : content/media/video/test/use_large_cache.js => content/media/test/use_large_cache.js
rename : content/media/video/src/nsWaveDecoder.cpp => content/media/wave/nsWaveDecoder.cpp
rename : content/media/video/public/nsWaveDecoder.h => content/media/wave/nsWaveDecoder.h
2009-06-26 16:23:15 +12:00