diff --git a/content/media/test/test_mediarecorder_record_immediate_stop.html b/content/media/test/test_mediarecorder_record_immediate_stop.html index 1327f1acd73c..0f51fe300ed0 100644 --- a/content/media/test/test_mediarecorder_record_immediate_stop.html +++ b/content/media/test/test_mediarecorder_record_immediate_stop.html @@ -97,9 +97,9 @@ function startTest(test, token) { // This handler completes a start and stop of recording and verifies // respective media recorder state. - var canPlayThrough = function() { - element.removeEventListener('canplaythrough', canPlayThrough, false); - + element.onloadedmetadata = function () { + element.onloadedmetadata = null; + element.play(); mediaRecorder.start(); is(mediaRecorder.state, 'recording', 'Media recorder should be recording'); is(mediaRecorder.stream, element.stream, @@ -112,8 +112,7 @@ function startTest(test, token) { 'Media recorder stream = element stream post recording'); }; - element.addEventListener('canplaythrough', canPlayThrough, false); - element.play(); + element.preload = "metadata"; } manager.runTests(gMediaRecorderTests, startTest); diff --git a/content/media/test/test_mediarecorder_record_no_timeslice.html b/content/media/test/test_mediarecorder_record_no_timeslice.html index 5d0270e013de..67321ceb4efc 100644 --- a/content/media/test/test_mediarecorder_record_no_timeslice.html +++ b/content/media/test/test_mediarecorder_record_no_timeslice.html @@ -84,24 +84,18 @@ function startTest(test, token) { } }; - element.oncanplaythrough = function () { - element.oncanplaythrough = null; - // If content has ended, skip the test - if (element.ended) { - ok(true, 'ended fired before canplaythrough, skipping test'); - manager.finished(token); - } else { - // If content hasn't ended, start recording - mediaRecorder.start(); - is(mediaRecorder.state, 'recording', - 'Media recorder should be recording'); - is(mediaRecorder.stream, element.stream, - 'Media recorder stream = element stream at the start of recording'); - // Recording will automatically stop when the stream ends. - } - } + element.preload = "metadata"; - element.play(); + element.onloadedmetadata = function () { + element.onloadedmetadata = null; + mediaRecorder.start(); + is(mediaRecorder.state, 'recording', + 'Media recorder should be recording'); + is(mediaRecorder.stream, element.stream, + 'Media recorder stream = element stream at the start of recording'); + + element.play(); + } } manager.runTests(gMediaRecorderTests, startTest); diff --git a/content/media/test/test_mediarecorder_record_session.html b/content/media/test/test_mediarecorder_record_session.html index a4b4a4b7a8ed..3c179ced020e 100644 --- a/content/media/test/test_mediarecorder_record_session.html +++ b/content/media/test/test_mediarecorder_record_session.html @@ -54,15 +54,17 @@ function startTest(test, token) { ok(false, 'Unexpected warning fired'); } - element.oncanplaythrough = function () { - element.oncanplaythrough = null; + element.preload = "metadata"; + + element.onloadedmetadata = function () { + element.onloadedmetadata = null; + element.play(); for (var i = 0; i < mExpectStopCount; i++) { mediaRecorder.start(1000); mediaRecorder.stop(); } } - element.play(); } manager.runTests(gMediaRecorderTests, startTest);