Commit Graph

3751 Commits

Author SHA1 Message Date
Chris Pearce
e1cae995ac Bug 631058 - Don't preroll as many media samples when loading preload="metadata" media. r=cajbir 2014-04-01 16:43:57 +13:00
Chris Pearce
223e397746 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
40fbb14dfc b=989907 initialize AudioNodeExternalInputStream output chunk even when first track has null output r=roc
--HG--
extra : transplant_source : %96%C3%A3%DCs%D3%CCY6.%CC%07%22%02%EDy%A5%94U%DD
2014-04-01 13:49:20 +13:00
Karl Tomlinson
b33bfca306 b=987976 rename ComputeFinalOuputChannelCount ComputedNumberOfChannels to match spec r=padenot
to remove any implication that the function might be for calculating
the number of output channels for an AudioNode.

--HG--
extra : transplant_source : %D9%12%BB%23n%92%EB%F7%1Df%11%3F%04%B4z%606%ADT%3A
2014-04-01 10:26:02 +13:00
Karl Tomlinson
286bee8002 b=987976 make AudioNodeExternalInputStream output channel count match stream, unless > MaxChannelCount r=padenot
The difference from Blink here is that Blink plays silence for if element
channel counts are > 32, but here more channels are down-mixed.  Media stream
channel counts are also fixed to 2 in Blink, but that restriction is not
applied here.

Leaving the "inline" const static/class member initialization of
MaxChannelCount left missing symbols with gcc 4.7.3.

--HG--
extra : transplant_source : %C9%BA%84%0F%E8%89%E2%85p%B8%28%EF%E9M%CC%81%B9ob/
2014-04-01 10:25:45 +13:00
Karl Tomlinson
3adc2d90c5 b=986901 don't assume that DelayNode maxDelayTime is greater than 1 block r=padenot
Also apply DelayNode maxDelayTime before rounding to ticks.

--HG--
extra : transplant_source : %F1i%02%2A%ED%98%95%C9u%60%0B%1A%81A%C2%8E%FB%F3%FA%D5
2014-03-31 18:32:34 +13:00
Karl Tomlinson
2306aa30f2 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
13ab267935 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
Sotaro Ikeda
54d13a5e10 Bug 985772 - Remove SurfaceDescriptor around GonkNativeWindow r=nical,pchang,schiu,mikeh,gal 2014-03-31 08:24:28 -07:00
Benjamin Chen
b4f390989e Bug 984816: RTSP play/pause deadlock issue. 1. Release the monitor when access mReader. 2. Reverse the order in RtspOmxReader::SetIdle(). r=cpearce 2014-03-31 10:18:01 +08:00
Mike Hommey
b4ed5e9a80 Backout changesets ca413634eba3 and a92851ff7444 (bug 988168) for likely windows PGO perf regression 2014-03-29 16:49:19 +09:00
Mike Hommey
d55f8470ad Bug 988168 - Better integrate gtest libxul in the build system. r=mshal
--HG--
rename : toolkit/library/Makefile.in => toolkit/library/libxul.mk
rename : toolkit/library/moz.build => toolkit/library/libxul.mozbuild
2014-03-29 07:50:08 +09:00
Fredrik Lanker
2a1834ade6 Bug 989284 - Change the infinite flag when duration is updated. r=roc 2014-03-28 11:41:59 -04:00
Jan Beich
e066586c19 Bug 989112 - Lazily reference to gst_event_type_get_name() to unbreak --enable-debug. r=alessandro.d 2014-03-28 10:36:48 -04:00
Ed Morley
05dcbf9506 Backed out changeset 00fa39c23b44 (bug 778077) for reftest failures 2014-03-28 12:31:29 +00:00
Chris Pearce
dac6ce38ba 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
Neil Rashbrook
d8a22dc73a Bug 514280 Remove concrete classes from interface maps r=bsmedberg 2014-03-28 08:40:13 +00:00
Phil Ringnalda
e21145ad4a 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 Peterson
99bd156d09 Bug 986787 - Fix -Wreorder warning and other cleanups in MediaEngineTabeVideoSource.cpp. r=rjesup 2014-03-26 00:59:01 -04:00
Chris Pearce
002a177846 Bug 631058 - Don't preroll extra media samples when we're not playing. r=cajbir 2014-03-28 15:50:35 +13:00
Chris Pearce
fc3fc91d79 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
Ehsan Akhgari
5b9f45a1a5 Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Ethan Tseng
fbbf59cfc8 Bug 977518 - [RTSP] Resource leak from RtspMediaResource, RtspController and RTSPSource. r=sworkman 2014-02-27 15:28:18 +08:00
Randy Lin
eea3ca40fc Bug 973522 MediaRecorder causes large leak. r=roc, jsmith 2014-03-26 01:11:58 +08:00
Carsten "Tomcat" Book
428a0c958e 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
8e16ce73fe Backed out changeset 8baf04242325 (bug 493692) for mochitest bustage on a CLOSED TREE 2014-03-25 12:15:38 +01:00
Robert O'Callahan
828a0f2447 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
88d530321b 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
f2add7f0a7 Bug 891381 - Tracks loaded via TrackElement should have the same id as the TrackElement. r=cpearce 2014-03-19 11:27:39 -04:00
ekr
9153ae7f62 Bug 986885 - Fix build problem in fmp4/demuxer. r=nalexander 2014-03-22 20:27:27 -07:00
Eric Rahm
dbb0f24d7e Bug 962154 - Use MallocSizeOf to report decoded-video memory. r=cpearce,njn 2014-03-19 14:33:12 -07:00
Rick Eyre
69cce4574a Bug 977299 - Don't display subtitles if their mode is 'hidden'. r=rillian
I've renamed TextTrackList::GetAllActiveCues to
UpdateAndGetShowingCues to make it a bit more clear what
this function is doing.
2014-02-27 10:02:40 -05:00
Edwin Flores
a6d5ef3904 Bug 941298 - FFmpeg PlatformDecoderModule for Linux r=doublec,cpearce 2014-03-21 19:35:15 +13:00
Edwin Flores
c8b1fc48b3 Bug 941298 - FFmpeg headers for FFmpeg PlatformDecoderModule r=doublec
While FFmpeg function signatures tend not to change between versions of FFmpeg,
class layouts can change dramatically. We include libavcodec, libavformat,
and libavutil headers here so that we don't accidentally build against the wrong
binary interface.
2014-03-21 19:35:14 +13:00
Edwin Flores
ce64f058d5 Bug 941298 - Fix errors in content/media/fmp4 on Linux with clang and --enable-warnings-as-errors r=cpearce 2014-03-21 19:35:14 +13:00
Edwin Flores
24d42ecb05 Bug 941298 - Build changes for FFmpeg PlatformDecoderModule r=gps 2014-03-21 19:35:14 +13:00
Boris Zbarsky
b138bfaeec Bug 980962. Fix in-tree consumers to not construct typed arrays without "new". r=jorendorff 2014-03-20 23:19:42 -04:00
Chris Pearce
91d4174974 Bug 984698 - Reduce the amount of audio prerolled when we are not also decoding video in the same file. r=padenot 2014-03-21 11:47:17 +13:00
Rick Eyre
d8bc92185a Bug 985484 - Remove TextTrackCue::CueChange. r=cpearce 2014-03-19 11:01:38 -04:00
Rick Eyre
3cd2684726 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
Carsten "Tomcat" Book
cc741791b5 Merge mozilla-central to mozilla-inbound 2014-03-20 14:18:00 +01:00
Carsten "Tomcat" Book
8dd01a51fe merge b2g-inbound to mozilla-central 2014-03-20 14:07:58 +01:00
Andrea Marchesini
e34a8dbb77 Bug 983984 - Default AudioChannel from a pref, r=ehsan, r=roc, r=mchen 2014-03-20 10:45:55 +00:00
Rick Eyre
577c76297a Bug 983293 - Part 5: Remove unecessary default settings in TextTrack ctors. r=cpearce
Since there is no default constructor for TextTrack we don't
need to be setting mKind, mMode, or mReadyState to a default
value.
2014-03-13 14:58:08 -04:00
Rick Eyre
1555f20871 Bug 983293 - Part 4: Pass ReadyState variables to AddTextTrack methods and TextTrack ctors. r=cpearce
This makes it more clear what part of the code is triggering the ReadyState
to be what it is. I.E. Tracks added through the HTMLMediaElement::AddTextTrack
method should have a ReadyState of "Loaded" and so it's more clear for
function to specify that. Vice versa for TrackElements which add TextTracks
with a default ReadyState of "None".
2014-03-13 14:41:21 -04:00
Rick Eyre
ddeb736006 Bug 983293 - Part 3: Rename the READY_STATE enum to TextTrackReadyState. r=cpearce
- This allows us to pass around ReadyState values. It also makes the type
explicit which will save us from potentially shooting ourselves in
the foot.
- I also renamed 'READY_STATE_NONE' and 'READY_STATE_ERROR' to
'NotLoaded' and 'FailedToLoad' respectively in the enum. This is to
avoid some name collision errors we were having. It also makes it more
clear where in the spec this is as these names are the spec's names
for the TextTrack enum.
2014-03-13 14:29:32 -04:00
Rick Eyre
560441d9f1 Bug 983293 - Part 2: Move the READY_STATE enum to Track instead of HTMLTrackElement. r=cpearce
This makes more sense as the READY_STATE values in the spec are always
referred to be 'text track readiness states' not HTMLTrackElement
readiness states.
2014-03-13 13:48:09 -04:00
Rick Eyre
5a88f34b43 Bug 983293 - Part 1: Remove unused TextTrack constructor. r=cpearce 2014-03-13 13:37:31 -04:00
Steven Lee
b51094cbc0 Bug 980744 - Fix resource that is protected by wrong mutex. r=jesup, r=mikeh 2014-03-19 13:30:27 -04:00
Alfredo Yang
1d76883755 Bug 974297 - Support muxing pixel aspect ratio video. r=cpearce 2014-03-19 08:39:00 -04:00