Commit Graph

270 Commits

Author SHA1 Message Date
Robert O'Callahan
b8821fd30c 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
2a6184ac8a Disable seek tests on Windows again
--HG--
extra : rebase_source : 45d9d5bff5f5241731c1bc6f1f3aa5e92deec1e9
2009-07-13 10:45:36 +12:00
Robert O'Callahan
a161b1f5cc Fix bustage properly
--HG--
extra : rebase_source : 109364254fd687c60770b2f9b0af0e6aaf14a1b6
2009-07-10 15:08:34 +12:00
Robert O'Callahan
ee99db569f Fix bustage temporarily 2009-07-10 14:39:16 +12:00
Robert O'Callahan
c862b4f8f6 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
9c0e48342a Bug 502211. Convert 'new Audio' tests to be backend-independent. r=doublec 2009-07-10 14:03:02 +12:00
Robert O'Callahan
83fcea2f10 Bug 502211. Convert test_wav_8bit to a playtest. r=doublec 2009-07-10 14:03:02 +12:00
Robert O'Callahan
809d74757c 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
22578eddd2 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
108c42b7e8 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
a2bede9d66 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
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
Chris Double
828918bcb5 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
f86e17cca9 Bug 495163. Trivial code removal, r=roc
--HG--
extra : rebase_source : 5dee5799025c99cad5f7ae8ca7cc4ade3f650a89
2009-06-12 14:08:32 +12:00
Robert O'Callahan
f600456032 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
2e0c46ca2e 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
be07afd637 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
c294f41ab4 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
2cc8fbe2b4 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
cbd6ab1481 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
85828511ef 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
353ec097d1 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
496609122c Backing out bug 487519 due to reftest failures 2009-06-01 00:09:17 +12:00
Robert O'Callahan
7a349ea412 Fixing bustage (bug 495300) 2009-05-31 22:28:57 +12:00
Chris Double
52d8631083 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
42b669ed47 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
fb1b735b72 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
c9cca633a1 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
2b08d28a2e Bug 495129. Propagate errors better. r+sr=roc 2009-05-28 16:39:39 +12:00
Robert O'Callahan
6134d7088d 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
4f81b0342f 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
1ae4c2a0d3 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
3dc99d8a9f 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
3d39f15314 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
4a9eea3922 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
e3232bfecd Fix another FrameData leak (Bug 463358). Fixes intermittent orange. 2009-05-21 03:17:21 +12:00
Robert O'Callahan
dfae15cade Fix FrameData leak (bug 463358) 2009-05-20 21:11:48 +12:00
Robert O'Callahan
cda3109ffc 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
b515f90d78 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
efef7a6bc2 Backing out bug 493109 on suspicion of causing crashes in linux tests 2009-05-20 00:24:37 +12:00
Robert O'Callahan
6256de7f9c Backed out changeset 4b86cbae2846 2009-05-20 00:23:51 +12:00
Robert O'Callahan
f843370660 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
b4d2d7054a 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
d848e30d78 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
5b5d6baa5f 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
127a265725 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
3d87360eee 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
a0da0c82f6 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
f201fe7c68 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
bb3c7fc0f9 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