Commit Graph

187 Commits

Author SHA1 Message Date
JW Wang
80c9f230f3 Bug 1359715 - let functions in MediaData.h take TimeUnit instead of int64_t. r=kaku
We want to replace the use of int64_t for microseconds by TimeUnit
whenever possible since int64_t is ambiguous which could be microseconds
or milliseconds.

MozReview-Commit-ID: LRz9d4yKBYJ

--HG--
extra : rebase_source : 1f73f1f338142b3183491d04726821a881ccabbe
extra : intermediate-source : 88e167b7b06303d10d92cd5317502f405d1c553e
extra : source : 98deb30ec93d395f9951f5fc488170ae35e29675
2017-04-24 17:33:05 +08:00
JW Wang
f2ea37e57b Bug 1357986 - Use helper functions of TimeUnit to make code more readable. r=kaku
1. using media::TimeUnit to save some typing.
2. replace TimeUnit() with TimeUnit::Zero().
3. replace TimeUnit::FromXXX(0) with TimeUnit::Zero().
4. replace TimeUnit::FromMicroseconds(std::numeric_limits<int64_t>::max()) with TimeUnit::FromInfinity().
5. replace some uses of int64_t with TimeUnit.
6. replace t > TimeUnit() with t.IsPositive().

MozReview-Commit-ID: 6hC94PXx86i

--HG--
extra : rebase_source : 1ea3b409e6ec12915f3e1a00359d6ff4152c8917
extra : intermediate-source : e31a12ad0e7a4840119036f261ed17eaaff85734
extra : source : ae07ee48000c4a52da0e4fd502b4d690ec51ce1f
2017-04-17 16:35:04 +08:00
JW Wang
302d82c85a Bug 1356530 - Change the type of MediaData::mTime to TimeUnit since int64_t is ambiguous. r=kaku
MozReview-Commit-ID: 4bVeqIuWO2O

--HG--
extra : rebase_source : d504ac15a6dc59ad42f3ab80faf23f629d74315f
extra : intermediate-source : 6e52995b6c8146451d98dffc62f6907755dc856e
extra : source : 82d2649cdafb5a6389f6858c23578811933580c9
2017-04-14 17:13:36 +08:00
JW Wang
3c0e7bddc7 Bug 1356502. P1 - let MediaDatra::GetEndTime() return a TimeUnit instead of ambiguous int64_t. r=gerald
MozReview-Commit-ID: DBQELBs32Ad

--HG--
extra : rebase_source : a7c9f7affbdfa12aaf94a6d0505cf4f54f4408cc
extra : intermediate-source : e1fcccdb12bb86c23520b5c2e0d76aef355597a5
extra : source : ddb8a8382c74e18dd52cdfbc7e8eee54cf46f05d
2017-04-14 14:14:08 +08:00
JW Wang
621abf8866 Bug 1351586 - AudioSink constructor should take a const reference instead of value of TimeUnit. r=kaku
MozReview-Commit-ID: F95iIsVealk

--HG--
extra : rebase_source : 35eec737a2f4a8f94020536a337e90ccb7e82542
extra : source : fbd5a87403a3a80ff50685988289589bbf6c913c
2017-04-12 16:43:05 +08:00
JW Wang
971547c1c9 Bug 1350826 - Replace use of int64_t for microseconds by TimeUnit in MediaSink and its sub-classes. r=kaku
MozReview-Commit-ID: 2gCOmYLc0OO

--HG--
extra : rebase_source : 8c4fc23343c75d877407180106ed694bfea6bf4f
extra : source : 43b30977fd425705db7231ba1b9c2a3649369f12
2017-03-27 14:55:05 +08:00
JW Wang
548607df76 Bug 1350819 - Replace use of int64_t for microseconds by TimeUnit in VideoSink. r=kaku
MozReview-Commit-ID: DAx0p7x2RLx

--HG--
extra : rebase_source : 0183ab4991e9faebe2a9962ca8c438292f98c8b8
extra : source : f97d47c5a01054f0b0f0ab87caac6eaa4c958905
2017-03-27 14:35:42 +08:00
JW Wang
24fdfb8a84 Bug 1350815 - Replace use of int64_t for microseconds by TimeUnit in AudioSinkWrapper. r=kikuo
MozReview-Commit-ID: HBh4B6HXbCq

--HG--
extra : rebase_source : 6c9afb5e9ff8ea66539a28dc81548a77d41b3bc3
extra : source : e6ffb031e737b743d3ee115f13c094469f742bc1
2017-03-27 14:34:21 +08:00
JW Wang
2860ecd0e5 Bug 1350814 - Replace use of int64_t for microseconds by TimeUnit in AudioSink. r=kikuo
MozReview-Commit-ID: 3diOpJu7g8i

--HG--
extra : rebase_source : 16d7050cd29ea774fce7e76a16ae9100c766b9f8
extra : source : cf6946ba307d04b00e02e353b4724655929eaa69
2017-03-27 11:37:17 +08:00
JW Wang
576387b0bc Bug 1350813. use 0 as the sentinel value of MediaSink::GetEndTime(). r=kaku
Since the media timeline is zero-based, 0 is a good value to indicate
no data is played at all.

MozReview-Commit-ID: BiKzSGtbyjn

--HG--
extra : rebase_source : 7abbed32038d2e1d6b49e25319152060802e5dac
extra : intermediate-source : a786a2069cbd9e46901d6d474b00965f1e75893d
extra : source : e4acffc8b3c8e8003e17e62793d50c627cef340e
2017-03-25 13:29:05 +08:00
JW Wang
a7f369e934 Bug 1350811 - Replace use of int64_t for microseconds by TimeUnit in DecodedStream. r=kaku
MozReview-Commit-ID: JjBfTmqkru8

--HG--
extra : rebase_source : f03d35b4697304255f24e66dbdf93a1c8815fd59
2017-03-27 11:09:49 +08:00
Carsten "Tomcat" Book
9b6d088496 merge autoland to mozilla-central a=merge
--HG--
rename : browser/components/preferences/in-content/tests/browser_advanced_siteData.js => browser/components/preferences/in-content-old/tests/browser_advanced_siteData.js
rename : dom/media/mediasink/DecodedAudioDataSink.cpp => dom/media/mediasink/AudioSink.cpp
2017-03-23 13:42:40 +01:00
JW Wang
5a77a04dac Bug 1349485. P5 - make AudioSink a non-ref-counting type. r=kikuo
MozReview-Commit-ID: EJmSTwkSdX6

--HG--
extra : rebase_source : 0972500aeb439d5d09cb111feb619cc22c751b9d
2017-03-22 15:13:10 +08:00
JW Wang
db128cb2b7 Bug 1349485. P4 - rename DecodedAudioDataSink.* to AudioSink.*. r=kikuo
MozReview-Commit-ID: KYbJwTpUiHZ

--HG--
rename : dom/media/mediasink/DecodedAudioDataSink.cpp => dom/media/mediasink/AudioSink.cpp
rename : dom/media/mediasink/DecodedAudioDataSink.h => dom/media/mediasink/AudioSink.h
extra : rebase_source : 414effaad950578dead21401f7e868d4a09a1099
2017-03-22 15:03:38 +08:00
JW Wang
cf44edf4a7 Bug 1349485. P3 - rename DecodedAudioDataSink to AudioSink. r=kikuo
MozReview-Commit-ID: 3Irf6be322j

--HG--
extra : rebase_source : 31e3697757dabdc97aeb500030f79101eedcfc6e
2017-03-22 14:55:59 +08:00
JW Wang
8a2e4094ff Bug 1349485. P2 - remove dom/media/mediasink/AudioSink.h. r=kikuo
MozReview-Commit-ID: A9YlwfrJTxB

--HG--
extra : rebase_source : 178398ba02f5f1acbfcc734ef027f135e3d633a6
2017-03-22 14:49:46 +08:00
JW Wang
eb619f72b5 Bug 1349485. P1 - devirtualize DecodedAudioDataSink. r=kikuo
MozReview-Commit-ID: 7c24rJDaMwX

--HG--
extra : rebase_source : 669539ed8390bef8bcf0402b8b05b251ffc9346e
2017-03-22 14:48:00 +08:00
JW Wang
0974e1801c Bug 1348931 - remove dead code. r=gerald
--HG--
extra : rebase_source : a4c837715d44a9ecf04defdd4feeaca118041f79
2017-03-22 10:23:46 +08:00
JW Wang
713d7a054f Bug 1349145. P3 - use concrete types in MDSM and its friends. Also remove unnecessary casts. r=kaku
MozReview-Commit-ID: C2MZb01XtTC

--HG--
extra : rebase_source : e16735e9f865feb85170abf07996479e3bba026f
2017-03-22 11:59:54 +08:00
JW Wang
1f7faa8e4f Bug 1345376 - Label runnables in dom/media/mediasink/DecodedStream.cpp. r=kikuo,pehrsons
MozReview-Commit-ID: 9SrS2g2mY2p

--HG--
extra : rebase_source : 053ee96dfcc80cd1bd81237ec76cd256a52ebcfe
extra : intermediate-source : 31b7a73f0b45916dbcf3b66faec746ec04acca45
extra : source : 42b918b4f24737ef456c9ffe7df4b7d4bd4ecb0c
2017-03-09 13:46:25 +08:00
Kaku Kuo
7ac3ba1c91 Bug 1346120 part 4 - Only set ImageContainer if there are valid new images in VideoSink::RenderVideoFrames(); r=jwwang
So that the suspended video element won't be rendered any more and keeps the last decoded frame.
This is the effect that UX specification defines.
And actually, we don't need to set ImageContainer if there are no valid new images.

MozReview-Commit-ID: B7RS3LXu8J0

--HG--
extra : rebase_source : 114d68046cbbb478fda63d16da7fbb4fa2fc3dd3
extra : intermediate-source : 29e6d114dfb0c64d0b6a77d924066be9f69bb287
extra : source : d6a2b47b14f6ac00ea420f5eba7190c7af725381
2017-03-09 17:16:17 +08:00
Iris Hsiao
7f4987cc26 Backed out 6 changesets (bug 1346120) for autophone Mdm tests failure in test_background_video_drawimage_with_suspended_video.html
Backed out changeset a30c73fc8d69 (bug 1346120)
Backed out changeset f16556658fd9 (bug 1346120)
Backed out changeset 98d212462786 (bug 1346120)
Backed out changeset ba579adbed21 (bug 1346120)
Backed out changeset c0758b9bf7b5 (bug 1346120)
Backed out changeset 94a483ef784e (bug 1346120)
2017-03-13 16:53:14 +08:00
Kaku Kuo
f163be7cf3 Bug 1346120 part 4 - Only set ImageContainer if there are valid new images in VideoSink::RenderVideoFrames(); r=jwwang
So that the suspended video element won't be rendered any more and keeps the last decoded frame.
This is the effect that UX specification defines.
And actually, we don't need to set ImageContainer if there are no valid new images.

MozReview-Commit-ID: B7RS3LXu8J0

--HG--
extra : rebase_source : de7d014ebad34f032a0ea8bfbe9aa723ffe922de
extra : source : d6a2b47b14f6ac00ea420f5eba7190c7af725381
2017-03-09 17:16:17 +08:00
karo
85319b4cd0 Bug 1344073 - Adding consistent formatting to HTMLMediaElement::MozRequestDebugInfo debugInfo dump string. r=cpearce
MozReview-Commit-ID: GfRrLQcebbt

--HG--
extra : rebase_source : 846b74c63528f58e414636654b0167d6c8c1480b
2017-03-01 16:03:01 +13:00
Michael Layzell
cab1a9949b Bug 1336510 - Part 4: Capture a strong reference to this in dom/media, r=jwwang
MozReview-Commit-ID: 4lVGrGzhVXh
2017-02-24 14:34:23 -05:00
Wes Kocher
7e8f316730 Backed out 8 changesets (bug 1336510) for windows debug mn-e10s failures a=backout
Backed out changeset 419ada2f9e81 (bug 1336510)
Backed out changeset 19239f566a93 (bug 1336510)
Backed out changeset c8aeead6fe83 (bug 1336510)
Backed out changeset 422e63b872b5 (bug 1336510)
Backed out changeset 21869174dfd3 (bug 1336510)
Backed out changeset 57476b9f342d (bug 1336510)
Backed out changeset e842cdaaa7e5 (bug 1336510)
Backed out changeset bd943b368ff7 (bug 1336510)

MozReview-Commit-ID: 2z3Wa9QFkX4
2017-02-23 16:07:41 -08:00
Michael Layzell
1d0870e2e1 Bug 1336510 - Part 4: Capture a strong reference to this in dom/media, r=jwwang
MozReview-Commit-ID: 4lVGrGzhVXh
2017-02-23 12:24:12 -05:00
Tom Tromey
d2667a2b27 Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
MozReview-Commit-ID: 2E8FoiNxU8L

--HG--
extra : rebase_source : 810ac727bef0751f24edea18c52e0ec170bf367d
2016-12-14 09:32:21 -07:00
Tom Tromey
5f8f360823 Bug 1060419 - make log_print use Printf.h, r=froydnj
MozReview-Commit-ID: BIZ1GQEZ1vs

--HG--
extra : rebase_source : 2f1f0aa12493c44f352d9a7e8683e7bb72d2d75b
2016-12-15 20:16:31 -07:00
Chun-Min Chang
9efca17a07 Bug 1321502 - part 2: Use preferred layout for initializing cubeb when audio queue is empty; r=jya
MozReview-Commit-ID: BDEb8IxuJRn

--HG--
extra : rebase_source : a3bc1ea315c6a00d479a1b7da3eb14d89f458b2d
2017-02-04 08:22:15 +08:00
Chun-Min Chang
561671475d Bug 1321502 - part 1: Enable multi-channel support in Gecko on Windows; r=jya
MozReview-Commit-ID: KURUk3EffOu

--HG--
extra : rebase_source : a0ce3fb8691f45a33995a3ce1ba895c254a35c8c
2017-01-26 17:35:31 +08:00
Jean-Yves Avenard
b7844bd5c3 Bug 1319987: P9. More coding style fixes. r=gerald
MozReview-Commit-ID: DhFRqkWQZny

--HG--
extra : rebase_source : 03ed44efc83fe9cab7fc975229ac4e5746aff96b
2017-01-27 13:20:37 +01:00
Carsten "Tomcat" Book
f040eda61d Merge mozilla-central to autoland 2017-01-23 11:42:26 +01:00
JW Wang
da6c0492b0 Bug 1331862. Part 1 - extract code to functions for reuse. r=kaku
MozReview-Commit-ID: 9QNTaBxGUFq

--HG--
extra : rebase_source : 98e95c60cbd66a5df4571644e4a6415f5bdbc371
extra : intermediate-source : 9dcd71ff0f89beda838f09865dfaa7f96983e430
extra : source : b0cf54f37556f520e45a001dcfa681e4a612a927
2017-01-18 17:55:59 +08:00
Bevis Tseng
72d516ef01 Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang
MozReview-Commit-ID: 1KgE3uKu4CG

--HG--
extra : rebase_source : 2ad950afe84675fb9bc4c449e53e7c0d52270175
2016-12-07 22:00:12 -10:00
Bevis Tseng
f2bdbd8fd1 Bug 1314833 - Part 2.1: Factor out AbstractThread::MainThread() used in Media Playback. r=billm,jwwang
MozReview-Commit-ID: 9yJi3iDtVZG

--HG--
extra : rebase_source : 39c720ccc576ed9247b5e8abb70d99d7873b3ad6
2016-11-29 13:03:36 +08:00
JW Wang
4f5754ca55 Bug 1328130. Part 2 - remove MozPromiseRequestHolder::Begin(). r=gerald
MozReview-Commit-ID: JL27n0Era6E

--HG--
extra : rebase_source : e6de76db3fb35b110370497f4060ea1c3f527f23
extra : intermediate-source : 5bc39a45ef042b895a5abda59cc0796e8cfb4be3
extra : source : a7f7faded7b112e8a971ca96b091a9a22214a2bb
2017-01-11 16:33:29 +08:00
John Lin
d496213476 Bug 1322679 - call MarkSentToCompositor() when VideoSink::Redraw() processing queued frame. r=jwwang
MozReview-Commit-ID: IBM6HcCpVA8

--HG--
extra : rebase_source : 7cdbe96a7236e2e0be61b6dc953963fde3fe6b84
2016-12-09 19:57:12 +08:00
John Lin
f2d11c05c8 Bug 1299068 - part 3: notify when VideoData are sent to compositor. r=jwwang
MozReview-Commit-ID: Jn4AqpMaXMg

--HG--
extra : rebase_source : 9080d1fd4cbc532019134ea7087bbef03ae2600a
2016-11-23 15:08:17 +08:00
Kaku Kuo
42a1f53991 Bug 1309516 part 0 - make sure that the VideoSink::Redraw() always draws something; r=jwwang
MozReview-Commit-ID: BQ0FDyNPuri

--HG--
extra : rebase_source : 42649411a6b00cc09f581b63a00e98b14a093986
2016-11-15 12:04:26 +08:00
JW Wang
b7474df3ed Bug 1316543 - Fix the calculation of VideoSink::mVideoFrameEndTime. r=cpearce
MozReview-Commit-ID: 4p34iXLtQz5

--HG--
extra : rebase_source : e084436cd88e7bea9000422a7e57d8f343c26f41
2016-11-10 17:12:01 +08:00
Chris Pearce
ad6837ab57 Bug 1307546 - Give VideoSink a minimum update interval. r=jwwang
Without this, we can end up with very short, or even negative, update
intervals, meaning we unnecessarily use CPU when we can't actually
advance the playback position.

MozReview-Commit-ID: 6H32uVCyCll

--HG--
extra : rebase_source : 952799b846bcbb562d4ff99e97a8dcb5d8b2f558
2016-11-07 16:21:58 +13:00
JW Wang
fea88a9ded Bug 1315586 - DecodedStream::NotifyOutput() should compare |a->mTime| to GetPosition() instead of |aTime|. r=pehrsons
MozReview-Commit-ID: AyqsW9w5Je0

--HG--
extra : rebase_source : b401aad9c175e6ded87edd535c3124eec139ecab
2016-11-07 11:10:53 +08:00
Sebastian Hengst
5bac92d3b9 Backed out changeset d5a00a0b689c (bug 1307546) for increased mda test_BufferingWait_mp4.html failure on Windows 7. r=backout a=backout
MozReview-Commit-ID: J0DyTk9rJJe
2016-11-05 16:52:33 +01:00
Chris Pearce
d2ec5f2f3e Bug 1307546 - Ensure we don't set timers with negative intervals in to update A/V sync. r=jya
Our logic to do A/V sync sets a timer to drop expired frames based on the
start time of the next frame in the queue. If the frames in the queue are
badly muxed and don't have monotonically increasing start times, we can
end up setting a timer with a negative interval. This causes us to reevaluate
the frames in the VideoSink's queue immediately, set the same timer again,
and so we end up hot-looping.

This is a simple low-risk fix that detects when we're about to set a negative
interval timer, and instead sets the timer 1/30th of a second in the future.

This fix is deliberately low risk, such that it's suitable for uplift. I have
an idea how to do this better, but the lower risk this is most suitable for
uplift.

MozReview-Commit-ID: CDOqJJodx4l

--HG--
extra : rebase_source : b2833382d95143ee1845f2ea32dcc77a1903dc00
2016-11-04 16:42:24 +13:00
JW Wang
f682200758 Bug 1198168 - add debugging logs. r=kaku
MozReview-Commit-ID: D35N9bNNOeK

--HG--
extra : rebase_source : 4da554e41c48e52f9f90e3c9d222d4a85130da87
2016-11-01 14:41:09 +08:00
JW Wang
d30c88bef8 Bug 1309111 - Some macros are not expanded correctly by MSVC. r=gerald
MozReview-Commit-ID: BGJXOgslSt8

--HG--
extra : rebase_source : a62efe2e0653f009a7010e5c95dcbb09bed2213b
extra : source : f8a392e8034e1ca216aaf7084f860b0a03e021eb
2016-10-11 13:28:56 +08:00
JW Wang
15fc2d73c6 Bug 1306813 - Don't puslish events to mOnOutput after DecodedStream::Stop() is called. r=pehrsons
Because the TaskQueue of MDSM will shut down soon and TaskQueue::Dispatch() will fail (via mOnOutput.Notify()).
We reset mStream in Forget() on the TaskQueue thread of MDSM so NotifyOutput() can check it
and ensure mOnOutput.Notify() always happen before DecodedStream::Stop().

MozReview-Commit-ID: 4sCXk1KAfCC

--HG--
extra : rebase_source : 1ec50a86fa1519c4fc8caa1087f2794411aa23b0
2016-10-04 14:54:23 +08:00
Jean-Yves Avenard
aa4ed2f442 Bug 1305826: P3. Only process the number of frames, do not rely on allocated size. r=gerald
This is only for safeguarding, in case an audio buffer was over allocated. There should be none. But better be safe than sorry

MozReview-Commit-ID: JszA8CqycTr

--HG--
extra : rebase_source : ddeb1ff1f19abba36e4cbb1bab5132f15f5a2a74
2016-10-01 19:34:42 +10:00
JW Wang
1a0d74d8ae Bug 1305353. Part 3 - discard audio samples in DecodedStream::NotifyOutput(). r=pehrsons
MozReview-Commit-ID: 7o6cdP126ip

--HG--
extra : rebase_source : 1c048589c50697b103d41d1f350d3056b392ffdf
extra : source : cb75ad9850543f4739ab37f8cd309301d067fc46
2016-09-26 15:25:11 +08:00