gecko-dev/dom/media/mediasink
Chris Pearce b20d1d8c23 Bug 1295630 - Provide a way for A/V sync to be ruined, so talos can test compositor throughput by painting expired frames. r=mattwoodrow
In bug 1258870 I changed the media code so that we dropped all late video
frames. Without this, our A/V sync was broken when the decode was struggling
to keep up, and we weren't reporting dropped frames when the decode couldn't
keep up, and so players couldn't adapt to a bitrate which the decode could keep
up on.

However, dropping all late frames broke talos tests which relied on the old
behaviour of us rendering video frames that were late. So this patch adds a
pref to cause the frame dropping code to not drop the last frame in the
queue, so there will always be something for the compositor to composit. This
means talos will once again be able to test how fast it can composit frames
that aren't supposed to be drawn.

The pref is media.ruin-av-sync.enabled.

It defaults to false.

MozReview-Commit-ID: J3VvpzoDRmI

--HG--
extra : rebase_source : ee24f37f201ef266e0894ca2c5afda498629ec0a
2016-08-19 21:34:42 +12:00
..
AudioSink.h Bug 948267. Part 2 - implement AudioStream::DataSource for DecodedAudioDataSink and remove its audio thread. r=kinetik. 2016-01-12 21:48:25 +08:00
AudioSinkWrapper.cpp Bug 1283489 - mParams.mPlaybackRate should be updated after call GetVideoPosition(). r=jwwang 2016-07-10 23:35:00 +02:00
AudioSinkWrapper.h Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat 2015-10-18 01:24:48 -04:00
DecodedAudioDataSink.cpp Bug 1277175 - Remove AudioStream::IsPaused(). r=kinetik. 2016-05-31 15:59:20 +08:00
DecodedAudioDataSink.h Bug 1269672 - part2 : move audible data checking from MDSM to DecodedAudioDataSink. 2016-05-12 14:18:53 +08:00
DecodedStream.cpp Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup 2016-07-25 10:01:26 +08:00
DecodedStream.h Bug 1208371 - Hook up DecodedStream with PrincipalHandle. r=mt,jwwang 2016-02-02 13:14:13 +08:00
MediaSink.h Bug 1272565 - draw a blank image when no frames in the video track. 2016-05-17 10:33:32 +08:00
OutputStreamManager.cpp Bug 1248229. Part 2 - GC might happen in between OutputStreamManager::Disconnect() and OutputStreamManager::Connect(). We need to check if the stream is already destroyed before trying to connect it. r=roc. 2016-02-22 11:04:41 +08:00
OutputStreamManager.h Bug 1248229. Part 2 - GC might happen in between OutputStreamManager::Disconnect() and OutputStreamManager::Connect(). We need to check if the stream is already destroyed before trying to connect it. r=roc. 2016-02-22 11:04:41 +08:00
VideoSink.cpp Bug 1295630 - Provide a way for A/V sync to be ruined, so talos can test compositor throughput by painting expired frames. r=mattwoodrow 2016-08-19 21:34:42 +12:00
VideoSink.h Bug 1295630 - Provide a way for A/V sync to be ruined, so talos can test compositor throughput by painting expired frames. r=mattwoodrow 2016-08-19 21:34:42 +12:00
moz.build Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00