Commit Graph

257 Commits

Author SHA1 Message Date
Kaku Kuo
dab014bd99 Bug 1360123 P2 - move ConstructMediaTracks/RemoveMediaTracks to HTMLMediaElemnt; r=jwwang
MozReview-Commit-ID: 3S63JeXAX2w

--HG--
extra : rebase_source : ef807247a5042fa23ba6b6f5c907035bd8d64199
2017-04-18 15:43:55 +08:00
JW Wang
54ae314fcc Bug 1358972. P2 - remove MediaDecoder::mEstimatedDuration and its friends which is never modified. r=kaku
MozReview-Commit-ID: 7W331tookXV

--HG--
extra : rebase_source : 2555fbdb4c5480e6880a67e71827ca06d6857992
extra : intermediate-source : c035bdc6f8e47cc92fa5d6b66421d319d9cd2e92
extra : source : 49ec1fd9914624f5aa4ea87bf4deb8b47017e288
2017-04-17 17:20:06 +08:00
JW Wang
381be5ed72 Bug 1358972. P1 - remove unused code. r=kaku
We can remove AbstractMediaDecoder::UpdateEstimatedMediaDuration() which
has no callers at all.

MozReview-Commit-ID: Eub12jQ25KK

--HG--
extra : rebase_source : f564b84a147252bd98c13fe475af971808880c8c
extra : intermediate-source : 4c0870a71b2091c39f5fc67c5cf21dea0a4cc459
extra : source : 1bfe40324a3801f8d60384b247d85f04b8971bbe
2017-04-17 17:10:09 +08:00
JW Wang
f6a893a644 Bug 1358969 - let MediaDecoder::CurrentPosition() return a TimeUnit. r=kikuo
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: K3Bz3uEXLDK

--HG--
extra : rebase_source : ade3cbd61c764b73a22c360572a525127dbadbc5
extra : intermediate-source : 013227a4aa645fc34a82c44130db6c847d74960b
extra : source : 1ab7ce426b557e4ce9979e023f9e84b4690eeaaa
2017-04-17 17:04:39 +08:00
JW Wang
02369ea1a2 Bug 1357987 - make MediaDecoder::DEFAULT_NEXT_FRAME_AVAILABLE_BUFFERED a TimeUnit to avoid ambiguous int64_t for microseconds. r=kaku
MozReview-Commit-ID: 9JC4zPEc6or

--HG--
extra : rebase_source : 8001ba3924f4bdb2ffb4143f1a22e2c4bf697ce3
extra : intermediate-source : 02bc62f83a7af3059b819c2bbb9fd887e2593043
extra : source : 5af753b1192f36ebf84279ff011617587ede613b
2017-04-17 16:58:44 +08:00
Kaku Kuo
36ef069505 Bug 1344357 P3 - dont' pass dom::Promise into MediaDecoder anymore; r=jwwang
MozReview-Commit-ID: 5RUNauRRajP

--HG--
extra : rebase_source : 4c12d5cd730657da37b2c94987e84518c2c67ae5
2017-04-17 18:49:55 +08:00
Kaku Kuo
b06e8a5370 Bug 1344357 P1 - move the MediaDecoder::mSeekDOMPromise to HTMLMediaElement; r=jwwang
There was a cycle amoung a window object -> a HTMLMediaElement -> a MediaDecoder -> a Promise (-> back to the window object).
And we have no way to break the cycle since the MediaDecoder does not participate into the collection.

By moving the Promise form MediaDecoder to HTMLMediaElement, we will be able to break the cycle since the HTMLMediaElement is in the collection.

We'll implement the cycle collection in the next patch.

MozReview-Commit-ID: CyVXBl6IMI3

--HG--
extra : rebase_source : 195a322ce3e6fe933e72be4aec5d2ebfa1f54865
2017-04-17 18:25:26 +08:00
JW Wang
519fb03dfd Bug 1353607. P9 - change the underlying type of mCurrentPosition to TimeUnit. r=kikuo
MozReview-Commit-ID: ffquOIFlp3

--HG--
extra : rebase_source : 2f6e383a1995e91f395efb4d037e151a5a656248
extra : intermediate-source : 12403091f9cee42331e12eb13945b40d02dc842f
extra : source : 1149d57835c33231411692e74836fff37b3e74de
2017-03-28 18:13:22 +08:00
Kaku Kuo
a2b8741937 Bug 1348432 - move the mMediaTracksConstructed flag back to MediaDecoder; r=jwwang
This mMediaTracksConstructed flag should belong to a MediaDecoder,
every time a HTMLMediaElement switches its MediaDecoder, the flag should be reset to false again.

So, we move the mMediaTracksConstructed flag back to MediaDecoder, by this way,
HTMLMediaElement provides only the mechanism to construct and remove media tracks,
and MediaDecoder uses the flag, mMediaTracksConstructed, to provide policy.

MozReview-Commit-ID: L7mMAmLjQCy

--HG--
extra : rebase_source : 1625d604afb34bffe79eda06a46c9feb780a14d9
2017-03-18 22:34:01 +08:00
Kaku Kuo
0696209786 Bug 1347892 part 2 - pass the visibility state of media element to media decoder as a Visibility variable; r=jwwang
MozReview-Commit-ID: AbkJeIpYZlN

--HG--
extra : rebase_source : 3ace472786b9b9900b125164996819b6d6e3627f
2017-03-17 12:51:11 +08:00
Kaku Kuo
b7fee84e84 Bug 1347402 part 4 - move ConstructMediaTracks/RemoveMediaTracks to HTMLMediaElemnt; r=jwwang
ConstructMediaTracks and RemoveMediaTracks are actually HTMLMediaElement's responsibilities.

MozReview-Commit-ID: 8lOdzD4pN7N

--HG--
extra : rebase_source : 7159d2c62b77429e5b2305b9e3eb7a0020a3b52c
extra : source : 0467c059be3cd8f066da5fc912b7738a5b9c4dd9
2017-03-15 17:33:21 +08:00
Kaku Kuo
a1edb1f6ed Bug 1346116 part 2 - consider a video is in-tree or not in the suspend-video-decoding policy; r=jwwang
We never suspend videos that is NOT in-tree because we found that, according to the Telemetry data, most (>70%) videos
which are used as the argument of drawImage() are not in-tree. So, by preventing suspending not-in-tree videos, we should
be able to alleviate the pain of not able to resume video decoders synchronously.

MozReview-Commit-ID: 8eqs0pHZLIt

--HG--
extra : rebase_source : 964c0047753696cad2e40bcf74c2b8ee9faccdea
extra : source : 93c38caa15b1a29f8f1e8e6d3a5e859f97bc1aae
2017-03-12 14:02:04 +08:00
Kaku Kuo
7e43b9cace Bug 1346498 part 9 - move all policy codes into MediaDecoder::UpdateVideoDecodeMode(); r=jwwang
Make HTMLMediaElement no longer has logic of deciding visibility, it just passes all information into MediaDecoder.

MozReview-Commit-ID: ApVcEQfboO

--HG--
extra : rebase_source : 88c70b0cf1933d9cf814359909463a811be2ab9f
extra : source : 669d1340d3c93d3e0eab55ce87693f842cf40247
2017-03-11 19:56:17 +08:00
Kaku Kuo
062129aebf Bug 1346498 part 6 - remove mHasSuspendTaint cannonical-mirror pair; r=jwwang
MozReview-Commit-ID: BqAfv9CSsv3

--HG--
extra : rebase_source : 61d8ab0494986b780b79ea9350c9d0b52f70a382
extra : source : 6d92d52bdc7688c76fc5f55853a9fa07b3875b44
2017-03-11 15:12:38 +08:00
Kaku Kuo
68c95368f5 Bug 1346498 part 4 - remove mIsVisible cannonical-mirror pair; r=jwwang
The role of MDSM::mIsVisible and MDSM::VisibilityChanged() have been replaced by
the MDSM::mVideoDecodeMode and MDSM::VideoDecodeModeChanged() completely.

MozReview-Commit-ID: 8sW0s8ilF1E

--HG--
extra : rebase_source : 20f4b0c2e5a34018b3189b4d10dd55e68881c0e7
extra : source : 2eba9a76da70749583125176e8b7c6c959b74d38
2017-03-11 14:06:09 +08:00
Kaku Kuo
c2f38bd02d Bug 1346498 part 3 - implement the UpdateVideoDecodeMode() policy in MediaDecoder; r=jwwang
So, the MediaDecoder is the one who rules out the policy of suspending video decoder.
We also extract all the policy rules into one single method, MediaDecoder::UpdateVideoDecodeMode().

MozReview-Commit-ID: IOQq6kFfkIs

--HG--
extra : rebase_source : 3d92c63aed2545391c45cdd7c1236d5df0b8d2f8
extra : source : 9c6c5f22d25171a206e828faa2c7c91d47f748f1
2017-03-10 16:52:03 +08:00
Kaku Kuo
64305205ed Bug 1346498 part 1 - extract the MediaDecoder::NotifyCompositor() method; r=jwwang
MozReview-Commit-ID: Hfw3FJUSVVe

--HG--
extra : rebase_source : 738cb2e341ab03d0dc189facc950314c29a3721b
extra : source : 63f67483e45c8a73eda772f264d2424a1049320f
2017-03-10 16:29:59 +08:00
Kaku Kuo
3c60cdbdf5 Bug 1345403 part 1 - Track decoder tainting; r=jwwang
Some uses of media elements should 'taint' the element so that the video doesn't participate in video decode suspending.
Add the infrastructure to track the taint status on MediaDecoder and mirror the status to MediaDecoderStateMachine.

MozReview-Commit-ID: Ik6aDIzrZaO

--HG--
extra : rebase_source : 31fdddabdc62cb8c59db19c1f466f674ef503ee8
extra : intermediate-source : 906cb039bea3e5ac6c1ec852209db28be60ba201
extra : source : 1ac0f1b9264706f65e04528757bd60028331d31f
2017-03-08 19:28:13 +08:00
Iris Hsiao
bdff9504ef Backed out 5 changesets (bug 1345403) for permanent failure in autophone Mdm tests
Backed out changeset f6415ae0ba89 (bug 1345403)
Backed out changeset ac12e246a808 (bug 1345403)
Backed out changeset a3e4ce12194f (bug 1345403)
Backed out changeset ba072186c917 (bug 1345403)
Backed out changeset 7a7d6e9b8329 (bug 1345403)
2017-03-13 15:28:14 +08:00
Kaku Kuo
af6e44d1d0 Bug 1345403 part 1 - Track decoder tainting; r=jwwang
Some uses of media elements should 'taint' the element so that the video doesn't participate in video decode suspending.
Add the infrastructure to track the taint status on MediaDecoder and mirror the status to MediaDecoderStateMachine.

MozReview-Commit-ID: Ik6aDIzrZaO

--HG--
extra : rebase_source : 1dfdedea63d18918ef7b529a87f3afeb1592b149
extra : source : 1ac0f1b9264706f65e04528757bd60028331d31f
2017-03-08 19:28:13 +08:00
JW Wang
553e846993 Bug 1331070 - delay seek request until decoding first frames for non-MSE media. r=kaku
See see bug 1321198 comment 17. This is a workaround to alleviate the issue
which seems to happen on win8 x64 opt only.

MozReview-Commit-ID: Lr4viEjuFkC

--HG--
extra : rebase_source : 99895cf6f6f13d5f4d698f76db7acda15d8cee77
2017-02-08 18:15:28 +08:00
JW Wang
f40aaeaffc Bug 1336356 - Ensure MediaDecode::Shutdown() is called by MediaShutdownManager::BlockShutdown(). r=gerald
MozReview-Commit-ID: 80AFMafXoeB

--HG--
extra : rebase_source : 8b51b6c9fe4b83b4639c7ae081854307c4308391
extra : source : 7ca33be035c12485e0d6529c529b0cda914fd405
2017-02-03 17:12:38 +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
e13e207c12 Bug 1332544 - replace use of mOwner with GetOwner() which provides more checks. r=gerald
MozReview-Commit-ID: DUTO4vR2kjU

--HG--
extra : rebase_source : 5edfabb169efdc0be938ed85d68d42f8694280d1
2017-01-20 11:47:53 +08:00
JW Wang
4963f39de0 Bug 1331862. Part 2 - add functions to collect debugging info asynchronously. r=kaku
MozReview-Commit-ID: 4btaZqUqyLn

--HG--
extra : rebase_source : 80289bb88f7359062575e2b7f7da06e00f78cd51
extra : source : 7e011787cb911799f47b55aeba986bf05c30ed27
2017-01-19 14:18:41 +08: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
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
992114f5fd Bug 1332160 - use nsCString internally whenever possible. r=gerald
MozReview-Commit-ID: 1DUaJWfbL88

--HG--
extra : rebase_source : f4a02736b0385e4be6258a185822f7855d0b0189
extra : intermediate-source : 1faaf4254a2e1ce2c096a8650b66d07c84c7fdbe
extra : source : c23fc2cea382627af8ff20ae3edea926eaa6d51a
2017-01-18 16:51:31 +08:00
JW Wang
fec54be7a5 Bug 1332146 - use stronger assertions in MediaDecoder.h r=kaku
MozReview-Commit-ID: 60umMQWhead

--HG--
extra : rebase_source : 0bdffc01444e11478b3d4395ea2342bc5cd3a559
2017-01-19 10:42:29 +08:00
JW Wang
f4605f76d9 Bug 1328836 - Remove MDSM::DispatchMinimizePrerollUntilPlaybackStarts. r=kaku
MozReview-Commit-ID: 1EGHVhZqUTA

--HG--
extra : rebase_source : c90c245683c50364d869566540f47927e0f64d04
extra : intermediate-source : ceb0660e9f35a0dbbd361a4dc4eb6bcef8add385
extra : source : e1dfbdac70feedc99a950c00aeda683e38919247
2017-01-05 17:59:19 +08:00
JW Wang
8c79a1d34c Bug 1326294 - this is a debugging patch which checks if mOwner points to a valid media element object. r=gerald
MozReview-Commit-ID: HRUigVOLdx

--HG--
extra : rebase_source : d44b4315a34b60c1d1a6ba98730a938ed375a937
2017-01-04 16:18:37 +08:00
JW Wang
acf75cb684 Bug 1317576. Part 4 - remove unused MediaDecoder::SeekResolveValue. r=cpearce
MozReview-Commit-ID: 9H6e0gFvWeT

--HG--
extra : rebase_source : 268efe92dda716f73a83493a4b3deaa599118fd6
extra : source : 972ed89cd3fb09004424d42c08c806a789c67361
2016-11-14 17:00:53 +08:00
JW Wang
c1b6a6bf65 Bug 1317576. Part 3 - remove unused parameter/member. r=cpearce
MozReview-Commit-ID: Ff6a8MKVY8q

--HG--
extra : rebase_source : f89010012e2c5b728109282f640398cde196ab03
extra : source : 66baa9041276b503101651c118f4c6fe0c769db1
2016-11-14 16:47:07 +08:00
JW Wang
c2bf477b21 Bug 1314884. Part 7 - remove SeekResolveValue::mEventVisibility for we always assume MediaDecoderEventVisibility::Observable in P6. r=kaku
MozReview-Commit-ID: 8jUaFPkQQxA

--HG--
extra : rebase_source : 4e3794979ec05c588458ed72472252910d1642b9
extra : source : 565d6e04892b0d8ea7fcd34d5d279f63ec21d245
2016-11-03 15:59:02 +08:00
Wes Kocher
008fdd9329 Merge inbound to central, a=merge 2016-11-08 13:58:20 -08:00
Matt Woodrow
9775890c70 Bug 1315581 - Notify MediaFormatReader when the compositor gets recreated. r=jya,smaug,jw_wang 2016-11-08 15:23:12 +13:00
JW Wang
62729fbd51 Bug 1314552. Part 2 - remove unused canonical. r=jya
MozReview-Commit-ID: FW6Wj1iiadS

--HG--
extra : rebase_source : cec5bf88a93732a83d358694d8fc91edb2c1dfb7
extra : intermediate-source : cbca4d33e07b848a83ead858c0299bcafdd5de71
extra : source : 183a602e6fd20c9bbdee3f27c0845b7f9aa00954
2016-11-02 17:23:37 +08:00
JW Wang
2639894677 Bug 1314547. Part 2 - remove unused public functions. r=cpearce
MozReview-Commit-ID: 2PndXBXmwRv

--HG--
extra : rebase_source : ede08db67cc25ffed00cc22409dc3346db81a3fb
extra : source : 7cee8e95c52a4f23bce6475c160961c42e518f22
2016-11-02 17:16:59 +08:00
JW Wang
f4ec5c59a1 Bug 1314535. Part 2 - remove unused canonical. r=jya
MozReview-Commit-ID: CLLYtFHsYBc

--HG--
extra : rebase_source : e0f23f918114e70650827adc1db1c44d25d6b4e7
extra : source : 96806600d1c65ae1f236588e8917851d2429783e
2016-11-02 16:47:51 +08:00
JW Wang
7ea7732b4a Bug 1314529. Part 2 - remove MediaDecoder::SetMediaSeekable(). r=cpearce
MozReview-Commit-ID: 6JJrKi3KTll

--HG--
extra : rebase_source : f12b55befd8264a076f393f7e44e77f1f843fbea
extra : source : 1f4a048de0f8c75d7aab8396f50c197afdae7d38
2016-11-02 14:41:04 +08:00
JW Wang
c230fcac69 Bug 1314527 - Remove unused MediaResourceCallback::SetMediaSeekable. r=bechen
MozReview-Commit-ID: 9M47sUiE1Ss

--HG--
extra : rebase_source : 79d953d32afe106b085d405f48a55f647d865bfa
extra : source : 67324546b238ab667d69288496fc0b70856f75bf
2016-11-02 14:29:54 +08:00
JW Wang
9fcd26988d Bug 1311872. Part 1 - remove dormant code from MediaDecoder and its friends. We will let MDSM solely decide when to enter/exit dormant. r=cpearce,jya
MozReview-Commit-ID: 4rRSGcruy7Z

--HG--
extra : rebase_source : 6bff3bde442dbc96ce23a4a1aabae9ec79f1b9f0
extra : intermediate-source : 456de41037090ff072925d937b001de31a479556
extra : source : 525be5a0f46950ced9efba9a7cfeda26ce73cfb8
2016-10-20 15:20:25 +08:00
Ehsan Akhgari
d5d66e16c9 Bug 1311214 - Remove b2g OMX encoder/decoder; r=cpearce 2016-10-19 17:44:31 -04:00
JW Wang
8399d361ac Bug 1304651 - Remove MediaDecoder::mPausedForPlaybackRateNull. r=kikuo
MozReview-Commit-ID: 7SIKYfDPCxG

--HG--
extra : rebase_source : 9ee1a39e0e9b48fb7f1a8f71c85b825ced0da04c
2016-09-22 17:02:48 +08:00
James Cheng
48efb9caad Bug 1300654 Part1-Remove MOZ_EME from code base. r=cpearce,smaug
MozReview-Commit-ID: JboGO0w4tcE

--HG--
extra : rebase_source : abfe53f30081f74fc39c900cab48d08c7574bfec
2016-09-08 18:06:20 +08:00
Gerald Squelart
2b00ac4132 Bug 1247056 - Notify MediaDecoder about Decoder Doctor events from MDSM - r=jwwang
MozReview-Commit-ID: Jgt5a2yJugu

--HG--
extra : rebase_source : 2c8bfb9e7ce6dd69ef5a31b1737e5f314d14cad7
2016-09-19 03:38:06 -07:00
JW Wang
5fd2401d63 Bug 1304336. Part 2 - remove unused canonical/mirror. r=kikuo
MozReview-Commit-ID: 9rQcTTrW4Cn

--HG--
extra : rebase_source : 5473db2bd2f7da5a6536368cd78deac1ea0cde8c
2016-09-21 18:11:00 +08:00
Jean-Yves Avenard
00e8a7dabc Bug 1299072: P9. Pass decoding error details to MediaDecoder. r=jwwang
MozReview-Commit-ID: uXWHhTozon

--HG--
extra : rebase_source : 7736b9d969dc680b08bffbc7610271d5cc0272be
2016-09-11 00:51:13 +10:00
JW Wang
6862b9379e Bug 1297301. Part 1 - Remove #ifdef MOZ_RAW. r=kentuckyfriedtakahe
MozReview-Commit-ID: LF4if8bZZGY

--HG--
rename : dom/media/raw/RawStructs.h => netwerk/protocol/device/RawStructs.h
extra : rebase_source : 96191a564754311200d6df36b1643990efa87e51
2016-08-24 11:02:37 +12:00