Commit Graph

3119 Commits

Author SHA1 Message Date
Karl Tomlinson
396f33fc30 b=939491 avoid producing infinite stream of subnormals in BiquadFilterNode tail r=padenot
Using double precision for the processing means the main loop is unlikely to
encounter subnormals and provides suitable extra precision to minimize
accumulation of error.

If the tail output values are denormalized when converted to single precision
then flush them to zero to reduce downstream computation cost.

--HG--
extra : transplant_source : %08%09u%C48%E3i%AB%23%1B%D8_kz%E5%A8_%3D%C4%93
2013-12-03 12:07:16 +13:00
Mike Hommey
0f52679a01 Bug 945532 - Add missing includes in OpusParser.h. r=kinetik 2013-12-03 12:30:47 +09:00
Mike Hommey
a0b89ce4c8 Bug 945532 - Kill LE* functions in OggCodecState.cpp and use Endian.h functions instead. r=kinetik 2013-12-03 12:30:45 +09:00
Ralph Giles
c489b1733e Bug 938686 - Fix a signed-comparison warning. r=BUSTAGE CLOSED TREE 2013-12-02 16:25:22 -08:00
Jan Gerber
2c42cf67b7 Bug 938686 - Support Opus in WebM. r=kinetik
Support the Opus audio codec in the WebM (Matroska) container.
This is part of the "WebM 2" proposed spec, which also includes
the new VP9 video codec. Alas we weren't able to get concensus
to change the doctype of filename extension to mark the revision
allowing the new codecs.
2013-11-22 14:07:00 -08:00
Jan Gerber
ee37b948a6 Bug 938686 - Refactor Opus header parsing so it can be reused. r=kinetik
We want to be able to use the same header parser for both the WebM
and Ogg readers.
2013-11-22 14:06:00 -08:00
Jan Gerber
be66adb68a Bug 938686 - Make OggReader::DownmixToStereo public static. r=rillian
We want this to be available to the WebM reader as well.
2013-11-14 10:16:00 -08:00
Ryan VanderMeulen
e74bb8fe33 Merge m-c to inbound. 2013-12-02 16:58:15 -05:00
Ryan VanderMeulen
994cdadd13 Merge inbound to m-c. 2013-12-02 16:39:00 -05:00
Edwin Flores
b4ff67ed3a 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
Edwin Flores
19c2ca3567 Bug 918135 - Reduce MAX_SKIPPED_BYTES in MP3FrameParser r=cpearce
Now that we have stopped counting ID3 tags towards our count of non-MP3 data in
the MP3 frame parser, our threshold for claiming a stream is not MP3 can be far
lower than before.
2013-12-03 10:25:28 +13:00
Edwin Flores
5371638316 Bug 918135 - Use MP3FrameParser in GStreamer backend for MP3 duration estimation r=cpearce
This patch adds support for our home-grown MP3 frame parser to the GStreamer
backend so that our duration estimation is consistent across all platforms.
2013-12-03 10:25:28 +13:00
Edwin Flores
a38947e2a0 Bug 918135 - Windows-specific changes for MP3FrameParser refactor r=cpearce 2013-12-03 10:25:27 +13:00
Edwin Flores
19d0bbb775 Bug 918135 - Parse VBR headers in MP3FrameParser for calculating exact duration r=cpearce
This patch adds support for Xing and VBRI headers to MP3FrameParser so that we
can calculate the exact duration of an MP3 file if these headers are present.
It is also now more robust against large ID3 tags and discontinuities in input.
2013-12-03 10:25:27 +13:00
Sotaro Ikeda
1b40262c90 Bug 929029 - Use nsMainThreadPtrHandle in MediaResource. r=roc, r=doublec 2013-12-02 10:22:33 -05:00
Ryan VanderMeulen
7e2a39a422 Backed out changesets 720a36d92d37 and c24da899172a (bug 926746) for frequent timeouts/hangs in test_dataChannel_basicAudio.html. 2013-12-02 14:05:19 -05:00
Ryan VanderMeulen
74325bfb43 Backed out changeset a1628c9ba4af (bug 929029) for timeouts/crashes in test_dataChannel_basicAudio.html. 2013-12-02 12:12:45 -05:00
Shelly Lin
f441e28c56 Bug 945135 - Part 2: Add VideoTrackEncoder. r=roc 2013-12-02 15:52:54 +08:00
Paul Adenot
de7c513c3b Bug 944707 - Stop locking when getting the preferred samplerate from the AudioStream. r=kinetik
--HG--
extra : rebase_source : 7c9f858a63c41037fd44a85457cbf401f63c07a9
2013-12-02 15:58:11 +01:00
Shelly Lin
45271e9aec Bug 945135 - Part 1: Refactor of TrackEncoder and AudioTrackEncoder. r=roc 2013-11-12 10:29:09 +08:00
Ryan VanderMeulen
3de5acfddf Merge m-c to b2g-inbound. 2013-12-02 10:38:28 -05:00
Robert O'Callahan
b2d1fa5018 Bug 938022. Part 6: Have MediaDecoder/MediaDecoderStateMachine that's producing a MediaStream use that stream's current time as the media clock. r=padenot
We monitor the stream's output current time via a new MediaStreamListener
owned by DecodedStreamData. We also track its main-thread Finished status.
While we're writing to a DecodedStreamData stream that hasn't finished its
output, we stay in the DECODER_STATE_COMPLETED state so we can keep updating
video and firing timeupdates.

GetClock() uses the DecodedStreamData stream's current time as the source for
the clock if there is one.

--HG--
extra : rebase_source : aba1d092d3d347e26ebd823d61fcbfa40a8cd1fe
2013-12-02 10:09:06 +13:00
Sotaro Ikeda
860875d55a Bug 929029 - Use nsMainThreadPtrHandle in MediaResource. r=roc, r=doublec 2013-12-02 10:22:33 -05:00
Steven Lee
7136a575cc Bug 926746 - Part 2: nsContentPermissionHelper set grant information to GonkPermission. r=jesup 2013-12-02 10:21:51 -05:00
Robert O'Callahan
ce664453dd Bug 938022. Part 5: Add aCurrentTime parameter to MediaStreamListener::NotifyOutput and fire notifications when the MediaStreamGraph is in a good state. r=padenot
--HG--
extra : rebase_source : 79edce8650fdb7af315df5006ec3b91dc9fd869f
2013-11-26 00:59:49 +13:00
Robert O'Callahan
be6224b575 Bug 938022. Part 4: Add MediaTimeToMicroseconds. r=cpearce
--HG--
extra : rebase_source : 4c28f1b4babfbccc86bdacb9cc54810a307da8bb
2013-11-26 00:57:26 +13:00
Robert O'Callahan
161ce6418f Bug 938022. Part 2: Block captured MediaStream when the MediaDecoderStateMachine is not playing. r=cpearce
--HG--
extra : rebase_source : 01d887b3b5917b7c51a286d61feb10e7b2426d9a
2013-11-23 22:48:24 +13:00
Robert O'Callahan
2fff5d7da8 Bug 938022. Part 1: Update mAudioEndTime from SendStreamData. r=cpearce
--HG--
extra : rebase_source : 2cbb5dcbe4d97e21f276559c5fb7dac99d919a2b
2013-11-23 00:33:24 +13:00
Ms2ger
cf53814bbc Merge mozilla-inbound to mozilla-central. 2013-11-29 09:54:12 +01:00
Ms2ger
554db665e5 Bug 937258 - Part a: Remove empty makefiles; r=gps 2013-11-28 15:25:40 +01:00
Matthew Gregan
96b0a6e352 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Benjamin Peterson
479abf96d4 backout dc9ebdf27e98 (bug 942657) for bustage 2013-11-28 20:50:16 -06:00
Matthew Gregan
8ed6660e86 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Nicholas Nethercote
bc78290462 Bug 936964 (part 4, attempt 2) - Make MediaMemoryTracker ref-counted. r=kinetik.
--HG--
extra : rebase_source : fb032c262779678a33baa80700f448d3c9c469d3
2013-11-25 16:01:31 -08:00
Ehsan Akhgari
cf46a71d76 Bug 944378 - Build content/media/webspeech/synth/pico in unified mode; r=glandium 2013-11-28 08:46:23 -05:00
Nicholas Nethercote
c82c609ac3 Bug 936964 (part 7, attempt 2) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
* * *
Bug 936964 (part 7b) - Fix a use-after-free found by ASan.

--HG--
extra : rebase_source : d38ab6b63e9d576773baf8e55fa4f7182c33915e
2013-11-07 16:35:30 +11:00
Ehsan Akhgari
6220f98ec6 Backed out 9 changesets (bug 943660, bug 936964) because of ASAN use-after-free crashes on browser-chrome and mochitest-other
Backed out changeset 85486c4aa3d8 (bug 936964)
Backed out changeset 25312eb71998 (bug 936964)
Backed out changeset 6dbb8333960c (bug 936964)
Backed out changeset da6465ad476f (bug 936964)
Backed out changeset a87ffc992f38 (bug 936964)
Backed out changeset 4ae3a61182db (bug 936964)
Backed out changeset 34e9c3137804 (bug 936964)
Backed out changeset fd1459e71585 (bug 936964)
Backed out changeset 3e8a701d8bdc (bug 943660)

Landed on a CLOSED TREE

--HG--
rename : content/canvas/src/WebGLMemoryTracker.h => content/canvas/src/WebGLMemoryReporterWrapper.h
2013-11-27 20:05:00 -05:00
Nicholas Nethercote
74e6ffe050 Bug 936964 (part 7) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
--HG--
rename : content/canvas/src/WebGLMemoryReporterWrapper.h => content/canvas/src/WebGLMemoryTracker.h
extra : rebase_source : 611e8d35907959b163aeced1c4ffe1d265048fe6
2013-11-07 16:35:30 +11:00
Nicholas Nethercote
e604caa465 Bug 936964 (part 4) - Make MediaMemoryTracker ref-counted. r=kinetik.
--HG--
extra : rebase_source : fced8b650971a152299fcf07a9ee75936d1810a2
2013-11-25 16:01:31 -08:00
Chris Pearce
719365dddb Bug 943721 - Make MP4Reader restrict its codecs output to H.264 and AAC. r=kinetk
We should restrict the output of MP4Reader to H.264 and AAC so that we
don't end up invoking rogue platform decoders (if that's even possible).
This means that we won't play MP3 audio inside MP4, that's deliberate.
2013-11-28 11:12:24 +13:00
Chris Pearce
7577f98b66 Bug 944088 - Make MP4Reader::Init() assume mLayersBackendType=LAYERS_NONE if it doesn't have a decoder owner. r=kinetik
This ensures that if the MP4Reader fails to get a decoder owner, we
don't abort the media load, but instead we will assume that we don't
have an advanced layers backend, and so fallback to software decoding on
Windows.
2013-11-28 11:12:22 +13:00
Jacek Caban
ea5683303e Bug 930833 - Add missing extern "C" for mingw compilation
--HG--
extra : rebase_source : 54b23b82b4cab3d4fba31e289c69f03f00ec6f5f
2013-12-02 12:13:43 +01:00
Jacek Caban
2647d9f552 Bug 944900 - Fix content/media/fmp4 compilation on mingw. r=cpearce
--HG--
extra : rebase_source : 3e1bd0401c7768b97dc22bddb7c76cc8ba832675
2013-12-02 12:12:35 +01:00
Randy Lin
98ffdc3b08 Bug 935774 - "Assertion failure: meta" in mozilla::MediaEncoder::GetEncodedData. r=roc 2013-11-25 12:57:52 +13:00
Ehsan Akhgari
1482ff3f90 Bug 942489 - Deunify more files that are caught by bug 941854; r=BenWa 2013-11-24 01:29:24 -05:00
Chris Pearce
59eaed0734 Bug 941857 - Only build WMFPlatofrmDecoderModule when MOZ_WMF is defined. r=kinetik
--HG--
extra : rebase_source : a9a8741540560d7591261f2a68dd68fce956e6f5
2013-11-22 10:36:02 -05:00
Masatoshi Kimura
aec068d530 Bug 925599 - Replace WinUtils::GetWindowsVersion() and GetWindowsServicePackVersion(). r=jimm 2013-11-22 12:35:42 +09:00
Masatoshi Kimura
4180d93b29 Bug 941931 - Add <algorithm> for VC12 to use std::min. r=cpearce 2013-11-22 12:35:39 +09:00
Sotaro Ikeda
ba75b6c7ed Bug 939654 - Remove unnecessary wait from instantiating MediaResourceManagerService. r=mwu 2013-11-21 16:03:27 -05:00
Ryan VanderMeulen
4e2f345770 Merge m-c to inbound. 2013-11-21 11:37:10 -05:00