Commit Graph

636 Commits

Author SHA1 Message Date
Robert O'Callahan
72885c0876 Bug 998282. Ensure cancellable_request.sjs massively overfills the default 100K media cache size.
This ensures a test can make such a request, receive the event that the
load has been suspended, and cancel the request, all before the load has
completed.

--HG--
extra : rebase_source : c7ea934a1745004872d8529bb99241e2e376759c
2014-03-11 17:30:27 +08:00
Paul Adenot
af25ad4b1b Bug 818822: disable media-element-source-seek-1 for B2G due to bug 994351 r=drno 2014-04-09 16:31:41 +02:00
Michael Pruett
9d2a3060bb Bug 847827 - Update libsoundtouch to allow changing playback rate with multichannel audio. r=padenot
--HG--
extra : rebase_source : ebf10737b048ae3280b9a7706f701337211b2880
2014-04-10 10:37:07 +02:00
Chris Pearce
7f6e8b96b9 Bug 986947 - Make MP3 contained in MP4 playback again on Windows with WMF backend. r=padenot
Report that we can play MP3 inside MP4 on Windows Vista and later in
HTMLMediaElement.canPlayType. Chrome and IE on Windows match this behaviour.

Add a test file with MP3 contained inside MP4. Note the B2G emulator can't play
this file, so I added a codecs parameter to the file's mime type so that
decoder backends have to opt-in to testing with it.

Enable playback of MP3 inside MP4 in WMFReader.

Change from reporting the IMFSourceReader's duration inside WMFReader, to
instead report the IMFSourceReader's duration as the media "end time". This is
needed because the MP3-contained-in-MP4 file's first sample output by the
IMFSourceReader has a non-zero timestamp, and the MediaDecoderStateMachine
assumes that the media samples will be in the range
[$firstSampleStartTime, $firstSampleStartTime+$reportedDuration]. But that's
not the case here, the IMFSourceReader seems to output samples in the range
[0,$reportedDuration]. This assumption mismatch means on the
MP3-contained-in-MP4 file we end up trying to seek after what the
IMFSourceReader assumes is the end of the file, which fails and causes
test failures.
2014-04-04 10:39:42 +13:00
Chris Pearce
ca5f79e5a8 Bug 991448 - Skip Theora decode to next keyframe after seek, so that we don't get visual artifacts after a fastSeek. r=cajbir 2014-04-04 10:39:15 +13:00
Rick Eyre
adcc7d481e Bug 879431 - Set VTTCue's TextTrack from TextTrack::AddCue r=rillian
We were having an issue where the cue's track property was undefined
because it was never set when adding the cue to a text track's list
of cues.
2014-04-02 18:16:00 +02:00
Matthew Gregan
69f11197c5 Bug 927245 - Remove deprecated Audio Data API implementation. r=cajbir,smaug 2014-04-03 10:53:39 +13:00
Rick Eyre
9aac79542d Bug 882677 - Part 5: Add track element tests. r=cpearce 2014-03-17 15:11:41 -04:00
Ryan VanderMeulen
0d5b7940ce Merge inbound to m-c. 2014-04-01 16:45:00 -04:00
JW Wang
95bd4f71d1 Bug 980868 - Don't skip video frame when |clock time| is less than |mVideoFrameEndTime| for we are still in the safe range without underruning video frames. r=cpearce 2014-04-01 08:58:55 -04:00
Rick Eyre
f25cdf1a62 Bug 903030 - Add tests for TextTrackCue validation code. r=cpearce 2014-03-31 12:48:00 +02:00
Chris Pearce
b12df215bb Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
* * *
Bug 778077 - Fix up MediaOMXReader fastseek to ensure audio stream stays in sync with video stream. r=cajbir
2014-04-01 16:39:04 +13:00
Karl Tomlinson
22b3aa9cc0 crashtest for bug 986901
Derived from testcase by Jesse Ruderman <jruderman@gmail.com>

--HG--
extra : transplant_source : %AE%CEf%29%F9%C4%25%82%B5%17%24%3C%0ErA%90.%7C%09%0C
2014-03-31 18:32:33 +13:00
Karl Tomlinson
d729f892b6 b=983066 pad out resampler input past track end only to the end of the block r=padenot
The extra null samples were mostly harmless, and may have even helped avoid
bug 983062 sometimes, but caused the "Samples missing" assertion to fail.

--HG--
extra : transplant_source : M%D6%B4ra2%AE%DA%EC%82%E1%D8_%83%9F%FBw%F2%ECh
2014-03-31 18:32:32 +13:00
Ed Morley
7a428f481b Backed out changeset 00fa39c23b44 (bug 778077) for reftest failures 2014-03-28 12:31:29 +00:00
Chris Pearce
eefc2c2db6 Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
2014-03-28 22:36:10 +13:00
Phil Ringnalda
7fb1a235f6 Backed out 2 changesets (bug 778077, bug 631058)
CLOSED TREE

Backed out changeset dda301682977 (bug 631058)
Backed out changeset 25b633e7dcd5 (bug 778077)
2014-03-27 21:50:02 -07:00
Chris Pearce
7bc425d1e8 Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
2014-03-28 15:50:28 +13:00
Randy Lin
05878d4b12 Bug 973522 MediaRecorder causes large leak. r=roc, jsmith 2014-03-26 01:11:58 +08:00
Carsten "Tomcat" Book
f093c0f61d Backed out changeset 9b6ec03572ed (bug 981470) for suspicion of breaking mochitest-1 on a CLOSED TREE
--HG--
rename : content/media/test/test_documentTitle.html => content/media/test/test_audioDocumentTitle.html
2014-03-25 12:25:07 +01:00
Carsten "Tomcat" Book
cce60b46a6 Backed out changeset 8baf04242325 (bug 493692) for mochitest bustage on a CLOSED TREE 2014-03-25 12:15:38 +01:00
Robert O'Callahan
79ad3ebdbf Bug 493692. Fix and reenable test_preload_suspend. r=cpearce
--HG--
extra : rebase_source : 947c7f65d071c62b57d7bf529a00cc72f9910345
2014-03-10 11:03:14 +08:00
Robert O'Callahan
121f4a711d Bug 981470. Combine test_audioDocumentTitle and test_videoDocumentTitle and avoid testing WAV files, which aren't supposed to load properly in <iframe>s. r=cpearce
--HG--
rename : content/media/test/test_audioDocumentTitle.html => content/media/test/test_documentTitle.html
extra : rebase_source : 27016e8c3a15dcbfeb9462a17f27b043ac977d75
2014-03-10 10:45:14 +08:00
Rick Eyre
966f17bf77 Bug 891381 - Tracks loaded via TrackElement should have the same id as the TrackElement. r=cpearce 2014-03-19 11:27:39 -04:00
Boris Zbarsky
009cf4dd56 Bug 980962. Fix in-tree consumers to not construct typed arrays without "new". r=jorendorff 2014-03-20 23:19:42 -04:00
Rick Eyre
4c6493e492 Bug 977302 - Perform automatic text track selection. r=rillian
This takes care of automatic track selection for tracks with
the default attribute specified. However, it does not take
into account any user preferences set through Firefox such
as default language.
2014-02-28 15:40:00 -05:00
JW Wang
5bbe4265ba Bug 951100 - Set 'autoplay' to true to trigger play instead of calling play() in 'canplaythrough' callback. r=cpearce
canplaythrough results from an estimation of download speed and playback rate and could be fired multiple times or sometimes not at all.
2014-03-19 14:07:41 +08:00
Wes Kocher
679d927c40 Merge inbound to m-c 2014-03-18 14:15:03 -07:00
Rick Eyre
182d5316ee Bug 983207 - Tracks created through a TrackElement should have a default mode of 'disabled'. r=cpearce
- I've refactored the way we set modes as well, making it a part
of the TextTrack ctors.
- I've also changed TextTracks in the track tests to have their
mode set to 'hidden' in order to be able to call TextTrack::Cues.
This is correct since TextTracks with a mode of 'disabled' do not
return null for their cue lists.
2014-03-13 13:18:06 -04:00
Alfredo Yang
2e6376ed3f Bug 975978 - Testcase for aspect-ration mp4 video playback. r=cpearce 2014-03-18 08:20:19 -04:00
Ryan VanderMeulen
c8a17e2511 Merge inbound to m-c. 2014-03-17 13:16:53 -04:00
JW Wang
ff2c32bbea Bug 984213 - Since 'preload' defaults to 'none' on b2g, 'loadedmetadata' is not fired and caused timeout. r=cpearce 2014-03-17 16:54:35 +08:00
Rick Eyre
c1ed0c1a19 Bug 982183 - Put VTTRegion DOM API behind a pref. r=rillian, r=bz 2014-03-12 13:55:45 -04:00
JW Wang
17ef40234f Bug 886188 - Remove test 12 since the spec no longer found in the document, http://dev.w3.org/html5/spec-preview/media-elements.html. r=roc 2014-03-17 13:30:46 +08:00
Bill McCloskey
fd05f3eb04 Bug 982828 - [e10s] Disable mochitest-plain tests that don't pass in e10s (r=ted) 2014-03-13 21:38:19 -07:00
Wes Kocher
3b83e5bb22 Backed out changeset 88425ad0f06a (bug 982828) for introducing various mochitest-5 failures on a CLOSED TREE
* * *
Backed out changeset 94f9ebdc6662 (bug 982828)
2014-03-13 19:41:21 -07:00
Bill McCloskey
e784b5aef6 Bug 982828 - [e10s] Disable mochitest-plain tests that don't pass in e10s (r=ted) 2014-03-13 15:41:41 -07:00
Bill McCloskey
006786a6b4 Backed out changeset d6261f65070a 2014-03-13 15:52:27 -07:00
Bill McCloskey
ed100f425c Bug 982828 - [e10s] Disable mochitest-plain tests that don't pass in e10s (r=ted) 2014-03-13 15:41:41 -07:00
Rick Eyre
1b31667459 Bug 882664 - Part 2: Perform sorting on TextTrackLists. r=rillian
- This implements sorting on the MediaElement's list of TextTracks as
described in: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-model
This is important as automatically positioned cues will have a line
position that is relative to their TextTrack's position in the
MediaElement's list of TextTracks.
- Added a TextTrackSource enum which all TextTracks have. This helps
distinguish where a TextTrack came from.
2014-02-27 12:47:23 -05:00
Rick Eyre
3ac9bb5b9b Bug 978163 - Part 4: Add test for VTTCue::Region. r=rillian
Updated test_texttrackregion.html to reflect the changes as well.

See spec bug: https://www.w3.org/Bugs/Public/show_bug.cgi?id=24380

DONTBUILD
2014-03-11 14:06:44 -04:00
Ryan VanderMeulen
0195bf607f Backed out changeset 2b3efd1687ec for landing with the wrong bug number. 2014-03-13 11:42:23 -04:00
Rick Eyre
6950fb8914 Bug 978173 - Part 4: Add test for VTTCue::Region. r=rillian
Updated test_texttrackregion.html to reflect the changes as well.

See spec bug: https://www.w3.org/Bugs/Public/show_bug.cgi?id=24380
2014-03-11 14:06:44 -04:00
Vaibhav Agarwal
910cf28c11 Bug 971132 - B2G mochitests should use the new manifest format; r=jmaher 2014-03-12 11:41:08 -04:00
Vaibhav Agarwal
d126a07311 Bug 970925 - convert testing/mochitest/android.json into skip-if statements in mochitest.ini files; r=jmaher 2014-03-12 06:16:12 -04:00
Boris Zbarsky
51c7e3a485 Bug 980965. Stop using DOM constructors as functions in chrome code. r=bholley 2014-03-10 17:38:14 -04:00
Vaibhav Agarwal
bb9b55bec2 Bug 970925 - convert testing/mochitest/android.json into skip-if statements in mochitest.ini files; r=jmaher 2014-03-06 13:42:47 -05:00
Vaibhav Agarwal
1dd6d7f149 Bug 971132 - B2G mochitests should use the new manifest format [directories]; r=jmaher 2014-03-06 13:42:45 -05:00
Vaibhav Agarwal
64e20261db Bug 971132 - B2G mochitests should use the new manifest format; r=jmaher 2014-03-06 13:42:43 -05:00
JW Wang
0571ecbb6d Bug 969706 - Playback may reach end before pref change is completed thus no more timeupdate events. Set loop to true to keep playing. r=padenot 2014-03-04 11:11:19 +08:00