gecko/content/media
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
..
apple Bug 981428 - Move OSX -framework flags to moz.build; r=mshal 2014-03-10 20:18:33 -04:00
directshow Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
encoder Bug 974297 - Support muxing pixel aspect ratio video. r=cpearce 2014-03-19 08:39:00 -04:00
fmp4 Bug 986885 - Fix build problem in fmp4/demuxer. r=nalexander 2014-03-22 20:27:27 -07:00
gstreamer Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
gtest Bug 962154 - Use MallocSizeOf to report decoded-video memory. r=cpearce,njn 2014-03-19 14:33:12 -07:00
mediasource Bug 982828 - [e10s] Disable mochitest-plain tests that don't pass in e10s (r=ted) 2014-03-13 21:38:19 -07:00
ogg Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
omx Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
plugins Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
raw Bug 952033 - Part c: Use IntSize and IntRect in VideoData; r=roc 2014-02-09 09:04:38 +01:00
test Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
wave
webaudio Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
webm Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
webrtc Bug 514280 Remove concrete classes from interface maps r=bsmedberg 2014-03-28 08:40:13 +00:00
webspeech Bug 345123: Remove nsGetterAddRefs<T>'s operator nsISupports**. r=bsmedberg 2014-03-15 12:00:17 -07:00
webvtt Bug 978163 - Part 3: Vtt.js should add VTTRegions directly to the VTTCue. r=rillian 2014-03-11 13:36:07 -04:00
wmf Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
AbstractMediaDecoder.h Bug 973408 - Don't block a decode thread while awaiting resources. r=kinetik 2014-03-11 11:44:09 +08:00
AudioAvailableEventManager.cpp
AudioAvailableEventManager.h
AudioChannelFormat.cpp
AudioChannelFormat.h Bug 981150: Use nsTArrayForwardDeclare.h more. r=ehsan 2014-03-15 12:00:17 -07:00
AudioCompactor.cpp
AudioCompactor.h
AudioEventTimeline.h
AudioNodeEngine.cpp
AudioNodeEngine.h b=932400 rename ProduceAudioBlock to ProcessBlock r=padenot 2014-03-05 10:09:49 +13:00
AudioNodeEngineNEON.cpp
AudioNodeEngineNEON.h
AudioNodeExternalInputStream.cpp b=932400 rename ProduceOutput to ProcessInput r=roc 2014-03-05 10:53:55 +13:00
AudioNodeExternalInputStream.h b=932400 rename ProduceOutput to ProcessInput r=roc 2014-03-05 10:53:55 +13:00
AudioNodeStream.cpp Bug 967364: Pass already_AddRefed by reference instead of by value. r=bsmedberg 2014-03-15 12:00:17 -07:00
AudioNodeStream.h Bug 967364: Pass already_AddRefed by reference instead of by value. r=bsmedberg 2014-03-15 12:00:17 -07:00
AudioSampleFormat.h
AudioSegment.cpp
AudioSegment.h b=857610 handle DelayNode channel count changes and separate buffer read and write r=padenot 2014-03-05 10:06:57 +13:00
AudioStream.cpp
AudioStream.h
AudioStreamTrack.cpp
AudioStreamTrack.h
BufferDecoder.cpp Bug 973408 - Don't block a decode thread while awaiting resources. r=kinetik 2014-03-11 11:44:09 +08:00
BufferDecoder.h Bug 973408 - Don't block a decode thread while awaiting resources. r=kinetik 2014-03-11 11:44:09 +08:00
BufferMediaResource.h Bug 969117 - Report memory usage of MediaResources. r=njn 2014-03-05 13:31:04 -08:00
DecoderTraits.cpp Bug 964559 - Remove MOZ_OGG. r=doublec,ted 2014-02-20 18:01:00 -08:00
DecoderTraits.h
DOMMediaStream.cpp
DOMMediaStream.h
EncodedBufferCache.cpp
EncodedBufferCache.h
FileBlockCache.cpp
FileBlockCache.h
Latency.cpp
Latency.h
Makefile.in Bug 978594 - Part 3: Port some of the per-source flags to moz.build; r=glandium 2014-03-02 15:41:32 -05:00
MediaCache.cpp Bug 969117 - Report memory usage of MediaResources. r=njn 2014-03-05 13:31:04 -08:00
MediaCache.h Bug 969117 - Report memory usage of MediaResources. r=njn 2014-03-05 13:31:04 -08:00
MediaData.cpp Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
MediaData.h Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
MediaDecoder.cpp Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
MediaDecoder.h Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
MediaDecoderOwner.h
MediaDecoderReader.cpp Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
MediaDecoderReader.h Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
MediaDecoderStateMachine.cpp Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
MediaDecoderStateMachine.h Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
MediaInfo.h
MediaMetadataManager.h
MediaQueue.h Bug 973408 - Add pop listeners to MediaQueue. r=kinetik 2014-03-11 11:44:09 +08:00
MediaRecorder.cpp Bug 973522 MediaRecorder causes large leak. r=roc, jsmith 2014-03-26 01:11:58 +08:00
MediaRecorder.h Bug 973522 MediaRecorder causes large leak. r=roc, jsmith 2014-03-26 01:11:58 +08:00
MediaResource.cpp Bug 969117 - Report memory usage of MediaResources. r=njn 2014-03-05 13:31:04 -08:00
MediaResource.h Bug 969117 - Report memory usage of MediaResources. r=njn 2014-03-05 13:31:04 -08:00
MediaSegment.h Bug 957691 - Convert assertions to warnings to hide intermittent test failures. r=roc 2014-02-28 09:11:37 -05:00
MediaShutdownManager.cpp Bug 968016 - Ensure all threads in media SharedThreadPools are joined in MediaShutdownManager's xpcom shutdown listener. r=kinetik 2014-02-18 11:53:53 +13:00
MediaShutdownManager.h Bug 968016 - Use a SharedThreadPool of size 1 for the Media State Machine thread. r=kinetik 2014-02-18 11:53:53 +13:00
MediaStreamGraph.cpp Bug 967364: Use every already_AddRefed. r=bsmedberg 2014-03-15 12:00:16 -07:00
MediaStreamGraph.h b=932400 rename ProduceOutput to ProcessInput r=roc 2014-03-05 10:53:55 +13:00
MediaStreamGraphImpl.h b=969089 allow an offline graph to shutdown before it's AudioDestinationNode is unlinked r=roc 2014-02-11 13:04:58 +13:00
MediaStreamTrack.cpp
MediaStreamTrack.h
MediaTaskQueue.cpp Bug 968016 - Use SharedThreadPool instead of manually managed threads for the media decoding. r=kinetik 2014-02-18 11:53:52 +13:00
MediaTaskQueue.h Bug 935778 - Part 0.3: Spray some more MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-20 23:07:24 -05:00
moz.build Bug 978163 - Part 1: Remove VTTRegionList and VTTRegion TextTrack extensions. r=rillian, r=bz 2014-03-10 11:33:06 -04:00
MP3FrameParser.cpp
MP3FrameParser.h
RtspMediaResource.cpp Bug 977518 - [RTSP] Resource leak from RtspMediaResource, RtspController and RTSPSource. r=sworkman 2014-02-27 15:28:18 +08:00
RtspMediaResource.h Bug 977518 - [RTSP] Resource leak from RtspMediaResource, RtspController and RTSPSource. r=sworkman 2014-02-27 15:28:18 +08:00
SharedBuffer.h
SharedThreadPool.cpp Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
SharedThreadPool.h Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
StreamBuffer.cpp
StreamBuffer.h Bug 957691 - Convert assertions to warnings to hide intermittent test failures. r=roc 2014-02-28 09:11:37 -05:00
TextTrack.cpp Bug 891381 - Tracks loaded via TrackElement should have the same id as the TrackElement. r=cpearce 2014-03-19 11:27:39 -04:00
TextTrack.h Bug 891381 - Tracks loaded via TrackElement should have the same id as the TrackElement. r=cpearce 2014-03-19 11:27:39 -04:00
TextTrackCue.cpp Bug 985484 - Remove TextTrackCue::CueChange. r=cpearce 2014-03-19 11:01:38 -04:00
TextTrackCue.h Bug 985484 - Remove TextTrackCue::CueChange. r=cpearce 2014-03-19 11:01:38 -04:00
TextTrackCueList.cpp
TextTrackCueList.h
TextTrackList.cpp Bug 983293 - Part 4: Pass ReadyState variables to AddTextTrack methods and TextTrack ctors. r=cpearce 2014-03-13 14:41:21 -04:00
TextTrackList.h Bug 983293 - Part 4: Pass ReadyState variables to AddTextTrack methods and TextTrack ctors. r=cpearce 2014-03-13 14:41:21 -04:00
TextTrackRegion.cpp Bug 978163 - Part 1: Remove VTTRegionList and VTTRegion TextTrack extensions. r=rillian, r=bz 2014-03-10 11:33:06 -04:00
TextTrackRegion.h Bug 982183 - Put VTTRegion DOM API behind a pref. r=rillian, r=bz 2014-03-12 13:55:45 -04:00
TimeVarying.h
TrackUnionStream.h b=932400 rename ProduceOutput to ProcessInput r=roc 2014-03-05 10:53:55 +13:00
VideoFrameContainer.cpp
VideoFrameContainer.h
VideoPlaybackQuality.cpp Bug 962353 - Remove totalFrameDelay from VideoPlaybackQuality. r=chris.double 2014-03-04 15:31:57 +13:00
VideoPlaybackQuality.h Bug 962353 - Remove totalFrameDelay from VideoPlaybackQuality. r=chris.double 2014-03-04 15:31:57 +13:00
VideoSegment.cpp Bug 967364: Pass already_AddRefed by reference instead of by value. r=bsmedberg 2014-03-15 12:00:17 -07:00
VideoSegment.h Bug 967364: Pass already_AddRefed by reference instead of by value. r=bsmedberg 2014-03-15 12:00:17 -07:00
VideoStreamTrack.cpp
VideoStreamTrack.h
VideoUtils.cpp Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
VideoUtils.h Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir 2014-03-28 22:36:10 +13:00
VorbisUtils.h
WebVTTListener.cpp Bug 983293 - Part 3: Rename the READY_STATE enum to TextTrackReadyState. r=cpearce 2014-03-13 14:29:32 -04:00
WebVTTListener.h