Commit Graph

90 Commits

Author SHA1 Message Date
Matthew Gregan
64e15bea7f Bug 569163 - Fix a race in nsWaveDecoder's ended state handling. r=cpearce a=roc 2010-11-15 11:41:22 +13:00
Chris Pearce
645fabdc56 Bug 580876 - Ensure WAV playing events can fire when decode has finished but playback hasn't. r=kinetik a=roc 2010-11-05 13:44:33 +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 Double
f66fdd1a99 Bug 571822 - Fire timeupdate event less frequently than once per frame - r=kinetik a=blocking2.0 2010-09-10 17:49:26 +12:00
Chris Double
9c0d8b2cee Bug 584615 - Make media progress events be 'simple' Events, not 'progress' Events - r=roc,cpearce,dolske,kinetik a=blocking2.0 2010-09-10 15:29:06 +12:00
Matthew Gregan
48fd3a8330 Bug 570904 - Implement buffered support for WebM. r=roc 2010-09-13 20:45:50 +12:00
Marco Bonardo
b5f938275c Backed out changeset 96b74fec2915 2010-09-11 11:17:11 +02:00
Chris Double
417b0c1a00 Bug 584615 - Make media progress events be 'simple' Events, not 'progress' Events - r=roc,cpearce,dolske,kinetik a=blocking2.0 2010-09-10 15:29:06 +12: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
6a92a3da34 Bug 485288 - Update media load algorithm. r=roc a=blocking2.0 2010-09-03 12:03:03 +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
b1b1746c37 Bug 589561 - Rename HTMLTimeRanges to TimeRanges, HTMLMediaError to MediaError. r=roc a=roc
--HG--
rename : content/html/content/src/nsHTMLMediaError.cpp => content/html/content/src/nsMediaError.cpp
rename : content/html/content/src/nsHTMLMediaError.h => content/html/content/src/nsMediaError.h
rename : content/html/content/src/nsHTMLTimeRanges.cpp => content/html/content/src/nsTimeRanges.cpp
rename : content/html/content/src/nsHTMLTimeRanges.h => content/html/content/src/nsTimeRanges.h
rename : dom/interfaces/html/nsIDOMHTMLMediaError.idl => dom/interfaces/html/nsIDOMMediaError.idl
rename : dom/interfaces/html/nsIDOMHTMLTimeRanges.idl => dom/interfaces/html/nsIDOMTimeRanges.idl
2010-08-25 20:43:00 +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
f4cb763eeb Replaces some \c\r with \n. a=bustage-fix 2010-08-18 14:17:50 +12:00
Chris Pearce
3a5db791b8 Bug 462957 - Pin media stream while seeking. r=roc a=blocking2.0 2010-08-05 19:40:35 +12:00
Chris Pearce
5b3f95c50c Bug 462957 - WAV support for HTMLMediaElement.buffered. r=kinetik a=blocking2.0 2010-08-05 19:40:35 +12:00
Chris Pearce
fb117ca2e7 Bug 462957 - DOM implementation of HTMLMediaElement.buffered. r=roc a=blocking2.0 2010-08-05 19:40:35 +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
Daniel Holbert
c8781d13f7 Bug 563849: Fix "possible loss of data" MSVC warnings in nsWaveDecoder.cpp. r=kinetik 2010-05-04 22:22:37 -07:00
Ben Newman
941ed3332c Replace direct instantiations of nsRunnableMethod with calls to the templatized NS_NewRunnableMethod function (part 3/3 of bug 558498). r=dwitte sr=dbaron 2010-04-20 16:21: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
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
Mike Hommey
9b07b8b0ad Bug 550961. Fix license header typos. r=gerv 2010-03-15 14:44:37 +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
Matthew Gregan
8f69ebf177 Bug 499874 - Move Wave decoder to ended state when seeking to end of media. r=roc
--HG--
extra : rebase_source : 8cad22f7269f9e4a9ff0f9885036b2a47f525b7d
2009-10-20 15:48:03 +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
Robert O'Callahan
07ec9a4619 Bug 517818. Wave decoder should not look beyond the Wave data area to see if we have a 'next frame' to play. r=kinetik
--HG--
extra : rebase_source : 9964f0fe36d35745354f5723b5d82b1fc18520d6
2009-09-30 07:32:41 +10: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
Robert O'Callahan
e3f8efaec1 Bug 513144. nsWaveDecoder::PlaybackEnded should call UpdateReadyStateForData to ensure that we enter HAVE_CURRENT_DATA ... otherwise it get into the ended state with HAVE_FUTURE_DATA or HAVE_ENOUGH_DATA, which is wrong. r=kinetik
--HG--
extra : rebase_source : 75bcd57e9c7d93bcf24663731e2e6aadacf07a86
2009-09-15 14:30:45 +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
Matthew Gregan
658839d732 Bug 497815 - Read Wave headers in small chunks to avoid unnecessary large allocations. r=roc
--HG--
extra : rebase_source : 355af524b6d9f0634d9d09e4ddc1ce1715bc6c81
2009-09-07 15:28:26 +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
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