Commit Graph

148 Commits

Author SHA1 Message Date
Chris Pearce
12873b0383 Bug 975933 - Increase precision of bug516323.indexed.ogv index's timestamp denominator to prevent precision mismatch causing test failures. r=rillian 2014-02-26 13:36:54 +13:00
Alessandro Decina
c227f421a5 Bug 806917 - Add support for GStreamer 1.0. r=edwin, r=gps 2014-02-11 09:22:45 -05:00
Ralph Giles
c88a2f8c99 Bug 951770 - Reject invalid Opus pre-skip in WebM. r=doublec
The 'pre-skip' value representing encoder delay in the Opus
format is recorded once in the .opus representation, but for
WebM it's in the file both in the CodecDelay element and in
the CodecPrivate data. We now reject files where these two
fields don't match.

Our detodos.webm file was exactly this sort of mismatched
file. It has been renamed and added to the invalid file list
to verify we now reject it. A new detodos.webm replaces it,
remuxed from detodos.opus with a bugfixed mkvmerge.

Based on a patch by Jan Gerber.

--HG--
rename : content/media/test/detodos.webm => content/media/test/invalid-preskip.webm
2014-02-02 19:39:00 -08:00
Alfredo Yang
76eb8c5636 Bug 959861 - Testcase for fragmented mp4 playback. r=cpearce 2014-01-22 10:50:23 -05:00
JW Wang
95c567d954 Bug 916135 - Part 1: Force releasing codec to prevent timeout in waiting for acquiring h264 codec and set the preload attribute to "auto" to prevent timeout in waiting for loadedmetadata event. r=padenot 2014-01-17 13:58:48 +08:00
Jan Gerber
e426780824 Bug 949525 - VP9 tests. r=cpearce
Remuxed vp9cake.webm to correct CodecDelay values.
2013-12-19 07:02:00 -08:00
Jan Gerber
8fa15c7e8e Bug 945513 - Opus-in-WebM tests. r=rillian
detodos.webm was remuxed with ffmpeg N-58726-g9695fb2 from detodos.opus

| + Muxing application: Lavf55.22.100
| + Writing application: Lavf55.22.100
2013-12-16 10:48:00 -08:00
Chris Pearce
409de3cf97 Bug 941314 - Use SpecialPowers.exactGC in media mochitests to hopefully improve their reliability. r=kinetik 2013-12-06 17:15:13 +13:00
Edwin Flores
2dcc290033 Bug 918135 - More tests for MP3FrameParser r=cpearce
This patch introduces two more MP3 test cases to exercise MP3FrameParser:
* vbr-head.mp3: This file contains a Xing header which gives an exact duration
    of 10 seconds. However, it only contains 4 MP3 frames total for a real
    duration of around 1 second. It is expected that we read the Xing header
    and report 10 seconds.
* huge-id3.mp3: This file contains more than 130KB of ID3 tags. When we search
    for MP3 frames, we give up after X KB of non-MP3 data. ID3 tags should not
    count towards the non-MP3 count, since they can be very large. This test
    case makes sure the skipping of ID3 tags works correctly.
2013-12-03 10:25:28 +13:00
Chris Double
2b4869da59 Bug 874897 - Mochitest for copying of frames of videos with aspect ratio to canvas - r=kinetik
--HG--
extra : rebase_source : c5ff10d61a1ea46b0fdb2a43e926405660493912
2013-11-18 18:26:51 +13:00
Edwin Flores
05d42ab025 Bug 914479 - AudioToolbox MP3 backend on OSX r=cpearce 2013-09-14 13:14:42 +12:00
Chris Pearce
ddd2cfddd7 Bug 910966 - Use MP3FrameParser in DirectShow's SourceFilter, to more accurately determine the offset of the first MP3 frame. This enables us to only pass the MP3 data into DirectShow, which can't handle large ID3v2 tags. r=padenot 2013-09-09 09:47:54 +12:00
Chris Pearce
cf122919c7 Bug 908862 - Strip ID3 tags before we expose MP3 data to DirectShow, to work around bugs in its MP3 decoder. r=padenot 2013-08-29 10:53:03 +12:00
Thomas Zimmermann
cc9047ec02 Bug 831224: Added mochitest for variable-bitrate MP3s, r=padenot
The test checks the duration of an MP3 file with variable bitrate. The
MP3 file only contains silence. It uses a high bit-rate encoding for its
first half, a low bit-rate encoding for its second half. The correct
duration is 10 seconds, but an incorrect implementation will return a
much shorter value.
2013-08-07 18:54:04 +02:00
Thomas Zimmermann
d184108c32 Bug 831224: Remove trailing whitespaces, r=padenot 2013-01-24 13:38:32 +01:00
Ed Morley
356d0996fb Backed out changeset 303ba353d785 (bug 831224) for turning bug 897108 permaorange 2013-08-08 10:00:26 -07:00
Ed Morley
d07cf9666f Backed out changeset 374a8aab2b49 (bug 831224) 2013-08-08 09:59:39 -07:00
Thomas Zimmermann
eb53c373e1 Bug 831224: Added mochitest for variable-bitrate MP3s, r=padenot
The test checks the duration of an MP3 file with variable bitrate. The
MP3 file only contains silence. It uses a high bit-rate encoding for its
first half, a low bit-rate encoding for its second half. The correct
duration is 10 seconds, but an incorrect implementation will return a
much shorter value.

--HG--
extra : rebase_source : f62cf69a631a276c4e6e96e827ab615367cad877
2013-08-07 18:54:04 +02:00
Thomas Zimmermann
1573d86782 Bug 831224: Remove trailing whitespaces, r=padenot
--HG--
extra : rebase_source : e04ddb59ab953550d988924670c96b73bf7909f2
2013-01-24 13:38:32 +01:00
Martijn Wargers
197d05aa66 Bug 896582 - Implement a workaround to bug 838726 to get a bunch of content/media mochitests running on B2G. r=jgriffin 2013-07-25 22:32:17 +02:00
Jason Smith
b1f56ecb1f Bug 896302 - Add a mochitest for creation of a media recorder object. r=roc 2013-07-21 18:37:42 -07:00
Paul Adenot
886696b46e Bug 886173 - Preserve playbackRate across pause/play. r=cpearce 2013-07-11 16:58:57 +02:00
Léonard Beck
3feece5ab1 Bug 654550 - Add a preference to disable media statistics. r = padenot,jaws 2013-06-11 17:23:13 +02:00
Edwin Flores
aed9cc50a0 Bug 885157 - Kill content/media/test/test_too_many_elements.html r=cpearce 2013-06-22 11:16:53 +12:00
Edwin Flores
50e1276b08 Bug 794282 - Enable gstreamer by default in builds, but pref off r=cpearce,khuey 2013-06-22 11:16:53 +12:00
Chris Pearce
24f7039d0b Bug 881954 - Generalize test_too_many_elements to run on more than just Ogg audio. r=padenot 2013-06-14 09:07:07 +12:00
Chris Pearce
d04999e520 Bug 880062 - Make WMF video backend call MediaDecoder::SetMediaSeekable(false) when it can't seek like it's supposed to. r=padenot 2013-06-13 10:15:23 +12:00
Ryan VanderMeulen
9fad01536a Backed out changeset 4cb1973f06b9 (bug 868439) for Android M2 failures.
CLOSED TREE
2013-05-21 10:48:09 -04:00
Martijn Wargers
b4356d38c0 Bug 868439 - Convert some uses of nsIPrefBranch to SpecialPowers. r=jmaher 2013-05-21 02:14:06 +02:00
Ralph Giles
1fafe574a9 Bug 782091 - Add multichannel Opus test files. r=derf
This doesn't do any verification of the output, just checks
that we load multichannel files and playback completes.

These are public-domain test files created by Tim and Monty
last year. They're not great audio quality, the idea is just
to verify correct speaker mapping.

http://people.xiph.org/~greg/opus_testvectors/opus_multichannel_examples/
2013-05-01 14:15:57 -07:00
Robert O'Callahan
036de11b55 Bug 834835. Part 4: Test basic MediaStreamTrack functionality. r=jesup 2013-04-17 17:18:53 +12:00
Steve Workman
fc6911c83d Bug 855064 - Remove DASH references in media unit tests r=cpearce 2013-04-02 17:05:00 -07:00
Andrea Marchesini
b57856b7a9 Bug 841014 - Rename nsTimeRanges.h to TimeRanges.h. r=Ms2ger
--HG--
rename : content/html/content/src/nsTimeRanges.cpp => content/html/content/src/TimeRanges.cpp
rename : content/html/content/src/nsTimeRanges.h => content/html/content/src/TimeRanges.h
2013-03-02 14:14:44 -05:00
Steve Workman
0b2877e907 Bug 813562 - Test case for garbled DASH MPD and WebM media r=cpearce 2013-01-31 18:41:26 -08:00
Steve Workman
7096303212 Bug 792935 - Test to detect DASH stream switching r=cpearce 2013-01-31 14:47:22 -08:00
Steve Workman
2d9494c6bf Back out f08e636ecdc4 (bug 792935) for mochitest failures 2013-01-31 10:54:26 -08:00
Steve Workman
fc4bfc6b91 Bug 792935 - Test to detect DASH stream switching r=cpearce 2013-01-31 09:45:45 -08:00
Steve Workman
ee7bb7cf5d Bug 792935 - Add DASH to gPlayedTests and gPlayTests r=cpearce 2013-01-28 18:34:28 -08:00
Steve Workman
5b6a96852d Bug 792935 - Add DASH to test_info_leak, test_progress and test_standalone r=cpearce 2013-01-28 18:34:28 -08:00
Steve Workman
c65cca2192 Bug 792935 - Add DASH to various Media Mochitests r=cpearce 2013-01-23 11:24:41 -08:00
Steve Workman
94fc543ce7 Bug 792935 - Add DASH to gSmallTests and gSeekTests to manifest.js (Media Mochitests) r=cpearce 2013-01-23 11:24:41 -08:00
Chris Pearce
cedcf61f3a Bug 815748 - Add MP3 and M4A audio files to media test framework, use gizmo.mp4 instead of short.mp4 for sniffer test, since short.mp4 contained mpeg4 video rather than h.264. r=padenot 2012-12-18 21:38:37 +13:00
Paul Adenot
70f94dbb33 Bug 817403 - Remove the preskip check when playing opus chained file. r=derf 2012-12-03 15:44:26 +01:00
Paul Adenot
37ee1aa8dd Bug 455165 - Tests for ogg chain support. r=cpearce 2012-11-30 14:17:55 +01:00
ChangZhuo Chen
7c2606ae5f Bug 778053 - Test case for wave metadata. r=kinetik 2012-10-06 19:32:30 +08:00
Ralph Giles
5ccf92251b [PATCH] Bug 812847 - Test Opus channel count validation - r=kinetik
From 49f5e33d79df3713bc510e611a5064858bf24e4a Mon Sep 17 00:00:00 2001
These files have specially crafted headers which should be
rejected by the new checks added to resolve this bug. If any
audio output is produced then this bug has re-occured.

The audio data is the phrase "invalid file", in one or six
channels, to make this more obvious.

The new mochitest test_invalid_reject.html tries to load
and play each of the new invalid files and verifies that
an error event is triggered. Since the invalid data is in
the file headers, this should happen after network load
but before metadata is ready, so the test also asserts
errors if loadedmetadata or a number of subsequent events
are triggered.

The test will time out if no error event is fired at all.

Thanks to Matthew Gregan for assistance writing the mochitest.
---
 content/media/test/Makefile.in              |  11 ++++++
 content/media/test/invalid-cmap-s0c0.opus   | Bin 0 -> 6835 bytes
 content/media/test/invalid-cmap-s0c2.opus   | Bin 0 -> 6834 bytes
 content/media/test/invalid-cmap-s1c2.opus   | Bin 0 -> 6848 bytes
 content/media/test/invalid-cmap-short.opus  | Bin 0 -> 6854 bytes
 content/media/test/invalid-m0c0.opus        | Bin 0 -> 2471 bytes
 content/media/test/invalid-m0c3.opus        | Bin 0 -> 2471 bytes
 content/media/test/invalid-m1c0.opus        | Bin 0 -> 6836 bytes
 content/media/test/invalid-m1c9.opus        | Bin 0 -> 6836 bytes
 content/media/test/invalid-m2c0.opus        | Bin 0 -> 2471 bytes
 content/media/test/invalid-m2c1.opus        | Bin 0 -> 2455 bytes
 content/media/test/manifest.js              |  14 ++++++++
 content/media/test/test_invalid_reject.html |  52 ++++++++++++++++++++++++++++
 13 files changed, 77 insertions(+)
 create mode 100644 content/media/test/invalid-cmap-s0c0.opus
 create mode 100644 content/media/test/invalid-cmap-s0c2.opus
 create mode 100644 content/media/test/invalid-cmap-s1c2.opus
 create mode 100644 content/media/test/invalid-cmap-short.opus
 create mode 100644 content/media/test/invalid-m0c0.opus
 create mode 100644 content/media/test/invalid-m0c3.opus
 create mode 100644 content/media/test/invalid-m1c0.opus
 create mode 100644 content/media/test/invalid-m1c9.opus
 create mode 100644 content/media/test/invalid-m2c0.opus
 create mode 100644 content/media/test/invalid-m2c1.opus
 create mode 100644 content/media/test/test_invalid_reject.html
2012-11-19 15:13:43 -08:00
Chris Pearce
a7711b5de9 Bug 803427 - Correct duration of gizmo.mp4 in media mochitests. r=doublec 2012-10-19 20:09:09 +13:00
Bobby Holley
9f03f90fb7 Bug 792036 - Automated fixups. r=mccr8
find /files/mozilla/build/d/_tests/testing/mochitest/tests/ | egrep "\.(xhtml|html|xml|js)$" | grep -v SimpleTest | grep -vi mochikit | grep -v simpleThread | grep -v test_ipc_messagemanager_blob.html | grep -v "indexedDB/test" | xargs grep -l Components |  xargs grep -L enablePrivilege | perl -pe 's#.*mochitest/tests/##' | xargs perl -p -i.bakkk -e 's/Components\.interfaces(\s|;|\.|\[)/SpecialPowers\.Ci$1/g, s/SpecialPowers\.wrap\(Components\)\.(.)(lasses|tils|nterfaces|esults)/SpecialPowers.C$1/g, s/(?<![\.a-zA-Z])Components/SpecialPowers\.Components/g, s/window\.Components/window\.SpecialPowers\.Components/g'
2012-09-24 14:46:29 +02:00
Ralph Giles
23bb918078 Bug 793315 - Test single tag metadata. r=cpearce
Verify that we return metadata tags from streams with only a
single comment by adding a single comment to a file which
previously had none.

This bug went undetected because all our examples had either
multiple tags, or none.
2012-09-21 13:13:41 -07:00
Ralph Giles
f7b40c94e9 Bug 778050 - Support Opus tag metadata. r=derf
Remember parsed comments from the OpusTags header in
an array member variable. Add a method to generate
the nsHTMLMediaElement::MetadataTags hash table from
those entries, performing the same validatation we
do for Vorbis.

This feature is tested by adding the existing opus
test file to gMetadataTests.

IsValidVorbisTagName is moved to a static method
on nsOggCodecState so it can be shared among the
subclasses and easily called externally.

MetadataTags generation for Vorbis streams is moved
to the same method name on nsVorbisState to allow
sharing of the parsing and validation code as much
as possible, since both formats use the same scheme.

It's arguable whether contrustuction better belongs to
nsOggReader or to the nsCodecState subclasses, since in
theory the various multiplexed streams interact in
determining the canonical tag list, but it is the
per-codec streams which contain the metadata in Ogg.
2012-09-17 18:42:36 -04:00