Commit Graph

106 Commits

Author SHA1 Message Date
Paul Adenot
f4c449a171 Bug 817403 - Remove the preskip check when playing opus chained file. r=derf 2012-12-03 15:44:26 +01:00
Paul Adenot
3ba1d1e845 Bug 455165 - Tests for ogg chain support. r=cpearce 2012-11-30 14:17:55 +01:00
ChangZhuo Chen
a16bcd834a Bug 778053 - Test case for wave metadata. r=kinetik 2012-10-06 19:32:30 +08:00
Ralph Giles
0f21dd7253 [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
e51e7f1ce6 Bug 803427 - Correct duration of gizmo.mp4 in media mochitests. r=doublec 2012-10-19 20:09:09 +13:00
Bobby Holley
5af5a73d3d 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
5bef0f187f 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
28dc7fce2d 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
Ralph Giles
7c7395ec0b Bug 789617 - Test vorbis comment validation. r=cpearce
Add a new test file with some invalid comments and verify
they are filtered out of the mozGetMetadata() output.
The new file includes the following valid edge cases:

 - empty tag name
 - empty tag value
 - punctuation in the tag name

and the following invalid cases:

 - non-ascii tag name
 - invalid characters in tag name
 - non-utf-8 tag value
 - no tag=value separator

Also updates the mochitest messages to be less confusing.
2012-09-10 15:39:23 -07:00
Paul Adenot
f0502d27c7 Bug 789077 - Remove sniffing for mp3 without ID3 because of false positives. r=cpearce 2012-09-07 16:14:05 -07:00
Paul Adenot
dc91169769 Bug 567077 - Tests for sniffing the types of media files that are served with no Content-Type. r=cpearce 2012-09-04 16:24:34 -07:00
Ryan VanderMeulen
514aecd0b0 Backout bug 567077 for bustage. 2012-09-05 18:36:38 -04:00
Paul Adenot
9ccfa62326 Bug 567077 - Tests for sniffing the types of media files that are served with no Content-Type. r=cpearce 2012-09-04 16:24:34 -07:00
Chris Double
d74b5f8a1c Bug 759945 - Part 3: Android OS headers and stub files for software decoding using libstagefright on Android - r=cpearce
--HG--
extra : rebase_source : 0f5b9fed7dac3040a98af6dcc324407c4f8a9772
2012-08-10 20:15:20 +12:00
Bobby Holley
943789da00 Bug 778420 - Fix up tests that don't like the new enablePrivilege. r=jmaher
--HG--
extra : rebase_source : 1158df4a4eb917074204e649efd8f2b8e699f115
2012-08-03 22:19:54 +02:00
Ed Morley
a9fda23889 Backout ec46cfa51bf8, 4a54f06efee8, de811fbd27b0 & 67ea1314c777 (bug 567077) for causing bug 781141 2012-08-08 13:11:34 +01:00
Paul Adenot
f1f8700189 Bug 567077 - Sniff types of media files that are served with no Content-Type -- Tests r=cpearce 2012-08-07 15:56:25 -07:00
Robert O'Callahan
36e9494fb6 Bug 646331. Specify correct duration for 320x240.ogv. r=cpearce 2012-08-03 15:22:24 +12:00
Ralph Giles
619fdc8bf8 Bug 763010 - Add a mochitest for mozGetMetadata(). r=cpearce
Add a few Ogg files which have non-trivial tag metadata in their Vorbis streams, and verify they are returned correctly by the media.mozGetMetadata() extention.

Add a file with no comments to test {} output as well.

Verify that mozGetMetadata() throws an InvalidStateError if called immediately, before the loadedmetadata event fires.
2012-07-30 20:14:29 -04:00
Ryan VanderMeulen
b74e4a29db Revert c39d36167b99 due to a horribly munged backout. 2012-06-10 19:44:50 -04:00
Ryan VanderMeulen
061d4c2616 Backout the bug 754202 backout due to orange. 2012-06-10 19:37:47 -04:00
Benoit Jacob
c0d24546d0 Bug 759221 - 2/6 - don't use file URIs in Android mochitests - r=jmaher 2012-06-08 13:41:38 -04:00
Matt Brubeck
c4a437e09c Back out bug 759221 and bug 761326 because of media test failures 2012-06-08 12:20:14 -07:00
Benoit Jacob
644824e9de Bug 759221 - 2/6 - don't use file URIs in Android mochitests - r=jmaher 2012-06-08 13:41:38 -04:00
Christopher De Cairos
c484bd36db Bug 726904: Make nsVideoFrame::GetVideoIntrinsicSize return the video size before the poster size. r=cpearce 2012-05-11 20:32:15 +12:00
Ralph Giles
c7464ef85a Bug 674225 - Add basic mochitests for Opus. r=cpearce
Add a short Ogg Opus file to the content/media/test
directory and add it to the gSeekTests, gSmallTests,
and gPlayTests in manifest.js. This file is crafted
to end on a packet boundary, so trimming to duration
is not verified.
Set the media.opus.enabled pref to true in manifest.js
so the various tests using the opus file succeed.

Add a stanza to can_play_type_ogg.js to test the
behaviour of canPlayType with an opus-specific
media type for both values of the pref.

Add support for the .opus filename extension to
the mochitest http server.
2012-05-01 17:29:42 -07:00
Paul ADENOT
7404d0fe40 Bug 462960 - Add tests for the played member. r=cpearce 2012-04-30 20:29:29 -04:00
Paul ADENOT
70eca6f58d Bug 480376 - Implement mozHasAudio to indicate when there's no audio track available. r=cpearce 2012-04-28 11:01:10 -04:00
Robert O'Callahan
f7ecbe0c64 Bug 646331. Fix duration of big.wav. r=cpearce 2012-03-19 12:36:06 +13:00
Chris Pearce
eb006e51ef Bug 713381 - Queue media decode thread creation when limit reached. r=roc 2012-01-20 07:30:29 +13:00
Chris Pearce
feca30f47a Bug Bug 713381 - backout 38271572005b,d5ebbc25b4b8,6435f51dd10d. r=backout 2012-01-19 11:56:54 +13:00
Chris Pearce
c7db97f406 Bug 713381 - Queue media decode thread creation when limit reached. r=roc 2012-01-19 09:15:57 +13:00
Chris Pearce
8e92cfdc4c Bug 705994 - Ensure test_preload_actions doesn't try to finish test cases multiple times. r=roc 2011-11-30 11:01:14 +13:00
Chris Pearce
eb3d8c40bf Bug 687972 - Add some verification to MediaTestManager. r=roc 2011-11-29 12:17:09 +13:00
Robert O'Callahan
7cda52b8aa Bug 703379. Keep a table of media elements indexed by URI and when loading, try to find an existing element with the same URI and clone its decoder. r=doublec 2011-11-25 15:06:22 +13:00
Robert O'Callahan
e5c5e6b988 Backing out part of bug 703379 to fix build failure of nsRawReader 2011-11-24 12:30:03 +13:00
Robert O'Callahan
f734db7521 Bug 703379. Keep a table of media elements indexed by URI and when loading, try to find an existing element with the same URI and clone its decoder. r=doublec 2011-11-24 12:05:13 +13:00
Chris Pearce
20ce360676 Bug 683421 - Make MediaTestManager less 'batchy'. r=kinetik 2011-08-31 15:38:10 +12:00
Chris Double
4bb2da9957 Bug 648595 - Part 2/2: Tests for temporal media fragments support - r=cpearce
--HG--
extra : rebase_source : 45e62dc05dff2660a07b43989cdb179e91ac31a5
2011-08-25 11:42:27 +12:00
Paul ADENOT
36cf6a91a7 Bug 462960 - Implement nsIDOMHTMLMediaElement::GetSeekable() + seeking algorithm part 7. r=cpearce 2011-08-09 12:10:48 +02:00
Chris Pearce
e9746ae18e Bug 675747 - Handle multiple bos pages in a single ogg bitstream. r=doublec 2011-08-05 08:44:24 +12:00
Marco Bonardo
e54d67ac13 Backout changesets e0aab5011b70, 0040f406ea6d (Bug 462959) due to intermittent crashes in its own test. 2011-08-02 23:36:14 +02:00
Paul ADENOT
6c67043066 Bug 462959 - Tests for HTMLMediaElement.played; r=cpearce+kinetik 2011-07-03 11:53:39 +02:00
Chris Pearce
1e2942a0a5 Bug 592833 - Move seeking to the decode thread. r=roc 2011-07-12 15:39:25 +12:00
Chris Pearce
3fa5bf6b10 Bug 641718 - Round nsWaveReader's buffered ranges times to usecs. r=kinetik 2011-04-14 10:12:23 +12:00
Chris Double
143856bc77 Bug 556821 - Use Ogg Skeleton presentation time for start of videos - r=cpearce
--HG--
extra : rebase_source : 83020ac5028e9f94cabe6a3c959cf84eeb25449f
2011-03-24 14:16:30 +13:00
Matthew Gregan
a2f5d89538 Bug 634787 - Fix frame wait calculation and early return from Wait(). r=cpearce a=roc 2011-02-18 15:30:33 +13:00
Wes Johnston
a97733eea4 Bug 631058 - Part 1 - Allow specifying default preload behavior through a pref. r=cpearce, a=blocking-fennec 2011-02-15 16:54:47 -08:00
Doug Turner
1be89d99f3 Backed out changeset 2e49069ac1ad 2011-02-14 21:25:20 -08:00
Wes Johnston
e3b4a4aee5 Bug 631058 - Part 1 - Allow specifying default preload behavior through a pref. r=cpearce, a=blocking-fennec
--HG--
extra : rebase_source : bfee19717d59bdeed864e02293c3f5ffd4718724
2011-02-14 17:01:04 -08:00