Commit Graph

348 Commits

Author SHA1 Message Date
Chris Pearce
c331b94df9 Bug 557432 - Lock the audio stream while getting it's played duration. r=doublec 2010-04-08 20:16:02 +12:00
Chris Pearce
c407c0d6be Bug 557095 - Video FPS calculation in 64bit to avoid aborting on overflow. r=doublec 2010-04-08 20:16:02 +12:00
Chris Double
4d94fbf7a0 Bug 551277. Backed out changeset f9a11b9b2b9f 2010-04-06 18:10:02 +12:00
Chris Double
987e0e6294 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
9afe5059b5 Bug 531340 - Bustage fix on comm-central. r=bustage-fix 2010-04-02 17:03:12 -07:00
Daniel Holbert
17c090d9ff Bug 556900: Fix GCC warnings in nsOggPlayStateMachine.cpp. r=cpearce 2010-04-02 16:47:18 -07:00
Daniel Holbert
ef8f4acfc5 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
1ee1380a7a Bug 531340 - AudioLoop() fix; don't dereference nsAutoPtr after forget(). r=bustage-fix 2010-04-01 23:53:38 -07:00
Chris Pearce
06593edeb7 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
afd172b807 Bug 531340 - New Ogg video decoder. r=doublec sr=roc 2010-04-01 20:03:07 -07:00
Matthew Gregan
138d14481e 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
2abce146a9 Bug 538323. Part 2: use ImageLayers to render video. r=kinetik 2010-03-02 12:41:49 +13:00
Matthew Gregan
30dae8fab3 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
a3edacf35e 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
994a39624d Bug 525401 - Fix resuming from pause when playing poorly muxed videos. r=chris.double 2010-02-05 17:06:08 +13:00
Mike Hommey
eb4821e504 Bug 550961. Fix license header typos. r=gerv 2010-03-15 14:44:37 +13:00
Matthew Gregan
841c9fbf9c Backed out changeset 9b33c91c851d 2010-02-26 15:09:56 -08:00
Matthew Gregan
0087b72a49 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
5da349c3d9 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
9c82b25efe Fix typo to trigger builds
--HG--
extra : rebase_source : 526e64cfda9d8e3e591cfa4c77352a63c20f7f52
2010-02-09 21:39:02 -08:00
Matthew Gregan
8bd8cb870d 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
98b9d8c4e3 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
3af771c138 Bug 520908 - Use calculated duration from cloned decoder when initializing the clone. r=roc 2009-10-15 14:28:59 +13:00
Matthew Gregan
f546868183 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
5260624305 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
b7720b4c09 Bug 504843 - Abort ogg decode with excessively large video frame sizes. r=doublec 2009-10-03 17:08:12 +13:00
Robert O'Callahan
ab84f5ebd3 Bug 519136. Clean up media-related logging. r=doublec
--HG--
extra : rebase_source : 2321054271a8726d17da1c58b876e2a7eb88883c
2009-09-30 07:32:44 +10:00
Chris Pearce
4ef626577f Bug 512328 - Update liboggplay to rev 404316e595. r=doublec 2009-09-24 16:22:23 +12:00
Matthew Gregan
7518dee43b 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
466c733803 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
9f16f9a4ac 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
666ddd4c00 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
60a2f7d116 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
ea1ab9ac40 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
df1c341efa 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
c764bf1840 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
2e2663deda 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
9f3d1f4e1a Bug 514573 - Free video data after paint, prevents repainting. r=doublec 2009-09-08 10:23:11 +12:00
Chris Pearce
8d783e47e7 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
92d786333c 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
a269d39ca2 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
19c48e0643 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
81137811d0 Bug 512398 - Backed out changeset f4087c5ac148, checked in wrong patch. 2009-08-31 13:45:40 +12:00
Chris Pearce
de514873ac 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
ba372f3a4c 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
78b89b2bf4 Bug 506434 - fix ogg video playback regression, cross-platform change, r=chris.double 2009-08-02 14:06:02 +03:00
Peter Weilbacher
8325fdca84 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
e38733eb15 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