Граф коммитов

129 Коммитов

Автор SHA1 Сообщение Дата
JW Wang 663ca6b4fa Bug 1297553 - Dump more debugging messages for MDSM and MediaSink. r=kaku
MozReview-Commit-ID: ILcF1hT2hVN

--HG--
extra : rebase_source : 1f6564eb5161608ee6031b1c362a6b689762dcfe
2016-08-24 11:45:58 +12:00
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
Chris Pearce 3940f4a605 Bug 1258870 - Don't push late video frames to the compositor, drop them. r=jwwang
We can get out of A/V sync if the decode is struggling to keep up. This is
because of the loop in VideoSink::UpdateRenderedVideoFrames(). If this function
runs while there's only one frame in the video queue, we won't drop that one
frame if it's late. If we're struggling to keep up, it's increasingly likely
that we'll end up running this function with only one frame in the video queue.
That results in us entering VideoSink::RenderVideoFrames() with only 1 late
frame, which the compositor dutifully draws. Resulting in a late frame being
drawn, and thus broken A/V sync.

This change makes VideoSink::UpdateRenderedVideoFrames() drop all late
frames, even the last one in the video queue. We now keep A/V sync when the
decode is struggling to keep up. However, if I do this, we end up dropping
(and reporting that we drop) a lot more frames, and thus rendering a lot fewer.
But since we when we drop the frames we report them as dropped, a well written
MSE player can detect that we've failing miserably to keep up, and and lower
their bitrate.




MozReview-Commit-ID: ybkq48mKk2

--HG--
extra : rebase_source : f03c186059a365a45de698b2a30e632daae47fb8
2016-08-15 13:35:52 +12:00
ctai 2c69985ffe Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup
In this patch, we first deal with the case of MediaElement. Now we replace |PlayVideo| with |VideoFrameContainer::SetCurrentFrames| in |SourceMediaStream::AppendToTrack|. The MSG use TimeStamp::Now() for the TimeStamp of each video frame in most of case except MediaElement case. Becasue the MediaElement has its own VideoQueue, we need to calucalte the correct Timestamp based on the StartTimeStamp of this MediaStream and the elpased time of the video frame in DecodedStream.

MozReview-Commit-ID: 2bm2AHkFXHu

--HG--
extra : transplant_source : %3D%AA%00%CE%A3SV5%8F%84%96%AC%E2%D9%10%EC%85%07N%DF
2016-07-25 10:01:26 +08:00
Sebastian Hengst f4671c3b11 Backed out changeset 4111e388bd90 (bug 1201363) 2016-08-03 19:33:25 +02:00
ctai a3cc6128d3 Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup
In this patch, we first deal with the case of MediaElement. Now we replace |PlayVideo| with |VideoFrameContainer::SetCurrentFrames| in |SourceMediaStream::AppendToTrack|. The MSG use TimeStamp::Now() for the TimeStamp of each video frame in most of case except MediaElement case. Becasue the MediaElement has its own VideoQueue, we need to calucalte the correct Timestamp based on the StartTimeStamp of this MediaStream and the elpased time of the video frame in DecodedStream.

MozReview-Commit-ID: 2bm2AHkFXHu

--HG--
extra : amend_source : 7b9c51dcb4046c6c807d1cf1e48bef301e45fa8e
2016-07-25 10:01:26 +08:00
Carsten "Tomcat" Book 27cb7f4d79 Backed out changeset 06c0a7eb7bc6 (bug 1201363) 2016-08-02 12:53:53 +02:00
ctai edeaa48113 Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup
In this patch, we first deal with the case of MediaElement. Now we replace |PlayVideo| with |VideoFrameContainer::SetCurrentFrames| in |SourceMediaStream::AppendToTrack|. The MSG use TimeStamp::Now() for the TimeStamp of each video frame in most of case except MediaElement case. Becasue the MediaElement has its own VideoQueue, we need to calucalte the correct Timestamp based on the StartTimeStamp of this MediaStream and the elpased time of the video frame in DecodedStream.

MozReview-Commit-ID: 2bm2AHkFXHu

--HG--
extra : transplant_source : %C4n%D7a%10%CFK%D5%F2%DC%10%08%C2%24%EC%11%13J%DB%5D
2016-07-25 10:01:26 +08:00
Gerald Squelart 7bea2e1262 Bug 1289668 - Refactor FrameStatistics writers to use Data struct - r=kamidphish
Decoders now use FrameStatisticsData to gather data for their frame-related
notifications. This will ease introducing new members later on.

MozReview-Commit-ID: DWdOSPX3JM

--HG--
extra : rebase_source : a3e05f34353a397d1c82b3f4d935c0864f90556e
2016-07-18 10:41:40 +10:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Farmer Tseng 55fd27efdb Bug 1283489 - mParams.mPlaybackRate should be updated after call GetVideoPosition(). r=jwwang 2016-07-10 23:35:00 +02:00
ctai fd36b32d94 Bug 1266646 - Move group of MediaStreamListener to a new header file. r=pehrsons
This can reduce the include header dependency. MediaStreamVideoSink will inherit from DirectMediaStreamTrackListener. But we can't use forward declaration on MediaStreamListener because the usage of nsTArray<RefPtr<MediaStreamVideoSink>>.

MozReview-Commit-ID: 328s4Kw9NvW

--HG--
extra : transplant_source : %D2%18%E3%3B%0C%D8%F04%F3%EB%EB%A0%A7%8B%B1%A9%AB%97rY
2016-06-30 15:07:48 +08:00
Andreas Pehrson e028368c0f Bug 1280445 - Remove wrapper from MediaStream. r=jesup, r=padenot
MozReview-Commit-ID: CTCFloIUXKa

--HG--
extra : rebase_source : b1c2073c638bb65c19a0f40e8d17e9a5bae15c98
extra : source : c6d854b3209e7de7d97153c0bfc492c1d5f1e6b5
2016-06-29 12:27:13 +02:00
JW Wang e34042f5dc Bug 1277175 - Remove AudioStream::IsPaused(). r=kinetik.
MozReview-Commit-ID: K2CHJ0E90MW

--HG--
extra : rebase_source : 4f0bd8f2e46ad8850a15c7a1102c9bae5217e6bc
2016-05-31 15:59:20 +08:00
JW Wang fbdef02717 Bug 1272565 - draw a blank image when no frames in the video track.
MozReview-Commit-ID: 1Kijn00XAnQ
2016-05-17 10:33:32 +08:00
Chris Peterson 353ee65255 Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium 2016-05-11 00:00:01 -07:00
Jean-Yves Avenard e926d54268 Bug 1206637: P1. Add MediaPrefs convenience class. r=cpearce
Almost identical to gfxPrefs, with the exception that preferences can't be set (as it doesn't work with e10s anyway). The generated code size is tiny enough that we don't have to bother about having duplicates.

MozReview-Commit-ID: 5SZyscvIzzS

--HG--
extra : rebase_source : 1a2577bbe24d2d6644c3f1f5d0c47850b67fdea0
2016-05-09 14:59:02 +10:00
Alastor Wu 2d52873a0d Bug 1269672 - part2 : move audible data checking from MDSM to DecodedAudioDataSink.
MozReview-Commit-ID: 8uYJ9UA2Jf2
2016-05-12 14:18:53 +08:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey 48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Kaku Kuo d42d57aa97 Bug 1267983 - include MediaQueue.h; r=jwwang
MozReview-Commit-ID: ikxjE7VZsd

--HG--
extra : rebase_source : 0f8bcca3b15fade72b04982b9b4f79e130413938
2016-04-27 19:01:13 +08:00
Jean-Yves Avenard bb9dfe8544 Bug 1264199: P9. Include pending frames in HasUnplayedFrames calculation. r=jwwang
MozReview-Commit-ID: 5m8zCe4cB2s

--HG--
extra : rebase_source : 5c33353294acfc0ec51385bf7d00fea9aa985b39
2016-04-26 00:13:01 +10:00
Jean-Yves Avenard 45a02f35c6 Bug 1264199: P6. Drain resampler when changing format or reaching the end. r=kinetik
MozReview-Commit-ID: KqcB0FYxNtC

--HG--
extra : rebase_source : 63eff5cb4d66483ecc2871440dda6bc9f73d9822
2016-04-14 15:44:02 +10:00
Jean-Yves Avenard 33f592b6a5 Bug 1264199: P5. Perform all downmixing operations in DecodedAudioDataSink. r=kinetik
Performing all audio processing operations in the same place, allows to simplify the code.

Additionally, if accessibility.monoaudio.enable is not set, we always upmix mono to stereo so that if the first audio stream seen was mono, we aren't stuck playing all future streams in mono.

MozReview-Commit-ID: 5yANN6PLFhX

--HG--
extra : rebase_source : 8b2138368d97f4ec2857c021ed9605c633282ed2
2016-04-13 20:25:50 +10:00
Jean-Yves Avenard ec0a733d51 Bug 1264199: P3. Attempt to minimize audio quality loss and unnecessary processing. r=kinetik
We attempt to avoid unnecessary resampling of 44.1kHz and 48kHz content, for all others we use cubeb's preferred sampling rate as final sampling rate.

MozReview-Commit-ID: 413qnsDFHzY

--HG--
extra : rebase_source : ca3508aefb29e2e64e84774bddb9fe77654c8945
2016-04-13 17:55:48 +10:00
Jean-Yves Avenard 68dc5cfd31 Bug 1264199: P2. Ensure the AudioStream only ever receive the same content format. r=kinetik
The audio is automatically converted to always match the format of the first processed sample.
This is a temporary approach, as it would be preferred to use a final sampling rate not causing too much quality loss.

MozReview-Commit-ID: Lo3827aon43

--HG--
extra : rebase_source : 946eabde451a33018722cb6f1c0ca7b8c1d87009
2016-04-13 17:30:23 +10:00
Jean-Yves Avenard fa7bd08dd2 Bug 1264199: P1. Perform audio conversion in the MSDM taskqueue and ahead of use. r=kinetik
This will allow to easily detect audio configuration change prior immediate playback.

MozReview-Commit-ID: IwDUGOd17ND

--HG--
extra : rebase_source : ef2b492cfeed5eca8fdfcb5442dedc2b65fc1d8f
2016-04-13 17:17:54 +10:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
JW Wang 0c694cb31b Bug 1246051 - have MediaQueue<T>::Peek/PeekFront return a RefPtr<> to avoid dangling pointers per comment 0. r=gerald.
MozReview-Commit-ID: JhPVlqMWsTu
2016-04-25 14:36:07 +08:00
Carsten "Tomcat" Book a5380ba1b7 Backed out changeset 198add1ad218 (bug 1264199) for test failures in test_WaitingOnMissingData_mp4.html
--HG--
extra : rebase_source : 33dedc36a21a7d025aaba9c5e3febb841aafd626
2016-04-21 16:32:21 +02:00
Carsten "Tomcat" Book d86730e999 Backed out changeset d01ac4659cb4 (bug 1264199)
--HG--
extra : rebase_source : b25c66791db9aaaeb897da1f864d4fecb677e090
2016-04-21 16:32:00 +02:00
Carsten "Tomcat" Book c728b16f87 Backed out changeset 697006992f04 (bug 1264199)
--HG--
extra : rebase_source : 54261374ba3d452f9eb38a521d1a95f9b9bcc18e
2016-04-21 16:31:58 +02:00
Carsten "Tomcat" Book ba17b2d751 Backed out changeset 93ab5d1b04b0 (bug 1264199)
--HG--
extra : rebase_source : 0c5ec4b3526d6cfcc86d40221f298790f262227d
2016-04-21 16:31:55 +02:00
Carsten "Tomcat" Book baaa1f0ede Backed out changeset b83be2d0614b (bug 1264199)
--HG--
extra : rebase_source : f8962f950f2fa089ca7eb297aca3b8711c5586c5
2016-04-21 16:31:54 +02:00
Jean-Yves Avenard b6a41a813c Bug 1264199: P6. Drain resampler when changing format or reaching the end. r=kinetik
MozReview-Commit-ID: KqcB0FYxNtC

--HG--
extra : rebase_source : 6004cd28d70f5ac44644aa00f852d0afd95017a9
2016-04-14 15:44:02 +10:00
Jean-Yves Avenard 427e2852c6 Bug 1264199: P5. Perform all downmixing operations in DecodedAudioDataSink. r=kinetik
Performing all audio processing operations in the same place, allows to simplify the code.

Additionally, if accessibility.monoaudio.enable is not set, we always upmix mono to stereo so that if the first audio stream seen was mono, we aren't stuck playing all future streams in mono.

MozReview-Commit-ID: 5yANN6PLFhX

--HG--
extra : rebase_source : f40dfacc9fc323794325de0431c4958854012180
2016-04-13 20:25:50 +10:00
Jean-Yves Avenard f3ef547925 Bug 1264199: P3. Attempt to minimize audio quality loss and unnecessary processing. r=kinetik
We attempt to avoid unnecessary resampling of 44.1kHz and 48kHz content, for all others we use cubeb's preferred sampling rate as final sampling rate.

MozReview-Commit-ID: 413qnsDFHzY

--HG--
extra : rebase_source : a469cb7269be48bfbca82fbbd90c3e2caf21b9a7
2016-04-13 17:55:48 +10:00
Jean-Yves Avenard ad7e31a76a Bug 1264199: P2. Ensure the AudioStream only ever receive the same content format. r=kinetik
The audio is automatically converted to always match the format of the first processed sample.
This is a temporary approach, as it would be preferred to use a final sampling rate not causing too much quality loss.

MozReview-Commit-ID: Lo3827aon43

--HG--
extra : rebase_source : 51322d12415995bd5ba7d8a25500860f333c9c3e
2016-04-13 17:30:23 +10:00
Jean-Yves Avenard d8c778f022 Bug 1264199: P1. Perform audio conversion in the reader's taskqueue and ahead of use. r=kinetik
This will allow to easily detect audio configuration change prior immediate playback.

MozReview-Commit-ID: IwDUGOd17ND

--HG--
extra : rebase_source : 3af32634eb431661436bf1d3aaeb80124b229716
2016-04-13 17:17:54 +10:00
Wes Kocher b8f98ffe9f Backed out 8 changesets (bug 1264199) for permafailing media mochitests on OSX 10.6 a=backout
Backed out changeset 0f20f2080824 (bug 1264199)
Backed out changeset 90351d2719be (bug 1264199)
Backed out changeset f484b42cbdda (bug 1264199)
Backed out changeset b79b62146120 (bug 1264199)
Backed out changeset f587df589b69 (bug 1264199)
Backed out changeset 02f781a573b4 (bug 1264199)
Backed out changeset d3677ae4c8ec (bug 1264199)
Backed out changeset d08288654ec9 (bug 1264199)

MozReview-Commit-ID: HVtiBSOxf7t
2016-04-20 11:01:36 -07:00
Jean-Yves Avenard ab5924e4e6 Bug 1264199: P6. Drain resampler when changing format or reaching the end. r=kinetik
MozReview-Commit-ID: KqcB0FYxNtC
2016-04-20 15:03:40 +10:00
Jean-Yves Avenard 29ce436a1b Bug 1264199: P5. Perform all downmixing operations in DecodedAudioDataSink. r=kinetik
Performing all audio processing operations in the same place, allows to simplify the code.

Additionally, if accessibility.monoaudio.enable is not set, we always upmix mono to stereo so that if the first audio stream seen was mono, we aren't stuck playing all future streams in mono.

MozReview-Commit-ID: 5yANN6PLFhX
2016-04-20 15:03:34 +10:00
Jean-Yves Avenard a0ed015dba Bug 1264199: P3. Attempt to minimize audio quality loss and unnecessary processing. r=kinetik
We attempt to avoid unnecessary resampling of 44.1kHz and 48kHz content, for all others we use cubeb's preferred sampling rate as final sampling rate.

MozReview-Commit-ID: 413qnsDFHzY
2016-04-20 15:03:20 +10:00
Jean-Yves Avenard 024b052f14 Bug 1264199: P2. Ensure the AudioStream only ever receive the same content format. r=kinetik
The audio is automatically converted to always match the format of the first processed sample.
This is a temporary approach, as it would be preferred to use a final sampling rate not causing too much quality loss.

MozReview-Commit-ID: Lo3827aon43
2016-04-20 15:03:14 +10:00
Jean-Yves Avenard b130178b94 Bug 1264199: P1. Perform audio conversion in the reader's taskqueue and ahead of use. r=kinetik
This will allow to easily detect audio configuration change prior immediate playback.

MozReview-Commit-ID: IwDUGOd17ND
2016-04-20 15:02:55 +10:00
Carsten "Tomcat" Book 0a327c9b21 Backed out changeset b15c10c42148 (bug 1264199) for android crashes 2016-04-18 14:22:19 +02:00
Carsten "Tomcat" Book 564bf14aa1 Backed out changeset 6b82e89a490e (bug 1264199) 2016-04-18 14:22:06 +02:00
Carsten "Tomcat" Book e53741644d Backed out changeset 04751f3545ad (bug 1264199) 2016-04-18 14:22:05 +02:00
Carsten "Tomcat" Book fbf1d00b15 Backed out changeset f323c504b5a5 (bug 1264199) 2016-04-18 14:22:02 +02:00