Commit Graph

352 Commits

Author SHA1 Message Date
Robert O'Callahan
e6abe07b1b Bug 513144. Allow nsMediaCache blocks to be owned by multiple streams at the same time. r=doublec
--HG--
extra : rebase_source : 8788764ff6c883d2da5347ead39660626deb9d7c
2009-09-15 14:30:44 +12:00
Robert O'Callahan
93031ccc14 Bug 513144. Allow nsMediaCache blocks to belong to more than one BlockList at the same time. r=doublec
--HG--
extra : rebase_source : e4a53bca2a8c6c7624cbe889f981a57e07b587ad
2009-09-15 14:30:44 +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
Matthew Gregan
9f6a87f82d 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
Matthew Gregan
4057d3a778 Bug 495165 - Add mochitest for bug 486646.
--HG--
extra : rebase_source : 3df5870b298fe27c5a2d61a679359e4f243e57ab
2009-09-07 15:25:22 +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
Chris Pearce
e2d541d341 Bug 493431 - Add test to ensure video file with more audio than video plays and that video.currentTime only increases during playback. r=n/a 2009-08-17 09:32:24 +12:00
Jesse Ruderman
e0887e82ab Hopefully fix orange (bug 509272)
--HG--
rename : content/media/test/sound.ogg => content/media/test/crashtests/sound.ogg
2009-08-08 17:36:23 -07:00
Jesse Ruderman
d2e49bdfcd Add crashtests for bug 459439 and bug 466607 2009-08-08 16:00:31 -07:00
Chris Pearce
da09cceb6e Bug 495129 - Add testcase. 2009-08-04 18:13:40 +12:00
Chris Pearce
4c8efcdc81 Bug 501279 - Add testcases, includes test files from bug 504644 and bug 506094 as they're fixed by bug 501279 too. 2009-08-04 18:13:40 +12:00
Chris Pearce
e55d7dbb34 Bug 500311 - Add testcase. r=roc 2009-08-04 18:13:40 +12:00
Chris Pearce
27b348d57b Bug 498855 - Add testcase. 2009-08-04 18:13:40 +12:00
Chris Pearce
9322db775d Bug 499519 - Add test which ensures height 0 videos load. r=roc 2009-08-04 18:13:33 +12:00
Chris Double
0735935f96 Bug 461286 - Add testcase for small audio files ending correctly 2009-08-04 17:20:37 +12:00
Chris Double
058f34e16a Bug 448636 - Add testcase
--HG--
extra : rebase_source : fe95db053fdb42cece6c9fe2784420d792a3a8e9
2009-08-04 14:44:45 +12:00
Matthew Gregan
35d3e4d56c Bug 507547. Disable EXTEND_PAD for video on Mac, since it's slow. r=roc
--HG--
extra : rebase_source : 440d2ade2e6b8847895e2fdd6b1af2324662667e
2009-08-03 14:22:01 +12: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
Robert O'Callahan
f94fc9b0f6 Bug 503835. Wave codec 0 should be reported as unsupported. r=doublec
--HG--
extra : rebase_source : ab41c6d1e124ba52200bf91fcf7bc5d0c983b78e
2009-07-27 10:01:41 +12:00
Robert O'Callahan
1a3f77aef0 Bug 505150. 'new Audio' constructors should set autobuffer automatically. r=doublec
--HG--
extra : rebase_source : 418f3c2ad918ae729857363041273c95230dfd2c
2009-07-27 09:31:11 +12: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
e3d0f72897 Fix for bug 503468 (canPlayType should return "", not "no"). r=cdouble.
--HG--
extra : rebase_source : d54cf6d92a20a5f7e6ce66042c8d489dc93f0c7a
2009-07-14 16:04:56 +02:00
Robert O'Callahan
2572e852f9 Disable seek tests on Windows again
--HG--
extra : rebase_source : 45d9d5bff5f5241731c1bc6f1f3aa5e92deec1e9
2009-07-13 10:45:36 +12:00
Robert O'Callahan
49aca666c9 Fix bustage properly
--HG--
extra : rebase_source : 109364254fd687c60770b2f9b0af0e6aaf14a1b6
2009-07-10 15:08:34 +12:00
Robert O'Callahan
d81d74cb19 Fix bustage temporarily 2009-07-10 14:39:16 +12:00
Robert O'Callahan
74625ec81b Bug 493915. Fix leak in media element when an error occurs early in the resource load. r=cpearce 2009-07-10 14:03:03 +12:00
Robert O'Callahan
2f3ff304f9 Bug 502211. Convert 'new Audio' tests to be backend-independent. r=doublec 2009-07-10 14:03:02 +12:00
Robert O'Callahan
2ebf436b48 Bug 502211. Convert test_wav_8bit to a playtest. r=doublec 2009-07-10 14:03:02 +12:00
Robert O'Callahan
1932b57439 Bug 502211. Unify seek tests into a single backend-independent test. r=doublec
--HG--
rename : content/media/test/test_seek1.html => content/media/test/seek1.js
rename : content/media/test/test_seek3.html => content/media/test/seek2.js
rename : content/media/test/test_seek4.html => content/media/test/seek3.js
rename : content/media/test/test_seek5.html => content/media/test/seek4.js
rename : content/media/test/test_seek6.html => content/media/test/seek5.js
rename : content/media/test/test_seek7.html => content/media/test/seek6.js
rename : content/media/test/test_seek8.html => content/media/test/seek7.js
rename : content/media/test/test_seek9.html => content/media/test/seek8.js
2009-07-10 14:03:02 +12:00
Robert O'Callahan
c37d3bafc6 Bug 502211. Create test_playback and test_playback_errors for easy regression testing. r=doublec 2009-07-10 14:03:01 +12:00
Robert O'Callahan
bb8a6c3b8b Bug 502211. Make test_media_selection.html and test_load.html backend-independent. r=doublec 2009-07-10 14:03:01 +12:00
Matthew Gregan
3c8596b473 Bug 495794 - Fix crash when destroying audio stream that failed to open cleanly. r=chris.double 2009-07-02 16:38:26 +12: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
Chris Double
dd020ab03a Bug 496456. When we seek to the end, we should only fire end stuff if we're not playing, otherwise playing should be responsible for ending. Set the current frame time at the end of the stream to the duration, if it's longer than our end time estimate, because the duration can include more than one frame-time's worth of audio. Also, don't replicate a frame of audio in DecodeToFrame when seeking. r=cpearce,sr=roc
--HG--
extra : rebase_source : e34cc28482e2b0ced5ec0774ce73865501400ca6
2009-06-12 14:14:28 +12:00
Matthew Gregan
6ed2191af1 Bug 495163. Trivial code removal, r=roc
--HG--
extra : rebase_source : 5dee5799025c99cad5f7ae8ca7cc4ade3f650a89
2009-06-12 14:08:32 +12:00
Robert O'Callahan
f020867639 Bug 496581. If we seek to the end, enter COMPLETED state instead of trying to decode more. r=doublec
--HG--
extra : rebase_source : 16d4e604e40384221b148bf8939339179a93d96c
2009-06-12 14:07:08 +12:00
Robert O'Callahan
c41a58c04d Bug 494322. nsMediaCache verification code is super slow in debug builds, so turn it off during seeking so we don't get O(N^2) slowdowns. r=doublec
--HG--
extra : rebase_source : a088ef84206eeb7e6e77d42fecb1bbd8f0721c60
2009-06-12 13:43:23 +12:00
Chris Pearce
373b3baa8d Bug 496147 - Ensure ended is true when video playback is ended. r=doublec,sr=roc
--HG--
extra : rebase_source : dc04fe505e75d91e5e1f694728aba8f5be0e32b2
2009-06-12 12:56:50 +12:00
Serge Gautherie
770b7d9955 Bug 494769 - [MacOSX] mochitest-plain: test_wav_trailing.html (and others) intermittently triggers "malloc: *** error: can't allocate region"; (Fv1) reorder file list 2009-06-09 16:07:22 +02:00
Matthew Gregan
bfa49f248b Bug 494116 - Use system audio timer for a/v sync on Windows. r=chris.double, sr=roc 2009-06-03 10:32:11 +12:00
Chris Pearce
60c046a220 Bug 495507 audio sync - send blank audio when the audio stream has closed, not when there's no audio to present. r+ doublec, sr+roc 2009-06-02 15:05:46 +12:00
Robert O'Callahan
a7381d3c2d Bug 495161. Buffer enough data in the Wave decoder that we never immediately leave BUFFERING after entering it. r=mgregan 2009-06-02 09:55:58 +12:00
Robert O'Callahan
95fa6aa4fc Bug 495319. Fire 'timeupdate' with the correct final time when we finish playing. r=doublec 2009-06-02 09:54:16 +12:00
Robert O'Callahan
ca157bbb5a Backing out bug 487519 due to reftest failures 2009-06-01 00:09:17 +12:00
Robert O'Callahan
a500ff4f1a Fixing bustage (bug 495300) 2009-05-31 22:28:57 +12:00
Chris Double
6664a71b4b Bug 487519. Work around Ogg bugs by decoding two frames before we seek to find the duration. r=roc 2009-05-31 22:06:30 +12:00
Robert O'Callahan
74b9d63089 Bug 495300. Trigger 'ended' behaviour when seeking to the end of a media resource. r=doublec 2009-05-31 22:02:17 +12:00
Chris Pearce
0c2e85ab11 Bug 495156 - Video playback gets stuck forever when pressing End key. r=doublec sr=roc a=blocking1.9.1+ 2009-05-29 00:15:16 -04:00
Chris Pearce
73e0202e9d Bug 495336 - liboggz oggz_get_next_page() and oggz_read_get_next_page() wrong r=doublec sr=roc a=blocking1.9.1+ 2009-05-29 00:13:23 -04:00
Chris Double
f1db574761 Bug 495129. Propagate errors better. r+sr=roc 2009-05-28 16:39:39 +12:00
Robert O'Callahan
cb8e86ef15 Bug 495145. Don't change the state away from ENDED if we try to pause in the ENDED state. r=doublec 2009-05-28 15:49:22 +12:00
Robert O'Callahan
244c6d80b4 Since test_load.html waits for load events, make sure it autobuffers and set the cache size to something large so loads aren't suspended. No bug, test-only change. 2009-05-25 12:51:01 +12:00
Chris Double
197958c8d1 Bug 494035. Never enable tracks we don't use. r=roc
--HG--
extra : rebase_source : ceffc78e6473273893fd1ad000799b32023f5c76
2009-05-25 12:45:47 +12:00
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
Robert O'Callahan
8a7e78d507 Bug 475110. Don't try to handle Wave files loaded via links or <object> using our Wave codec, since there are Wave formats we don't support that are actually used in the wild. r=doublec,a=beltzner
--HG--
extra : rebase_source : 562c7c7c17157082483e456f33aa8b211fd07aeb
2009-05-25 12:42:19 +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
d8d488ca5a Bug 486922. Clamp out-of-bounds seek requests. r=doublec
--HG--
extra : rebase_source : deeabc531d4fa6ada6e35740aed44bcc3844f233
2009-05-19 21:55:04 +12:00
Robert O'Callahan
075fbf3ff1 Fix test_media_selection.html to handle IDLE network states, since the cache size limit can suspend its loads
--HG--
extra : rebase_source : a90486545fbb993c48dba3ee0025418b7bdc915f
2009-05-19 21:53:38 +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
Matthew Gregan
07f0682802 Bug 454971. Support 'new Audio()' constructor. r+sr=roc
--HG--
extra : rebase_source : 1738d65cd16a79d69408055a8d9feb5ab5d97923
2009-05-19 17:18:41 +12:00
Robert O'Callahan
97e33b8c4d Bug 492420. Delay a little before playing a live stream to try to reduce the likelihood we'll have to buffer. r=doublec
--HG--
extra : rebase_source : 022aa4d89644b3cfef62f95b4349932594de734f
2009-05-19 17:14:20 +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
Benjamin Smedberg
6df221580d Bug 488175 - flatten dist/include and provide mechanism to install certain headers in namespaced subdirectories (e.g. #include "mozilla/XPCOM.h") r=ted
--HG--
rename : xpcom/ds/nsTimeStamp.cpp => xpcom/ds/TimeStamp.cpp
rename : xpcom/ds/nsTimeStamp.h => xpcom/ds/TimeStamp.h
2009-05-18 14:15:05 -04:00
Robert O'Callahan
039e8b80e2 Fix test_media_selection.html; its video resource needs to be autobuffer so it doesn't stop loading
--HG--
extra : rebase_source : 937602951c6a8c9831f6a73adc913457e913a7d6
2009-05-18 20:18:43 +12:00
Robert O'Callahan
961c9fc99a Fix test_autobuffer2 to handle the case when a suspend happens when all the data is already loaded.
--HG--
extra : rebase_source : 7923d3fde3e4aef1723e424631f65a64d663f2a3
2009-05-18 16:37:10 +12:00
Robert O'Callahan
c6f26b735c Relax time constraint in test_buf482461 a bit.
--HG--
extra : rebase_source : 01fda6b6e4f50a8207208b22811a335117f9518c
2009-05-18 15:20:40 +12:00
Robert O'Callahan
06e3105812 Bug 479863. AdFire 'suspend' event and do correct networkState transitions when downloads suspend and resume. Also avoid firing 'stalled' while the download is suspended. r=doublec
--HG--
extra : rebase_source : 0615871c062638d575a66e29b630040821a9f9cf
2009-05-18 14:03:37 +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
aafedc777d Bug 479863. Stop buffering media elements by default, implement 'autobuffer' attribute to control buffering. r=doublec
--HG--
extra : rebase_source : 5fa0b63da981fdfcf7b1555174b6d1122bf2ae97
2009-05-18 14:00:44 +12:00
Robert O'Callahan
12cba926fb Fix seeking tests to avoid false assumptions 2009-05-18 12:25:05 +12:00
Robert O'Callahan
7ec7418b2e Fix test_seek5; it should not depend on reading currentTime for the first seek during the asynchronous 'seeking' event, since the second seek may well have already happened. 2009-05-18 12:15:32 +12:00
Chris Pearce
0719504584 Bug 469408. Make seeking in bufferred ranges fast by trying a 'bounded seek' in each buffered data range before falling back to a seek over the whole resource. r=doublec,sr=roc 2009-05-18 10:15:57 +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
Josh Aas
1aad2522fd Disable test "test_videoDocumentTitle.html" due to random failures. b=492821 2009-05-15 23:20:39 -04:00
Robert O'Callahan
f88d86a439 Disable test_autobuffer2.html for now, it fails a lot (bug 493692 filed) 2009-05-19 17:44:23 +12:00