Commit Graph

2235 Commits

Author SHA1 Message Date
Ed Morley
e98f84f886 Backed out changeset 78424c3ea6cb (bug 883731) 2013-06-19 09:51:05 +01:00
Ed Morley
cec902bdec Backed out changeset 04d60f86b935 (bug 883731) 2013-06-19 09:51:02 +01:00
Robert O'Callahan
803c503184 Bug 883731. Part 3: Make all calls to ChangeReadyState go through UpdateReadyStateForDtaData. r=cpearce
--HG--
extra : rebase_source : 49e39cedd64bcc52bcda452fb38c2d8f460672a0
2013-06-19 16:05:52 +12:00
Robert O'Callahan
0b524698c6 Bug 883731. Part 2: Remove ResourceLoaded notifications since they don't make much sense with a media cache. r=cpearce
--HG--
extra : rebase_source : 8c1657977339c8f97b109c4ec775b7818ed4d57a
2013-06-19 00:17:40 +12:00
Ehsan Akhgari
bbc905d8d8 Backed out changeset 9173dcf026ee (bug 882567) because of mochitest-1 timeouts on Linux
Landed on a CLOSED TREE
2013-06-18 23:16:05 -04:00
Ehsan Akhgari
1951841800 Backed out 2 changesets (bug 794282) because of mochitest-1 timeouts on Linux
Backed out changeset aad877111804 (bug 794282)
Backed out changeset a73bc11da471 (bug 794282)
2013-06-18 23:15:51 -04:00
Edwin Flores
3f5956eafe Bug 794282 - Fix desktop b2g compile error from changeset a73bc11da471 r=bustage 2013-06-19 12:29:36 +12:00
Edwin Flores
d971165513 Bug 794282 - Enable gstreamer by default in builds, but pref off r=cpearce,khuey 2013-06-19 10:22:30 +12:00
Edwin Flores
f77e378709 Bug 882567 - Handle fatal gstreamer errors by aborting playback r=alessandro.d 2013-06-19 10:22:29 +12:00
Jon Coppeard
586c7b4514 Bug 877762 - GC: Post-barrier cycle collector participants - 7 Convert most JSObect to use Heap<T> (ex. XBL) r=bz 2013-06-18 11:00:38 +01:00
Robert O'Callahan
8b714afdcf Bug 882027. Make MediaDecoder::UpdateReadyStateForData always be responsible for calling GetNextFrameStatus when that value is passed to HTMLMediaElement::UpdateReadyStateForData, but keep calling GetNextFrameStatus on the state machine thread to suppress dispatching of redundant runnables when nothing has changed. r=cpearce 2013-06-17 17:15:32 +12:00
Ehsan Akhgari
2597f4b33d Backed out changeset 07708c9fc5ef (bug 883010) because of test failures
Landed on a CLOSED TREE
2013-06-17 13:13:08 -04:00
Ehsan Akhgari
80d5ef963a Bug 883010 - Part 1: Optimize MediaStreamGraphImpl::UpdateStreamOrder in order to optimize away how much time we spend on it in every iteration of the MSG; r=roc
--HG--
extra : rebase_source : 4af5f42054407ad42ebe1752e01178d454c865ed
2013-06-17 11:29:47 -04:00
Ehsan Akhgari
6b0129c018 Bug 883010 - Part 2: Don't bombard the main thread with MSG update messages which are not going to result in any actual work; r=roc 2013-06-17 09:06:34 -04:00
Josh Matthews
9ea183ce8d Bug 865257 - Implement MediaStreamAudioDestinationNode. r=ehsan,roc 2013-05-21 15:17:47 -04:00
Robert O'Callahan
6f0148696b Backing out bug 882027 2013-06-16 01:28:34 +12:00
Robert O'Callahan
25cffcb402 Bug 880601. Emulate a form of keyframe skipping by allowing MediaOmxReader::DecodeVideoFrame to decode more than one video frame if video decoding is falling behind. r=cpearce
If we don't support this in any way, then we get into trouble when there is
plenty of compressed data buffered but for some reason video decoding falls
behind (maybe there was a short period where the video data wasn't available).
Audio playback continues normally, but MediaOmxReader keeps making one call
to ReadAudio and one to ReadVideo, and if each call to ReadAudio decodes at
least as much as the calls to ReadVideo, video decoding can never catch up
to the current audio playback position. So video never plays. And when the
video decoding point gets far enough away from the audio decoding point,
horrible things start to happen, such as video and audio reading completely
different parts of the media cache and interfering with the caching mechanism
(which assumes audio and video reads are close together).

This patch approximates keyframe skipping, and is basically just a way for
MediaOmxReader::DecodeVideoFrame to decode more than one frame at a time
if we need video decoding to catch up.

To prevent pathological situations, we cap both the maximum number of frames
decoded per DecodeVideoFrame and the amount of time we spend in the method
(excluding the time for the last frame).

--HG--
extra : rebase_source : cba95c537fe97df5b696581be8233b6e9cffb70b
2013-06-15 23:51:56 +12:00
Robert O'Callahan
cbdf0d51b0 Bug 882027. Route all calls to GetNextFrameStatus for determining the readyState through MediaDecoder::UpdateReadyStateForData on the main thread. r=cpearce
--HG--
extra : rebase_source : 9ea3260f294c633c24e15690fa4bb067af378088
2013-06-15 23:50:44 +12:00
Martijn Wargers
6a0cb9a8a4 Bug 883094 - Fix some test files that don't unset their prefs correctly. r=jgriffin 2013-06-15 00:33:47 +02:00
Martijn Wargers
0b4b51d26f Bug 868439 - Convert some uses of nsIPrefBranch to SpecialPowers. r=jmaher 2013-06-15 00:13:44 +02:00
Caitlin Potter
528c2268d4 Bug 882535 - Set HTMLTrackElement Readiness State during WebVTT Parsing. r=rillian
This patch enables "LOADING", "LOADED" and "ERROR" readiness states to be
applied to the Parent HTMLTrackElement, in order to avoid test flakiness,
and to comply with the HTML5 draft
http://www.w3.org/html/wg/drafts/html/master/embedded-content-0.html#text-track-readiness-state.
2013-06-12 22:26:14 -04:00
Shelly Lin
3fbcac1377 Bug 882956 - Fix WebAudio stack-buffer-overflow crash. r=ehsan. 2013-06-14 15:16:41 +08:00
Chris Pearce
d613366a8e Bug 881954 - Set the thread limit to the idle limit for WMFByteStream's thread pool. This stops the pool from constantly creating and destroying threads when under load, freeing up virtual address space and reducing our thread count. r=padenot 2013-06-14 09:07:59 +12:00
Chris Pearce
24f2771c6d Bug 881954 - Only initialize DXVA when we're decoding video. r=padenot 2013-06-14 09:07:28 +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
Ehsan Akhgari
0cae3ba5bd Bug 579517 follow-up: Remove NSPR types that crept in 2013-06-12 21:26:59 -04:00
Ehsan Akhgari
7ee328d5a7 Bug 881558 - Re-introduce try-locking in the reverb implementation; r=roc 2013-06-12 20:57:17 -04: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
Caitlin Potter
67247ff208 Bug 881978 - Make WebVTTLoadListener callbacks private. r=rillian
WebVTTLoadListener::OnParsedCue() and WebVTTLoadListener::OnReportError() are
for private use and should not be exposed publicly.
2013-06-11 21:12:39 -04:00
Ehsan Akhgari
b054aad964 Bug 881775 - Set the correct channel count in DownmixAndInterleave, and avoid unnecessary downmixing; r=roc 2013-06-11 17:50:21 -04:00
Caitlin Potter
a8991d3096 Bug 881475 - Drop cues with malformed timestamps. r=rillian
The parsing specification requires the UA to drop
cues containing malformed cue-times.
(http://dev.w3.org/html5/webvtt/#dfn-collect-a-webvtt-timestamp)

The OnReportError callback has been modified to notify the parser
that we need need to drop such cues which are deemed 'malformed'
according to the timestamp parsing rules.
2013-06-10 21:10:30 -04:00
Ryan VanderMeulen
8ac6e127df Merge m-c to inbound. 2013-06-11 21:03:14 -04:00
Ralph Giles
d09bd7d346 Bug 879924 - Don't shorten zero-length strings. r=derf
We were trying to strip the optional null terminator
even when we knew there wasn't one there.
2013-06-10 17:10:09 -07:00
Shelly Lin
a74163f5c9 Bug 842243 - Part 5: Add MediaEncoder.h/.cpp; The main part of this media encoding framework. r=roc 2013-06-05 14:29:12 +08:00
Shelly Lin
4bf91dee64 Bug 842243 - Part 4: Add OpusEncoder.h/.cpp; Implementation of Opus encoder. r=roc, r=tterribe 2013-05-17 19:18:08 +08:00
Shelly Lin
3f21594251 Bug 842243 - Part 3: Add TrackEncoder.h/.cpp; Base class for audio/video track encoder. r=roc 2013-05-17 19:16:36 +08:00
Shelly Lin
8a857740e9 Bug 842243 - Part 2: Add OggWriter.h/.cpp; Implementation of Ogg container. r=roc, r=tterribe 2013-05-17 19:13:01 +08:00
Shelly Lin
aabf484ff1 Bug 842243 - Part 1: Add ContainerWriter.h; Base class of media container writer. r=roc 2013-05-17 18:50:58 +08:00
Shelly Lin
5bc51793ee Bug 842243 - Part 0: Modify MediaSegment and AudioSegment for use by MediaEncoder. r=roc 2013-06-03 17:59:50 +08:00
Edwin Flores
1a9df949b5 Bug 876305 - Pass the media mimetype on to the gstreamer backend r=alessandro.d 2013-06-11 14:13:10 +12:00
Edwin Flores
72fbb7c75d Bug 876305 - Cap the max number of audio buffers gstreamer can use r=alessandro.d 2013-06-11 14:13:10 +12:00
Edwin Flores
2541976024 Bug 874305 - Support older versions of gstreamer r=alessandro.d 2013-06-11 14:13:09 +12:00
Edwin Flores
d7bc68c284 Bug 879995 - Fix assertion failure in gstreamer backend with fragmented mp4 videos r=alessandro.d 2013-06-11 14:13:09 +12:00
Edwin Flores
fa70337842 Bug 859199 - Load GStreamer libraries at runtime r=doublec 2013-06-11 14:13:09 +12:00
Edwin Flores
cb08a1d304 Bug 878363 - Silence pragma warnings from gstreamer libraries r=ted 2013-06-11 14:13:09 +12:00
Chris Pearce
2b70112a5c Bug 880006 - Make WMF video backend call MediaDecoder::NotifyBytesConsumed() like it's supposed to. r=padenot 2013-06-11 12:53:26 +12:00
Ehsan Akhgari
86a61bfcd9 Bug 815643 - Part 9: Port Blink's LayoutTest for ConvolverNode to mochitest-plain; r=roc
--HG--
extra : rebase_source : b829991957f0349a6c2541fcc99d4214e701a2ae
2013-06-10 16:10:07 -04:00
Ehsan Akhgari
0342e8ccf4 Bug 815643 - Part 8: Import convolution tests from Blink; r=roc
Imported from Blink SVN revision 150518

--HG--
extra : rebase_source : c50aeed5d0fceaa9112cd9e791ec7acd9904fd84
2013-06-10 16:09:53 -04:00
Ehsan Akhgari
b13562cec7 Bug 815643 - Part 7: Add a basic API test for ConvolverNode; r=roc
--HG--
extra : rebase_source : be90de45e240fec45875a65235104d2d92716a14
2013-06-10 16:09:38 -04:00
Ehsan Akhgari
a55f314420 Bug 815643 - Part 6: Optimize FFTBlock to avoid recreating kiss_fftr_cfg objects all the time; r=roc
Setting up the FFT tables turns out to be quite expensive because of the
large number of calls to sin() and cos().

In the future we may want to look into having a global cache of FFT
tables per size, in order to pay the cost of setting each one of them up
only once.

--HG--
extra : rebase_source : 871d11e7f74db9e3e6c704da9518d40cba3deb8a
2013-06-10 16:09:25 -04:00