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

1181 Коммитов

Автор SHA1 Сообщение Дата
Kaku Kuo e9c23fc1ad Bug 1346498 part 2 - implement the VideoDecodeMode mechanism in MDSM; r=jwwang
The MDSM::mVideoDecodeMode and MDSM::SetVideoDecodeMode() are merely a renaming of MDSM::mIsVisible and MDSM::VisibilityChanged().
However, the renaming explicitly reflects that MDSM provides mechanism only without participating in the policy decision.
Will reremove the MDSM::mIsVisible and MDSM::VisibilityChanged() in following patches.

MozReview-Commit-ID: JdMKQTgVCf3

--HG--
extra : rebase_source : 95977b205f235b6a456d12dfde93fe84f3b12aa7
extra : source : 4382a3c10f30653d5a70abb3bd4b8146a4272784
2017-03-10 16:17:46 +08:00
Kaku Kuo b49796fcdf Bug 1345403 part 4 - Clean up suspend timer canceling; r=jwwang
MozReview-Commit-ID: LuNmrtDl4BR

--HG--
extra : rebase_source : 120a9c7811b6265190a645bd581483119242b676
extra : intermediate-source : 8d4e376e626bb9ffe71621db27053094650ee988
extra : source : bbd1f9644d39d9c935015b8dfad24e790c5a3c7a
2017-03-08 21:28:01 +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 1fa35f6899 Bug 1345403 part 4 - Clean up suspend timer canceling; r=jwwang
MozReview-Commit-ID: LuNmrtDl4BR

--HG--
extra : rebase_source : 01a82baa91c4c7d8e1ff6600f615017735313716
extra : source : bbd1f9644d39d9c935015b8dfad24e790c5a3c7a
2017-03-08 21:28:01 +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 291e7ca6b4 Bug 1345711 - Ensure MediaDecoderStateMachine::InitializationTask() is the first task to run on the task queue. r=kaku
MozReview-Commit-ID: KCtXmckLkZr

--HG--
extra : rebase_source : 10e36d96f795084f2d9803e08092b7cfad034f35
extra : intermediate-source : 64bef3af2e55f579250c500c1760ea8c36caccb8
extra : source : b37cc5f40ac90d0c0d63ab4915238982033e5ca4
2017-03-08 20:44:43 +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 1ef7419953 Bug 1336510 - Part 9: Avoid MediaDecoder shutdown hang due to unnecessary strong reference capture, r=jwwang
MozReview-Commit-ID: ElH27usjxlj
2017-02-24 14:34:30 -05: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 c53fd0f442 Bug 1336510 - Part 9: Avoid MediaDecoder shutdown hang due to unnecessary strong reference capture, r=jwwang
MozReview-Commit-ID: ElH27usjxlj
2017-02-23 12:24:12 -05: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
Jeff Walden d73ce21741 Bug 1287006 - Adjust media/ code to not pass Maybe (or any class containing a Maybe member) by value, only by reference or pointer. r=jw_wang, r=rjesup
--HG--
extra : rebase_source : 176a2afde5772bbdf43f0f6dc8082201acadcf4f
2017-02-13 09:07:40 -08: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
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 13f5644c28 Bug 1337276 - discard the audio request so we won't add audio samples to a finished queue. r=kaku
MozReview-Commit-ID: JN9QwzfCaVK

--HG--
extra : rebase_source : 174364137e97cfd721ccc44368895f0921619a6f
2017-02-07 14:33:52 +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 4fd7502e78 Bug 1331862. Part 3 - remove MDSM::DumpDebugInfo() and call RequestDebugInfo() instead. r=kaku
MozReview-Commit-ID: 4dEe6joFW01

--HG--
extra : rebase_source : 1e1b2ffb2403e1845402cd34cec111e2c5cc912c
extra : source : 984d34111fee30fce68660174afb8b68f515c6b9
2017-01-19 17:20:36 +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 740cebbff8 Bug 1331329. Part 2 - enter dormant immediately when mMinimizePreroll is true. r=kaku
MozReview-Commit-ID: 8qWYRgm8lwj

--HG--
extra : rebase_source : bfa1f5877bd56e816e0c43b849399051a8b1c142
extra : source : 57cb006d0759beb56e50dd23ebf8733de6a1a081
2017-01-16 16:41:43 +08:00
JW Wang 76d341d8fc Bug 1331329. Part 1 - remove EnterDormant() which is a one-line function. r=kaku
MozReview-Commit-ID: AaUPDAm24iB

--HG--
extra : rebase_source : f28fe3caa29ca5369e9b87c17d113b22982df509
extra : source : c2424f3a8477b30cc9337c1b5d439d886dbd971f
2017-01-16 16:39:56 +08:00
JW Wang e34a7de0c4 Bug 1330889. Part 5 - remove MDSM::mState. r=kikuo
MozReview-Commit-ID: 648LWr4WU0F

--HG--
extra : rebase_source : 4135d2d76845cd2b90793b7bd1ba9176c39f80de
2017-01-13 15:19:13 +08:00
JW Wang 5cab9e2e2b Bug 1330889. Part 4 - remove the mState checks from MaybeStartPlayback(). r=kikuo
The same reason as P2.

MozReview-Commit-ID: GqWgiXjlTrb

--HG--
extra : rebase_source : e2664650aaf3d209af1baf539cb0bb860f701fdc
2017-01-13 15:14:27 +08:00
JW Wang 3d5bdb30e7 Bug 1330889. Part 3 - remove the mState check from HasLowBufferedData(). r=kikuo
We have |mBuffered.Ref().IsInvalid()| below to check if mBuffered is valid.

MozReview-Commit-ID: KM88fSsCTlH

--HG--
extra : rebase_source : 049951856e2d78a5c53e54a7be728b0089c8e9dc
2017-01-13 15:13:05 +08:00
JW Wang 611a8c7136 Bug 1330889. Part 2 - remove some mState checks from MDSM::ResetDecode. r=kikuo
We want to separate mechanism from policy. The policy should be encoded in
the state objects which will decided whether to call ResetDecode(). It is
also possible to add a new state which has to call ResetDecode().

MozReview-Commit-ID: 3orxW4FNuVD

--HG--
extra : rebase_source : 7f76f279624e91cbe7823acfaac11632d8da4e2e
2017-01-13 15:09:11 +08:00
JW Wang f17f6489f7 Bug 1330889. Part 1 - remove the assertion in MDSM::FinishShutdown. r=kikuo
http://searchfox.org/mozilla-central/rev/3f614bdf91a2379a3e2c822da84e524f5e742121/dom/media/MediaDecoderStateMachine.cpp#1825
This assertion ensures we never escape the SHTUDOWN state.

MozReview-Commit-ID: 6jPgVQuiPZf

--HG--
extra : rebase_source : bc402bc7942accf04bad3f509af7ba2bde98218e
2017-01-13 15:04:11 +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
JW Wang 4e46c57168 Bug 1330603. Part 2 - remove MDSM::CheckIfDecodeComplete(). r=kaku
MozReview-Commit-ID: 1bkWVknX2FO

--HG--
extra : rebase_source : beef1c69a4d68b00bd724e3a991eca3d44613ae2
extra : intermediate-source : 2ed4109cb4793f593c769c2fc4516895420ede83
extra : source : 6e952d52371caf33736600df74bc49d416e90a40
2017-01-09 22:37:57 +08:00
JW Wang 51803c6e08 Bug 1330603. Part 1 - remove the call to CheckIfDecodeComplete() from HandleEndOf{Audio,Video}. r=kaku
1. in HandleEndOfAudio, we surely have !IsAudioDecoding(). So we only need to check !IsVideoDecoding().
2. likewise, we only need to check !IsAudioDecoding() in HandleEndOfVideo().

MozReview-Commit-ID: A3pj1LC2okB

--HG--
extra : rebase_source : 8303196c62e82542b843702d7e1b21dbbe0a7b18
extra : intermediate-source : 200dcde05d8e9673b80362ebb1125b1efff43f47
extra : source : a0831acd3ea9aad663c82b05983e0b7eeda32b97
2017-01-09 22:35:54 +08:00
JW Wang 9fd85dbe58 Bug 1330254. Part 4 - let Handle{Audio,Video}Canceled and Handle{Audio,Video}Waited call Request{Audio,Video}Data instead. r=kikuo
The same reason as bug 1329897 P3.

MozReview-Commit-ID: AhyFnUmXoOr

--HG--
extra : rebase_source : 2121fcef9faa0838bda07ed3273d1b24c98ff342
extra : intermediate-source : 8822c00ab309a845e16aea97ea02c4640d4d9519
extra : source : 11ee1f3ac0009afc175fd813980501cd65ae5f9e
2017-01-09 22:25:20 +08:00
JW Wang a1d21f679f Bug 1330254. Part 3 - remove some checks from NeedToSkipToNextKeyframe(). r=kikuo
1. we assert mSentFirstFrameLoadedEvent in DecodingState::Enter()
2. NeedToSkipToNextKeyframe() is called by EnsureVideoDecodeTaskQueued() when IsVideoDecoding() is true.

MozReview-Commit-ID: O6rkCBVmNu

--HG--
extra : rebase_source : 54ad2ddbf0c089cf7c493f7a9c5420bbbb3b5640
extra : intermediate-source : 3158eff8d06e40e3297b94f828dd40487f6e788b
extra : source : 6d92368a8f6f847b3a5b78a4072fd031383ead0e
2017-01-09 22:17:21 +08:00
JW Wang 43dbba6553 Bug 1330254. Part 2 - move NeedToSkipToNextKeyframe() into DecodingState and remove some checks for mState. r=kikuo
MozReview-Commit-ID: FTsXX04rk2p

--HG--
extra : rebase_source : 7bac055236795feeeabe710d214d5291ee2011a6
extra : intermediate-source : 9362d3b1cf3fd54b749e8d4c7d9f952d5718ddeb
extra : source : a645f33d99ae794eaf85fe942755131bf945be52
2017-01-09 21:39:22 +08:00
JW Wang a1b72a6467 Bug 1330254. Part 1 - move MDSM::Ensure{Audio,Video}DecodeTaskQueued into DecodingState. r=kikuo
MozReview-Commit-ID: 9xPNQ9E7R3E

--HG--
extra : rebase_source : b4b329cafb223b1af3e116d6605ef1e4dcefc31d
extra : intermediate-source : 619564872603b357b395b2ff8e8a6f7f0fb80d62
extra : source : 77eb9d0c761c0441f2f73d5eb4be69382f7d02ec
2017-01-09 21:11:01 +08:00
Phil Ringnalda e3c15e2b7e Backed out changeset f69ae549623a (bug 1321198) for being a totally unacceptable thing to have landed on an integration branch
--HG--
extra : rebase_source : 010e42975a95d521188f61abff9227569d98995c
2017-01-11 21:41:57 -08:00
Jan Beich 3b398e68ed Bug 1330378 - Add missing header after bug 1329891. r=jwwang
MozReview-Commit-ID: AcOqT3fVuUA

--HG--
extra : rebase_source : 61dabdff9bfcc1fcda0b49e73532cd705dcc4437
2017-01-11 18:19:18 +00:00
JW Wang ffe2db6667 Bug 1321198 - this is a debugging patch which crashes when test_seek* time out to get the stack trace about what's stuck. r=jya
MozReview-Commit-ID: L7Q3Fyapkzf

--HG--
extra : rebase_source : 7738d13e5ab6e72b89f18423ae056dcccb485f6c
2017-01-11 11:15:24 +08:00
JW Wang 0342dec38e Bug 1329897. Part 4 - inline Ensure{Audio,Video}DecodeTaskQueued for DispatchDecodeTasksIfNeeded is the only caller. r=kaku
MozReview-Commit-ID: CrldEKxY9Qg

--HG--
extra : rebase_source : 03df3e0378213e8675b9c72dbe22fd544c4ac96e
extra : intermediate-source : c84e8a74f5907030b8d134d7f577925948a86cfc
extra : source : 9f2b276446af127328da3aaf7abbc7846ec8fbb6
2017-01-09 20:37:06 +08:00
JW Wang e1c0f361aa Bug 1329897. Part 3 - call Request{Audio,Video}Data instead. r=kaku
For HandleAudioCanceled():
1. IsRequestingAudioData() is false because mAudioDataRequest is completed in MDSM::RequestAudioData().
2. IsWaitingAudioData() is false because data promsie and wait promise are mutually exclusive.
3. IsAudioDecoding() is true because we wouldn't have requested audio data otherwise.

Likewise, we can prove EnsureAudioDecodeTaskQueued() can be reduced to mMaster->RequestAudioData()
in HandleAudioWaited.

MozReview-Commit-ID: 1i63IMfZaUh

--HG--
extra : rebase_source : ac389a7ccc74d969ecfc5f5f622c1c90e2d9b118
extra : intermediate-source : 50bb6d229443be0c410daf7c9553e84cd21fd929
extra : source : f4c3f02f3741c49eed38c2aaab5c872d18fb74ff
2017-01-09 20:27:36 +08:00
JW Wang 59e78145eb Bug 1329897. Part 2 - we don't want to skip to next key frames when buffering. r=kaku
MozReview-Commit-ID: 6Ln73FOVovs

--HG--
extra : rebase_source : 2387c92ae79997cd52cd374185ee2a94707deddc
extra : intermediate-source : 252125fb5a79f2e4a91e5af8b3eb51afee7a2cbf
extra : source : cd86e5a1440aa31e6885727f076e4e1e014debe9
2017-01-09 20:14:01 +08:00
JW Wang 63a0e6a39f Bug 1329897. Part 1 - copy Ensure{Audio,Video}DecodeTaskQueued into BufferingState. r=kaku
Note we remove the checks for mState.

MozReview-Commit-ID: 7uzjzjKDCIj

--HG--
extra : rebase_source : a3c18a977a96edf64b44598cd2244ea20d5f9363
extra : intermediate-source : 294a139aa91dcaaa2d3c2654cbae0fce5317fcbd
extra : source : 1ac775ae3fbb65146c28024e6c19d33b2dd55f66
2017-01-09 20:12:00 +08:00
JW Wang a7b9a8665e Bug 1329891. Part 6 - default HandleWaitingFor{Audio,Video} to crash. r=kikuo
States that expect this event should override the function.

MozReview-Commit-ID: AmqktrDyVH5

--HG--
extra : rebase_source : 610dec3def2944c6234fd18cf71d9ee02998ad4d
extra : intermediate-source : 28ed7fa9991588b4ba131856cab0ff239f0b24e5
extra : source : 6e5d3a1d32985b6eba449f76e99538b0589bd200
2017-01-09 19:43:55 +08:00
JW Wang 9357fc0732 Bug 1329891. Part 5 - default HandleEndOf{Audio,Video} to crash. r=kikuo
States that expect this event should override the function.

MozReview-Commit-ID: 5Zhcu1m2MMm

--HG--
extra : rebase_source : 4462e34f5c063fdfc201f0f27e2caa8ba8d2fdc2
extra : intermediate-source : a91db7dd4a3d832f8c7b32ac87f8a8d5e518bec3
extra : source : 4499e663ce6821b98057454c8d6f06fe2cb762e0
2017-01-09 19:38:10 +08:00
JW Wang fedda3a0b4 Bug 1329891. Part 4 - remove StateObject::HandleNotWaited(). r=kikuo
If the wait promise is rejected, we probably won't be able to finish
decoding after seeking. So we should just raise an error immediately.

MozReview-Commit-ID: GKXo9ZooBfV

--HG--
extra : rebase_source : 257a2724d1d2f3266e17b2de3f7d80fa385a2782
extra : intermediate-source : 150ce8e05dc887b7ed2b71cdc5ab77fb117775d2
extra : source : 6ff0dea0afabd57ea53ea3571020cdea3d4b0eca
2017-01-09 19:34:12 +08:00
JW Wang c5599e5087 Bug 1329891. Part 3 - default Handle{Audio,Video}Waited to crash. r=kikuo
States that expect this event should override the function.

MozReview-Commit-ID: IjmR7F1UOiU

--HG--
extra : rebase_source : a83f4a96838e7358df8d0579163002ade53b5cc7
extra : intermediate-source : 2db95ef2473440ad2ec9130cf24f959291b18bef
extra : source : 78ae9269f4f09986a14e498843a7638f81dbc440
2017-01-09 15:53:12 +08:00
JW Wang 703766cdd0 Bug 1329891. Part 2 - default Handle{Audio,Video}Decoded to crash. r=kikuo
States expect this event should override this function.

MozReview-Commit-ID: 8Y4ngn4X7MS

--HG--
extra : rebase_source : 705affda97d3ee919f560a76c3858fa3564bfbe4
extra : intermediate-source : 9139df5e241af72bc75544ae3d1df27a7cc514aa
extra : source : b7c803ea73a1b1af0ee40a64d7710c52186c3c25
2017-01-09 15:48:00 +08:00
JW Wang 982fb8390e Bug 1329891. Part 1 - default Handle{Audio,Video}Canceled() to crash. r=kikuo
1. States (DecodeMetadataState and WaitForCDMState) happen before
DecodingFirstFrameState should never receive this event because they don't
decode at all.
2. DormantState and ShutdownState shouldn't receive this event because
they call ResetDecode() in the entry action.
3. CompletedState should never receive this event because it happens after
HandleEndOf{Audio,Video} which happens before Handle{Audio,Video}Canceled.

MozReview-Commit-ID: LdwpWlFHtRp

--HG--
extra : rebase_source : d48b8c7b2347fa745de006fcd1aff640cb474aa1
extra : intermediate-source : 981305f87ff796060666227cf89a23b51e607b54
extra : source : ee5e78f761568bea438c51b9e70eef9b83e14626
2017-01-09 15:44:18 +08:00
JW Wang 063d3eaeb0 Bug 1329110. Part 7 - remove StateObject::HandleEndOfStream(). r=kaku
The same reason as P6. We would like to avoid virtual functions calls
inside a virtual function.

MozReview-Commit-ID: EYCk6tKPYSs

--HG--
extra : rebase_source : 8482799473e4cf856238b9fa7897e432b4e3a674
extra : source : 17769cff12ccc2157adc91c4fce7e4030f303b00
2017-01-09 13:18:37 +08:00
JW Wang ce97bad770 Bug 1329110. Part 6 - remove StateObject::HandleWaitingForData(). r=kaku
Since DecodingState is the only one that overrides the function, we will let it
just override HandleWaitingFor{Audio,Video}. We also reduce the code complexity
because it is hard to trace the code when one virtual function calls another
virtual function.

MozReview-Commit-ID: AdLXpDgvOyx

--HG--
extra : rebase_source : a8c2aef15537044d904f576976e08264524c26e4
extra : source : 60c230cff746f91653922223dc1f56e48c0d6120
2017-01-09 13:06:55 +08:00
JW Wang b338772d2a Bug 1329110. Part 5 - split Split StateObject::HandleVideoNotDecoded into small functions. r=kaku
MozReview-Commit-ID: Bfyekr4I6OX

--HG--
extra : rebase_source : 43579faa96eba1e2fae2db98a7336aa928006661
extra : source : ea122d8b79c7cb87ec3671cc849d1358cf97976d
2017-01-09 12:59:32 +08:00
JW Wang c981850d84 Bug 1329110. Part 4 - remove StateObject::HandleAudioNotDecoded(). r=kaku
MozReview-Commit-ID: 53iQ46klPMr

--HG--
extra : rebase_source : 279e78eacfb63a94b729c19b9f4473a6999c1e11
extra : source : adac40b710796c1ec9b9af420cade911bff3cc48
2017-01-09 12:45:43 +08:00
JW Wang 5bcdb2f65e Bug 1329110. Part 3 - add HandleEndOfAudio(). r=kaku
MozReview-Commit-ID: KGiWU8t79pv

--HG--
extra : rebase_source : 3809783134481a31135776a0bf0d5218afff6ba8
extra : intermediate-source : 4396f620afc3752a06005f79ed4721fa8ab2b584
extra : source : e12ce512f9153bf263150eeab3717671a2a01543
2017-01-06 17:54:59 +08:00
JW Wang 49a2f5c842 Bug 1329110. Part 2 - add HandleAudioCanceled(). r=kaku
MozReview-Commit-ID: IlzcucZOHpo

--HG--
extra : rebase_source : 7ee390235f6813117c7400bcbec13b376e7ef72a
extra : intermediate-source : 4ac81f01d3804c3e41b18ce3dcb5f19ab9cda69d
extra : source : 48a4f61f58bca7e48ac970494f0749417d8d5c4e
2017-01-06 17:49:11 +08:00
JW Wang 849a835855 Bug 1329110. Part 1 - add HandleWaitingForAudio(). r=kaku
MozReview-Commit-ID: B2ElMMYKt7m

--HG--
extra : rebase_source : da07871951b787e8c101a490ea78107e11ad80e8
extra : intermediate-source : da16ca5f7b522b191b183a4923722b3e4141117f
extra : source : 558d053ca2f80d9ed52bb72d2f822ec2ae36dfb6
2017-01-06 17:43:05 +08:00
JW Wang 61f01c2630 Bug 1329098. Part 5 - remove unnecessary checks and temps. r=kaku
For mSentFirstFrameLoadedEvent is true in DecodingState.

MozReview-Commit-ID: 8zpsMAME8p6

--HG--
extra : rebase_source : fea2a795481628b5bd7eaf841fcf6a8bc377fbbc
extra : source : d54b4f06b497408a0225d708bc749101d778ca4f
2017-01-06 15:49:02 +08:00
JW Wang 5c3ba7d181 Bug 1329098. Part 4 - move DispatchDecodeTasksIfNeeded into DecodingState. r=kaku
MozReview-Commit-ID: LT9xNdTAtOW

--HG--
extra : rebase_source : faf2d7dac84374d47a6d2e210881d0355cbd86f5
extra : source : f681710dc58aac1053d06adaeb1865fceeabde23
2017-01-06 15:43:31 +08:00
JW Wang 75547a6b1d Bug 1329098. Part 3 - remove some temp vairables. r=kaku
MozReview-Commit-ID: 3gz79Tzidtf

--HG--
extra : rebase_source : 76ebb3752e71883cbdc7df916453792bff6a0bb0
extra : source : a63557c857d9ca8cfd1280c986a5d2f99f4e7668
2017-01-06 15:36:38 +08:00
JW Wang d683161210 Bug 1329098. Part 2 - remove unnecessary checks. r=kaku
1. mSentFirstFrameLoadedEvent is true in BufferingState.
2. mMinimizePreroll is false in BufferingState for buffering happens after playback starts and we reset mMinimizePreroll once playback starts.

MozReview-Commit-ID: ABE7TvNEetD

--HG--
extra : rebase_source : 53c507ff9cd8ea028c5ff7f8b5b8c049cb8a7ebf
extra : source : e87a70953f6eb8d4a9e31ab06ac73afcc90da923
2017-01-06 15:22:52 +08:00
JW Wang 664dfb82d2 Bug 1329098. Part 1 - copy DispatchDecodeTasksIfNeeded() into BufferingState. r=kaku
MozReview-Commit-ID: 2q8FhTFTJ6g

--HG--
extra : rebase_source : 989fb40a86b0358c8843082abc9ef2dea20e3a2d
extra : source : 13d0e5e6e1ddf5fff6a0b8a0da7a85e5694c5be7
2017-01-06 15:00:36 +08:00
JW Wang 1f9deb245d Bug 1329554. Part 2 - remove |mMaster->mMinimizePreroll| checks from BufferingState::Step(). r=kikuo
mMinimizePreroll is false in BufferingState because we enter buffering only
after playback starts.

MozReview-Commit-ID: 9vRuogzvV7x

--HG--
extra : rebase_source : f43eb5af15d6ae969a6269c7adf68780d9b3b659
extra : intermediate-source : 0dd36842a3ae6ad9b5421bbd277e9ee05ec2e110
extra : source : eae56fe516563a2675f0492c56c6a01b6f38149f
2017-01-05 18:13:54 +08:00
JW Wang 84f38029d4 Bug 1329554. Part 1 - let DecodingState decide whether to dispatch decoding tasks when mMinimizePreroll changes. r=kikuo
MozReview-Commit-ID: 6QnH2vOHid1

--HG--
extra : rebase_source : 2b5485539a22a8157fc826761199092ab099d0b8
extra : intermediate-source : 329b13f1aa7025f35450417c658bcacd2b42996a
extra : source : 160616eaabf48efac98868c767f704b98415d3b9
2017-01-05 18:12:06 +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 a2f0f971ab Bug 1328782. part 3 - remove the |VideoQueue().GetSize() > 0| check. r=kikuo
Since |GetAmpleVideoFrames() * mPlaybackRate + 1| is positive,
|VideoQueue().GetSize() >= GetAmpleVideoFrames() * mPlaybackRate + 1| must imply
|VideoQueue().GetSize() > 0|

MozReview-Commit-ID: 6cZ2XfUrmj

--HG--
extra : rebase_source : fc77e2cdebc4621fa68f94c6c3db81d4d921b851
2017-01-05 12:09:55 +08:00
JW Wang e6bb1d40a3 Bug 1328782. part 2 - some more tweaks to the expression. r=kikuo
MozReview-Commit-ID: I1IcV88amob

--HG--
extra : rebase_source : a1be8f5496582c2117b3e30cd8010b769d970db7
2017-01-05 12:07:15 +08:00
JW Wang dbaf1d1389 Bug 1328782. part 1 - some tweaks to the expression. r=kikuo
MozReview-Commit-ID: 3Mt1c7TrSYy

--HG--
extra : rebase_source : 75cc57e6b0fec9698e874846ad1670f31124685f
2017-01-04 17:37:34 +08:00
JW Wang a9218bbb8e Bug 1328811. Part 4 - remove the |mState != DECODER_STATE_SEEKING| check. r=kaku
When mState is SEEKING, DispatchDecodeTasksIfNeeded() is a no-op.

MozReview-Commit-ID: 3sV6RdUwFBV

--HG--
extra : rebase_source : 12f01ab491b5f4326b08b44dd0789139db174d99
extra : source : 89cccddea7603912e264405040071ba0a98bf8de
2017-01-05 14:48:42 +08:00
JW Wang 0a36f808bc Bug 1328811. Part 3 - inline NeedToDecode{Audio,Video} for DispatchDecodeTasksIfNeeded is the only caller. r=kaku
MozReview-Commit-ID: H1K6LJCjk4B

--HG--
extra : rebase_source : 382293f2aa91a134b895458866cc590798d36edd
extra : source : c0971794c58515b498d93caeccf8d8932f48614f
2017-01-05 14:44:45 +08:00
JW Wang 38ceee4499 Bug 1328811. Part 2 - remove the comment that is not valid anymore. r=kaku
MozReview-Commit-ID: JxrBRtKPAau

--HG--
extra : rebase_source : d62438f5546a67bac9004c9dea74580e23b4dd62
extra : source : d0e189f19de690e1244ab22b922ff0b70fd55e60
2017-01-05 14:39:35 +08:00
JW Wang ba927c6dfe Bug 1328811. Part 1 - remove the assertion. r=kaku
http://searchfox.org/mozilla-central/rev/82ebc0c5ea45477ef4a4bfb3bbff35069bd18cee/dom/media/MediaDecoderStateMachine.cpp#2980
The if statement ensures |mState != DECODER_STATE_COMPLETED|.

MozReview-Commit-ID: CyvfXj94E8s

--HG--
extra : rebase_source : 10007fda9e4c09647a7142b77415c332a69001b3
extra : source : 5936c72d33e155a2a942602b610e6d6407f9bef6
2017-01-05 14:38:52 +08:00
JW Wang da1657f4f3 Bug 1328810 - Remove the call to DispatchDecodeTasksIfNeeded() from MDSM::StopPlayback(). r=kaku
MozReview-Commit-ID: mZL1FJmea3

--HG--
extra : rebase_source : f1c22d86d60c4078e8c9bef389d0c6f3247154f0
extra : source : ab2eb5c6f2ba7de8be8e21b1a09a2c43efeffc62
2017-01-05 14:32:53 +08:00
JW Wang f6c88fe5f9 Bug 1328831 - Remove MDSM::DispatchAudioOffloading. r=jolin
MozReview-Commit-ID: JVJOpmUHNp6

--HG--
extra : rebase_source : 7bcca5c52938b9e429c1e1833500bd85b64dc229
2017-01-05 17:38:17 +08:00
JW Wang 12437440a3 Bug 1328547. part 3 - inline NeedToDecode{Audio,Video} and remove some checks. r=kaku
1. |mState != DECODER_STATE_SEEKING| is true in DecodingState.
2. mSentFirstFrameLoadedEvent is true in DecodingState.
3. mMinimizePreroll is false because pop events fire only after MDSM starts playing.

MozReview-Commit-ID: FTkXmtEnzY5

--HG--
extra : rebase_source : 30392be881ebdb96469189a584a57b89d60cc2b4
2017-01-04 17:23:28 +08:00
JW Wang 55f78f10f6 Bug 1328547. part 2 - remove checks for IsShutdown() which is false in DecodingState. r=kaku
MozReview-Commit-ID: CmU79bt4XoR

--HG--
extra : rebase_source : 4580449f41a23924d887ff4f1d28cecf0ed77ee9
2017-01-04 17:13:49 +08:00
JW Wang 7bbc498596 Bug 1328547. part 1 - Move MDSM::Dispatch{Audio,Video}DecodeTaskIfNeeded into DecodingState. r=kaku
MozReview-Commit-ID: I2gT77VHutm

--HG--
extra : rebase_source : 39daa2eb03b780cd44e8e461d90ea38c5f163394
2017-01-04 17:10:37 +08:00
JW Wang 7e82a51137 Bug 1328781. part 2 - don't convert a double to an int64_t to avoid rounding errors. r=kikuo
MozReview-Commit-ID: 83Zxqr4aiMa

--HG--
extra : rebase_source : baadaff80de366e2ed6a88b2a8bbfaaf54b66c9d
2017-01-05 11:50:20 +08:00
JW Wang 0077fc4f6c Bug 1328781. part 1 - somewhat rewrite the expression. r=kikuo
MozReview-Commit-ID: 5959ZdWKI4k

--HG--
extra : rebase_source : 927c0edda7ff9870c555830e3f022d26e588e258
2017-01-04 17:35:04 +08:00
JW Wang 1bc32335e9 Bug 1328541 - Remove the call to DispatchDecodeTasksIfNeeded() from MDSM::MaybeStartPlayback(). r=kikuo
MozReview-Commit-ID: 9Qj01MSw4Ia

--HG--
extra : rebase_source : 5751a3f681f17656cca1bb28700a3a15ca96c6a6
2017-01-04 16:38:01 +08:00
JW Wang b550988fa4 Bug 1326335 - Ensure MDSM only decodes metadata once. r=kaku
MozReview-Commit-ID: AqKbR6OuQ40

--HG--
extra : rebase_source : b8da9e4a47ae79b01ed6fc878f4232244c555aef
extra : intermediate-source : 3ce2a998b1abc4acac397b653c721f96d84452b1
extra : source : 94103894f26463ac8ab4a8a59957ccf4f79ebecf
2016-12-23 19:23:58 +08:00
JW Wang dae2fad218 Bug 1325317. Part 2 - rename the function and fix comments. r=kikuo
MozReview-Commit-ID: 3GUkH5OpSmJ

--HG--
extra : rebase_source : 421c16cf75bde625b158571439fb9b4d29e8046f
extra : intermediate-source : 22b22702bafca7da4f12e3abdb08cabcf9eff20c
extra : source : e7b0f09a40bf5f148496470bb019c11dc5431856
2016-12-22 16:56:59 +08:00
JW Wang 7b71dd0944 Bug 1325317. Part 1 - move StopMediaSink() out of MediaDecoderStateMachine::Reset(). r=kikuo
MozReview-Commit-ID: 6Bso8uxM7Ee

--HG--
extra : rebase_source : e255128028e33b2aad3566f5a3a3a09a07ac2d68
extra : intermediate-source : a3be598566377928746b5e37800d788cdcab6942
extra : source : f46b24e31cbb07243ca74206bd2e05e99b070286
2016-12-22 16:48:54 +08:00
JW Wang 7be77921c0 Bug 1325321 - let DecodingState handle audio/video pop events. r=kaku
MozReview-Commit-ID: 9EjeOfn1vBU

--HG--
extra : rebase_source : 52efab5c60df935de35fb049926c639aa053e389
extra : intermediate-source : d760746364b9585128a74bf284246418eb024280
extra : source : 0537651366abb8524a3436f0208d28b3248a1c52
2016-12-22 17:28:14 +08:00
JW Wang 51911743dc Bug 1325905. Part 7 - add assertions to ensure Ensure{Audio,Video}DecodeTaskQueued is never called by DecodingFirstFrameState. r=kaku
MozReview-Commit-ID: 9zSuH4p0aqg

--HG--
extra : rebase_source : 315b05e6acda578f7e4ba76478ea3096cb196b1c
extra : intermediate-source : 1849928297d4fd028bd53010f6f2dc1a2af85950
extra : source : ed06f086bb403ddfa0296b6be87601188ada81c6
2016-12-21 18:26:31 +08:00
JW Wang 2942cc95b4 Bug 1325905. Part 6 - let DecodingFirstFrameState::Enter() call Request{Audio,Video} instead. r=kaku
MozReview-Commit-ID: AH1F9hMJorM

--HG--
extra : rebase_source : ffd3b9711fa7be5db2445b75a7e875bd6b44c1b5
extra : intermediate-source : 1477500ceba6772fe5b93f318f1a13f03d3dff03
extra : source : 240f60c1c35b92facdec77f22022fed4babf4f84
2016-12-22 04:32:47 +08:00
JW Wang 354ad927a8 Bug 1325905. Part 5 - let DecodingFirstFrameState override Handle{Audio,Video}Waited. r=kaku
We want to call Request{Audio,Video}Data() instead of Ensure{Audio,Video}DecodeTaskQueued
which checks mState and breaks the encapsulation of the state objects.

MozReview-Commit-ID: 5oydItSvnMF

--HG--
extra : rebase_source : 5da4ad2f0fbf010a78c6b4e7cbab70378a002758
extra : intermediate-source : 0a882fb53fd51a71f9a3914074e9020d4eb87c4f
extra : source : 9927e37c9383e9204cbaf1b0dbc6fbfdff48df82
2016-12-21 18:23:00 +08:00
JW Wang 5f9c0a1f53 Bug 1325905. Part 4 - let DecodingFirstFrameState override Handle{Audio,Video}NotDecoded. r=kaku
We want to call Request{Audio,Video}Data() instead of Ensure{Audio,Video}DecodeTaskQueued
which checks mState and breaks the encapsulation of the state objects.

MozReview-Commit-ID: 87CwSdtTwi4

--HG--
extra : rebase_source : a16404e208ae5cd9b008728249cea444a7b229e7
extra : intermediate-source : 3fbfa4532f6a54ea9e1aa7b0e9880539ca57c811
extra : source : 22a75175dd957605e70096b029a677b4d2ac2d42
2016-12-21 18:16:25 +08:00
JW Wang 8901ee07af Bug 1325905. Part 3 - split HandleNotDecoded() into HandleAudioNotDecoded() and HandleVideoNotDecoded(). r=kaku
MozReview-Commit-ID: 3RcG43pxGSv

--HG--
extra : rebase_source : 75460198f494efd087f7b16816ece042c50873c8
extra : intermediate-source : c61d6b5eab101c7e978d9253e9ef524a1b8d92f8
extra : source : 8a8878c5fdcc7d40b48c66c4efda303f2e569ba5
2016-12-21 18:00:37 +08:00
JW Wang 6b395243f2 Bug 1325905. Part 2 - move IsWaitForDataSupported() assertions into MediaDecoderReaderWrapper. r=kaku
MozReview-Commit-ID: 6KwjHONHKo

--HG--
extra : rebase_source : f6da0198c63f27d002d5118ac8a12d436d9c2586
extra : intermediate-source : 1100a896ff400a101ac166cc82e75e28b37e2c5e
extra : source : 19cab6225fc2969fd5f1f445f48c90b2de2481e7
2016-12-21 17:37:56 +08:00
JW Wang 9d8e66b8c1 Bug 1325905. Part 1 - add assertions to MDSM::Request{Audio,Video}Data. r=kaku
MozReview-Commit-ID: JjRsv2wdLUq

--HG--
extra : rebase_source : 6393b2650bec9e157ebe20cccc7d8242df34cec1
extra : intermediate-source : 0bb565e52e2bf69d64cc37b88e0cc6342d98442d
extra : source : 893f204d72ffa399a85bde9de97649a531ed54ba
2016-12-21 17:21:21 +08:00
JW Wang 21a9b72957 Bug 1325004. Part 7 - remove Push(). r=kikuo
MozReview-Commit-ID: 7fNAGwKhKSN

--HG--
extra : rebase_source : b4c1b541e9a60420f1dd3f07d364881d05059d82
extra : intermediate-source : 5ddd990ae771bedabd12a86c1fa86b79d42199c9
extra : source : f619a366739ccf00692dcfa0fa1bfa02ef3ae938
2016-12-21 16:06:58 +08:00
JW Wang 75c6cf0698 Bug 1325004. Part 6 - let DecodingState call Push{Audio,Video} instead. r=kikuo
MozReview-Commit-ID: boYTgSK4hw

--HG--
extra : rebase_source : 7e7bed1edf4cde0e4e47295f20815a05ccbbe087
extra : intermediate-source : 57cd629c425d628ce65b9ea9943d9e56e866b710
extra : source : 176b75c814a4f08dc8fb88ffd3ae714ee90337fa
2016-12-21 16:05:08 +08:00
JW Wang a0227d9704 Bug 1325004. Part 5 - let BufferingState call Push{Audio,Video} instead. r=kikuo
BufferingState will call DispatchDecodeTasksIfNeeded() if not done buffering.

MozReview-Commit-ID: Kzqqn8lXPLm

--HG--
extra : rebase_source : fa4e4d4c4b9d637b7ca577b371e8561ffc87f9b2
extra : intermediate-source : a843f7147b2cf06bd2aebaf737e59838ad7cd20a
extra : source : 7459d72992ecbd9ea45109bf57da31c8da3b57dd
2016-12-21 16:03:16 +08:00
JW Wang aa131689bf Bug 1325004. Part 4 - let NextFrameSeekingState call Push{Audio,Video} instead. r=kikuo
MozReview-Commit-ID: 6E2BfLNh91r

--HG--
extra : rebase_source : 77c10ef30b7d65d227b91a2c2226ff89fcbd1e3e
extra : intermediate-source : dac931a547edc1398762e7c49517bb4d7b9ea015
extra : source : fa74c3a186074452e63c0bd7c50664ff04983cca
2016-12-21 15:56:18 +08:00
JW Wang 1b1f735190 Bug 1325004. Part 3 - let DecodingFirstFrameState call Push{Audio,Video} instead. r=kikuo
DecodingFirstFrameState needs only at most one audio or video sample.

MozReview-Commit-ID: 2pRrPlCUBSf

--HG--
extra : rebase_source : 16dfce121c1e1c151a6dbcbee49f179d3793b22b
extra : intermediate-source : 2be72f13608fd5029991f6ae79cc73c86f7f1a0b
extra : source : 61f35a1275101a222cea89d4dd6d873181f33e57
2016-12-21 15:54:30 +08:00
JW Wang 0ea283e2a4 Bug 1325004. Part 2 - let AccurateSeekingState call Push{Audio,Video} instead. r=kikuo
AccurateSeekingState can stop decoding once there is one sample in the queue.

MozReview-Commit-ID: 76C7vX7ua14

--HG--
extra : rebase_source : 507410f3873ed9de2166344e99e03f9b43b46ad7
extra : intermediate-source : dd7d2547486711cdd1a9c7adc2a48e1ffec168bf
extra : source : 0285b6fc5dbed808cd30375defbc415e875647a1
2016-12-21 15:51:45 +08:00
JW Wang c9965372e4 Bug 1325004. Part 1 - add PushAudio() and PushVideo(). r=kikuo
MozReview-Commit-ID: KJdOy1Ke6Xg

--HG--
extra : rebase_source : 6e25e69c3cbdd3c2bc47e203926f2844b802747e
extra : intermediate-source : 57bfb6a53b9e4d2f7a0b21c21df5bc3f29ac9c3a
extra : source : 47cf0437e38243bb0c1b2ba3bf2bc54af2302fbb
2016-12-21 15:36:44 +08:00
JW Wang 155621f9d6 Bug 1319295. Part 2 - reject the seek promise with WAITING_FOR_DATA so MDSM has a chance to call WaitForData() and seek again. r=jya
MozReview-Commit-ID: I8A0rQMcTya

--HG--
extra : rebase_source : 85ef759034d44e02d653a5aa71fd75fb01bb8035
extra : intermediate-source : 7a82d4beffd3247d12e13a6c11232dfa94db4d28
extra : source : 84a184466957ecf4f2107b94ca2261f706e6da5b
2016-12-16 17:30:28 +08:00
JW Wang e6e5696cf4 Bug 1319295. Part 1 - add a field to identify audio or video seek failures. r=jya
MozReview-Commit-ID: 3PXlISED4tm

--HG--
extra : rebase_source : 18f1b074cacdacdc4dff270662e4609cdff94b76
extra : intermediate-source : 4205a6383c79d09f962853d8b4d8ddb5797bc79e
extra : source : 2e98d6a4761e4b42311fc50b9a5bcb55741eda34
2016-12-16 16:57:27 +08:00
JW Wang 7721ac45c7 Bug 1324629. Part 5 - replace some member functions with lambda. r=kaku
MozReview-Commit-ID: 8mRePsDxUWx

--HG--
extra : rebase_source : 936f6fad7c4b1de2e5c255d12398e20ba48a85cf
extra : source : e68eeaf321baa4fe2363af2966c3522326b18fe2
2016-12-22 14:01:21 +08:00
JW Wang 0323cca4c5 Bug 1324629. Part 4 - clean up some functions and comments. r=kaku
MozReview-Commit-ID: HP2Tp8KbRoq

--HG--
extra : rebase_source : e2ac1431611f30a8d9ffb1fb3bcd30b6a52e31c6
extra : intermediate-source : c281654e20d3a91f310f6bd983c3ba2c6915afe7
extra : source : 867b2f18697a1b5a1b87b95ad6af8a4fc60e6162
2016-12-20 15:48:20 +08:00
JW Wang d1e5b672ea Bug 1324629. Part 3 - remove AudioWait and videoWait callbacks. r=kaku
MozReview-Commit-ID: 9pXLLrYLN4c

--HG--
extra : rebase_source : c66cc3f37fd3cebb0d6a9c7525f863f2ade2a67e
extra : intermediate-source : fbb3fcf20109d9caa13e556c679aee5e692e78f2
extra : source : e8eff4dc4bc1fae74e6f228d51d9677d215ff66a
2016-12-20 14:31:29 +08:00
JW Wang 08a93dbdc4 Bug 1324629. Part 2 - remove video callback. r=kaku
MozReview-Commit-ID: 92t6GoznxL5

--HG--
extra : rebase_source : b1bf9053a396c501c918b8848d98ce920e3f09f6
extra : intermediate-source : 41414e1780251a382e900bb9ef5c011074278875
extra : source : 89fd50a16e61f3bfdfe445e1b49238ada801256b
2016-12-20 13:17:05 +08:00
JW Wang 6965b449bf Bug 1324629. Part 1 - remove audio callback. r=kaku
MozReview-Commit-ID: DbWwSNpYXLo

--HG--
extra : rebase_source : 901a519bc4864c61ee57bffe04ca61850422c862
extra : intermediate-source : 4db9b0aceda98d5a73b980582c12b8ae09b9c30b
extra : source : 3fadecee89e97b9cf9ffe464265c682ad5c5d28b
2016-12-20 12:54:23 +08:00
JW Wang d585e07803 Bug 1324371. Part 6 - assert |VideoQueue().AtEndOfStream()|. r=kaku
UpdateSeekTargetTime() is called only when NeedMoreVideo() is false.
if |data| is null, both |VideoQueue().IsFinished()| and |VideoQueue().GetSize() == 0| must be true
and therefore |VideoQueue().AtEndOfStream()| must also be true.

MozReview-Commit-ID: DZKiVtt6iIM

--HG--
extra : rebase_source : 084bc4d2cc8118a794cc97675d41f7010dccbe99
extra : intermediate-source : e03bfa7a48d5e3210ac00f801103b1b869b9ac2a
extra : source : d2facb5bd27127c5c3eba0b44e0cc06fb212eabd
2016-12-19 17:40:10 +08:00
JW Wang 959b560539 Bug 1324371. Part 5 - add FinishSeek() and remove MaybeFinishSeek(). r=kaku
MozReview-Commit-ID: FvbLdPQWZ82

--HG--
extra : rebase_source : 414a68922ed1f813dc73ae0ff794faa5b603bdc3
extra : intermediate-source : 5b1230b2af7799f098c43479964756fb2f299f3e
extra : source : f8c4263f206e44666e21eaaff9c47d833d7635c3
2016-12-19 17:29:01 +08:00
JW Wang fe9d367749 Bug 1324371. Part 4 - assert NeedMoreVideo() in some functions. r=kaku
Because !mSeekJob.mPromise.IsEmpty() now always implies NeedMoreVideo().

MozReview-Commit-ID: BN0NZzaBlCF

--HG--
extra : rebase_source : ab570336cef7fd6841835d981696d03c3cdb1f60
extra : intermediate-source : 415774b6eca227442d6773bb989443befc8d6822
extra : source : 0fc219d031b6dd0b32979a571cc87422ae1f2af9
2016-12-19 17:18:03 +08:00
JW Wang 99a35fd827 Bug 1324371. Part 3 - inline IsVideoRequestPending() which has only one caller. r=kaku
MozReview-Commit-ID: 7bBDRQV9zJ1

--HG--
extra : rebase_source : fbea123a24facc894f2dde6d71227df3b49ccdb1
extra : intermediate-source : a0476aee581e92ce668c156e77098024632e361a
extra : source : 3ffc5fc0eb0b4a5143d9ea2890636025532bbdc5
2016-12-19 17:03:16 +08:00
JW Wang e997f22de5 Bug 1324371. Part 2 - remove IsVideoSeekComplete() and finish seek without waiting for pending video requests. r=kaku
MozReview-Commit-ID: 8GRbxJEG33j

--HG--
extra : rebase_source : d6eed748d1b349ede275add493e351492368706e
extra : intermediate-source : b29d6a645eeea72524cd86343a929d52a6f0368e
extra : source : 17a7121d86a6c2ab82acdedec7ad2747db9aded0
2016-12-19 16:53:50 +08:00
JW Wang 3e8bda6ab3 Bug 1324371. Part 1 - remove IsAudioSeekComplete(). r=kaku
We don't need to wait for pending audio requests before finish seeking.

MozReview-Commit-ID: BWoivb9Gjux

--HG--
extra : rebase_source : c044c8066d7dfe8b324762145977a5d7ea84702f
extra : intermediate-source : afa7a29babfeaa8df1a10e606c090d03e4fab789
extra : source : aeb0ed38110fdfc172e25d4895e81d2a4f8a1300
2016-12-19 16:24:30 +08:00
JW Wang dfcf976fc9 Bug 1324339. Part 8 - remove unused functions. r=kaku
MozReview-Commit-ID: a68nAvEIyx

--HG--
extra : rebase_source : b632a22ff19409c8fc543e616fa778bd7801b07b
extra : intermediate-source : 962adf7a254271521106d9cb19779c40ec06d305
extra : source : c9b554bfb0ce8a3ef7d9fc0d4c76a97dd70e5989
2016-12-19 16:01:35 +08:00
JW Wang ebd411de76 Bug 1324339. Part 7 - remove mIsVideoQueueFinished and finish the queue in place. r=kaku
MozReview-Commit-ID: DEpQOcJnFnc

--HG--
extra : rebase_source : 04d0a80a1fa33760371ad88a514cdc8756bf02b5
extra : intermediate-source : 62d1cc6b176b54e9aadeb418dde1548958de9a12
extra : source : bae286eb3c40c27c908bdb782429054551b38c36
2016-12-19 15:56:07 +08:00
JW Wang 58428cf531 Bug 1324339. Part 6 - remove mIsAudioQueueFinished which is not set at all. r=kaku
MozReview-Commit-ID: 6Ilvqigonga

--HG--
extra : rebase_source : 3de29cc1480addbccb218df4029870da118e33b8
extra : intermediate-source : 2aad62c93f1a5779d74dca3d9de27e2d6438d40b
extra : source : ce2e1387858bab2dc8a7e2a1afb517e49b0f55a8
2016-12-19 15:51:14 +08:00
JW Wang 9072432de0 Bug 1324339. Part 5 - remove |mSeekedVideoData|. r=kaku
MozReview-Commit-ID: DSW2Jb22ZpA

--HG--
extra : rebase_source : ecd6e8098c83dcf4e37ad5b0fff9f93fc01c5b48
extra : intermediate-source : a8e8a402fa2a2c385989c9f3a196629390b5edc5
extra : source : c66ae114849c30eb209a7b800e144d5dfbce5dfb
2016-12-19 15:47:45 +08:00
JW Wang 3e4b277d5d Bug 1324339. Part 4 - remove |mSeekedAudioData|. r=kaku
Just push the sample into the audio queue without delay.

MozReview-Commit-ID: 9eg92DUaIVo

--HG--
extra : rebase_source : 94863c13122686fa52c3d7e57125d67d4e4eaaad
extra : intermediate-source : 0e3959d3247bed58cd98af16668aa0e3027595e2
extra : source : cc0e4c7d31ba39d00a7c104a5c51a5851aa69dc4
2016-12-19 15:43:56 +08:00
JW Wang 4f991a9056 Bug 1324339. Part 3 - remove NextFrameSeekingState::{Audio,Video}Queue. r=kaku
Add DoSeekInternal() to be called by AysncNextFrameSeekTask so we don't need
to re-define {Audio,Video}Queue in NextFrameSeekingState.

MozReview-Commit-ID: JVeCvVD24vM

--HG--
extra : rebase_source : 8d3bbff18f3d76a43dd08d04822b658cfb2d1872
extra : intermediate-source : 0aecb75620986c390cc65c7a2fc8fca2b2fc9f20
extra : source : c3847ca1e2119cf33b787309cbb4151beca5364a
2016-12-19 15:37:36 +08:00
JW Wang 8e0cb1d86d Bug 1324339. Part 2 - remove duplicate code that is already in MDSM::On{Audio,Video}Decoded,OnNotDecoded. r=kaku
MozReview-Commit-ID: HwOVSvRhxE5

--HG--
extra : rebase_source : 11026edc0a1f04415e514f46aee34d3db064b0d4
extra : intermediate-source : b97bbac0a206e9d778fef0546899db6f213fca64
extra : source : a61b367e97aa1d65e53aa8c676f5ef0a9ddef3d0
2016-12-19 14:12:43 +08:00
JW Wang 3546ba24fe Bug 1324339. Part 1 - merge CreateSeekTask() and ResetMDSM() with DoSeek(). r=kaku
MozReview-Commit-ID: ABJR3WaRqt5

--HG--
extra : rebase_source : e607a661477c2290440b5526e575d6f9df0bf98d
extra : intermediate-source : 4999a6b22bc99264a54d14cad6255ca9d1a906c9
extra : source : 0064958ec8dab10df1c9cbe8ec3882394e42aadf
2016-12-19 13:13:32 +08:00
Jean-Yves Avenard 20853d0607 Bug 1319992: P3. Remove no longer used seeking argument. r=jwwang
MozReview-Commit-ID: 9Oc0SHX0Rw2

--HG--
extra : rebase_source : 845ab6daa4414e57d5ce02dee1424df29d3b962d
2016-11-30 01:42:50 +11:00
JW Wang 6e5a36be9f Bug 1324335. Part 3 - cache mTarget before resetting it. r=gerald
MozReview-Commit-ID: KknqPo2gGJK

--HG--
extra : rebase_source : 3eb7ce45e1309506f206f6a272d18028a2e337b7
extra : source : 9cf740e59fd6d971fbff1d607cdc0aa7a03a1f3c
2016-12-19 12:43:52 +08:00
JW Wang 6198322a66 Bug 1324335. Part 2 - Make SeekJob::mTarget a Maybe<>. r=gerald
MozReview-Commit-ID: A2M3b131nHH

--HG--
extra : rebase_source : 5f70d9ee5cfdd603e5e2cb661d88aa2199bea8de
extra : source : 13caeacbf180ae1c9465e593e28784b50c13ded9
2016-12-19 12:25:14 +08:00
Sebastian Hengst e1bd6fb711 Backed out changeset 3cfdc09bf851 (bug 1319992) 2016-12-19 12:38:32 +01:00
Jean-Yves Avenard 65b1f05d4a Bug 1319992: P3. Remove no longer used seeking argument. r=jwwang
MozReview-Commit-ID: 9Oc0SHX0Rw2

--HG--
extra : rebase_source : 40faa64eab2d6ba65d092d5709103eb6daa30565
2016-11-30 01:42:50 +11:00
JW Wang acc47bb24b Bug 1323931. Part 6 - remove unused functions. r=kaku
MozReview-Commit-ID: LdyMhmOicSc

--HG--
extra : rebase_source : ff80c878bc71ef8da3fe9f2cc1e6958d614ec680
extra : source : 717559278a95217160df448f0d618944b06b9a53
2016-12-16 16:09:35 +08:00
JW Wang 0fe1eae210 Bug 1323931. Part 5 - remove mSeekedAudioData and mSeekedVideoData. r=kaku
MozReview-Commit-ID: 72hBe0dv2Xr

--HG--
extra : rebase_source : feacd094938d51a053c23561206c9e8393ba7436
extra : source : 9fdc2d1f930c4b4156af3c24cf9062349f52ac09
2016-12-16 16:01:57 +08:00
JW Wang 787900835c Bug 1323931. Part 4 - no need to update mDecoded{Audio,Video}EndTime in OnSeekTaskResolved(). r=kaku
For they are updated in MDSM::On{Audio,Video}Decoded.

MozReview-Commit-ID: 55Od3V9vIf2

--HG--
extra : rebase_source : b359dad4a9cefb2c81d097d05dda741c64447131
extra : source : 2811f9da4d1c5e55aa0d45c2be6e916bf43e3e86
2016-12-16 15:40:05 +08:00
JW Wang 004a39268e Bug 1323931. Part 3 - remove mIsAudioQueueFinished/mIsVideoQueueFinished and finish queues in place. r=kaku
MozReview-Commit-ID: 2MDZSa3g7cj

--HG--
extra : rebase_source : 8b8b5dafea4b9bf582fa307f5eaa0396bb7e0c2a
extra : source : 31784c6aa17d0a83526a59b26787942651613419
2016-12-16 15:28:09 +08:00
JW Wang 47ffa75f30 Bug 1323931. Part 2 - use raw pointers to reduce unnecessary ref-counting. r=kaku
MozReview-Commit-ID: 1iVaCGLqFCy

--HG--
extra : rebase_source : 5b1fe9d4c4328c33af00d55de75e5c9c8d61a30f
extra : source : e67869b74620a3bcc726b9341a516c41634ca69c
2016-12-16 15:11:19 +08:00
JW Wang 93d05bddc1 Bug 1323931. Part 1 - remove unnecessary comments and logs. r=kaku
They are already in MDSM::On{Audio,Video}Decoded, OnNotDecoded.

MozReview-Commit-ID: COivpHEaYdp

--HG--
extra : rebase_source : 2ca8eb2866ce54e822e44ff877b1dcb9032fb316
extra : source : 9e0e761a551d896ff1d5f7dc92d77270d8f93319
2016-12-16 14:55:50 +08:00
Kaku Kuo 8199d931d7 Bug 1322800 part 14 - remove SeekTask and NextFrameSeekTask; r=jwwang
MozReview-Commit-ID: 1oHKukYqLO4

--HG--
extra : rebase_source : c993b7d2766356ebb21fa11e479b166702ca32ec
2016-12-16 15:29:50 +08:00
Kaku Kuo 63f1c9b6b0 Bug 1322800 part 13 - disconnect NextFrameSeekingState and SeekTask; r=jwwang
MozReview-Commit-ID: 9bcYSd2fsp1

--HG--
extra : rebase_source : 913422b48ad22c9e5692d9c15791dcb8d17dd68c
2016-12-15 17:25:44 +08:00
Kaku Kuo 3a6d9723a1 Bug 1322800 part 12 - move all SeekingState data members; r=jwwang
MozReview-Commit-ID: BL4vUw3zErL

--HG--
extra : rebase_source : 25ed4da1f547542c49fb65679d9e0ab2ec30db3d
2016-12-14 16:27:03 +08:00
Kaku Kuo ff8a7135af Bug 1322800 part 11 - use SeekingState::mSeekJob.mTarget to replace NextFrameSeekTask::mTarget; r=jwwang
MozReview-Commit-ID: DkkOoAEgNfH

--HG--
extra : rebase_source : 8da36b46f44956e11dac2fa023b929da585dd6e3
2016-12-14 15:48:22 +08:00
Kaku Kuo 68dd7bfe50 Bug 1322800 part 10 - use StateObject::{Audio,Video}Queue() to replate NextFrameSeekTask::m{Audio,Video}Queue; r=jwwang
MozReview-Commit-ID: Df87tNjaeAF

--HG--
extra : rebase_source : 98a07af519176a8585d8578dd7b53e17125adde6
2016-12-14 15:41:31 +08:00
Kaku Kuo 287d70eba7 Bug 1322800 part 9 - move NextFrameSeekTask::NextFrameSeekTask(); r=jwwang
MozReview-Commit-ID: DqyjLD2vb0V

--HG--
extra : rebase_source : 2a45266f840fff9ad9812105d5e4c4cdb70e0c5c
2016-12-14 15:28:23 +08:00
Kaku Kuo fe43467d47 Bug 1322800 part 8 - move NextFrameSeekTask::IsVideoRequestPending(); r=jwwang
MozReview-Commit-ID: 9MEHVQUt7T0

--HG--
extra : rebase_source : e60eba634fdb46af48a701ef54b2200fa5a5f6dc
2016-12-14 15:18:49 +08:00
Kaku Kuo 8224c8a483 Bug 1322800 part 7 - move NextFrameSeekTask::NeedMoreVideo(); r=jwwang
MozReview-Commit-ID: AMA5OIkVQpT

--HG--
extra : rebase_source : b0892d78c7aa2c278ac15cd97ee943214ac58694
2016-12-14 15:15:40 +08:00
Kaku Kuo e2472a1496 Bug 1322800 part 6 - move NextFrameSeekTask::Is{Audio,Video}SeekComplete(); r=jwwang
MozReview-Commit-ID: D4grujhMgHt

--HG--
extra : rebase_source : 62f9b98b3923d8727eb89e6ab61b2dd51d459030
2016-12-14 15:10:25 +08:00
Kaku Kuo 72758e96dc Bug 1322800 part 5 - move NextFrameSeekTask::RequestVideoData(); r=jwwang
MozReview-Commit-ID: 8MH6Ztbsxxd

--HG--
extra : rebase_source : 0790bab0d0abbab824ba9992330be35b60f24e21
2016-12-14 15:04:00 +08:00
Kaku Kuo d6ff08b72a Bug 1322800 part 4 - move NextFrameSeekTask::MaybeFinishSeek(); r=jwwang
MozReview-Commit-ID: 51EchnVlGEX

--HG--
extra : rebase_source : 8727151e308e27754bd59ca555455d30a8756b99
2016-12-14 14:57:44 +08:00
Kaku Kuo 1c4e890ece Bug 1322800 part 3 - move NextFrameSeekTask::Handle{Audio,Video,Not}{Decoded,Waited}(); r=jwwang
MozReview-Commit-ID: 4AaVfc3avOP

--HG--
extra : rebase_source : 25cf0b06f15e7eef03414a24b0e5ddac8910c82b
2016-12-14 14:51:17 +08:00
Kaku Kuo 0a2f33ed4a Bug 1322800 part 2 - move NextFrameSeekTask::CalculateNewCurrentTime(); r=jwwang
MozReview-Commit-ID: 8plgauwNBme

--HG--
extra : rebase_source : 639bcd8d72431ab5683d7832fc16e9b5f690ff86
2016-12-14 11:21:24 +08:00
Kaku Kuo 515f750816 Bug 1322800 part 1 - move NextFrameSeekTask::Seek(); r=jwwang
MozReview-Commit-ID: IOai99XSetN

--HG--
extra : rebase_source : a4b61ba24b987f119de020d4909b096c5c1ed118
2016-12-14 10:49:24 +08:00
Carsten "Tomcat" Book ba4d31d333 Backed out changeset ab31c60d46d7 (bug 1319992) 2016-12-16 12:41:08 +01:00
JW Wang 4c8150312c Bug 1323929 - Change the reject value type from nsresult to MediaResult. r=jya
MozReview-Commit-ID: 7ld7elZCN50

--HG--
extra : rebase_source : 27cf8d6a36542ac94e0ace663525d0c4c1b5d917
2016-12-16 14:45:03 +08:00
Jean-Yves Avenard 70465b6470 Bug 1319992: P3. Remove no longer used seeking argument. r=jwwang
MozReview-Commit-ID: 9Oc0SHX0Rw2

--HG--
extra : rebase_source : 0cea32ef23a47b5ed3b2439f2efa268ec66a523c
2016-11-30 01:42:50 +11:00
John Lin f2b5ca039b Bug 1323631 - update original frame timestamp or duration rather than creating shallow copy. r=jwwang
MozReview-Commit-ID: 4oSheJwFNOE

--HG--
extra : rebase_source : a4eaa1c9914e2cbc500c0de44ccc274b84bbe505
2016-12-15 17:57:21 +08:00
Kaku Kuo 527aa62402 Bug 1322799 part 12 - remove AccurateSeekTask; r=jwwang
MozReview-Commit-ID: I4CvCSHpTBN

--HG--
extra : rebase_source : 7c30f38bd50b372d80174e75c57f0d52619e53b3
2016-12-09 15:22:23 -10:00
Kaku Kuo 6c5c0bdd5f Bug 1322799 part 11 - disconnect AccurateSeekingState and SeekTask; r=jwwang
MozReview-Commit-ID: LeMtvoNkVFD

--HG--
extra : rebase_source : c4b64b26c19f3a016a053752e29f5a2a09e747a0
2016-12-09 15:21:06 -10:00
Kaku Kuo 1bfa6a5e5d Bug 1322799 part 10 - move all AccurateSeekTask data members; r=jwwang
MozReview-Commit-ID: 99rbsQo9uE7

--HG--
extra : rebase_source : c44cd392f780be06925a51acfe13dc356a6608b3
2016-12-09 14:33:54 -10:00
Kaku Kuo a8ac2d5cf6 Bug 1322799 part 9 - move AccurateSeekTask::CalculateNewCurrentTime(); r=jwwang
MozReview-Commit-ID: 4HFAPzAfANl

--HG--
extra : rebase_source : 8fa59192724fa01b58299af69b83facfe8e466db
2016-12-09 13:48:02 -10:00
Kaku Kuo 08b2c3900e Bug 1322799 part 8 - move AccurateSeekTask::MaybeFinishSeek(); r=jwwang
MozReview-Commit-ID: HGcK5zUxyge

--HG--
extra : rebase_source : a01d897fd07aaaf339627a8bc8c1751dcedac68d
2016-12-09 13:25:08 -10:00
Kaku Kuo b7ca8de04f Bug 1322799 part 7 - move AccurateSeekTask::Drop{Audio,Video}UpToSeekTarget(); r=jwwang
MozReview-Commit-ID: 8i3yLFqXfJL

--HG--
extra : rebase_source : 64f73096a7ed9ceda0fbf835eee9a370660545b0
2016-12-09 13:20:10 -10:00
Kaku Kuo af9ba50992 Bug 1322799 part 6 - move AccurateSeekTask::AdjustFastSeekIfNeeded(); r=jwwang
MozReview-Commit-ID: LwvRNpfbrFI

--HG--
extra : rebase_source : 2da411c9ec91b693e943e787db1dfdcb22692f3f
2016-12-09 12:34:44 -10:00
Kaku Kuo d49bf50d08 Bug 1322799 part 5 - move AccurateSeekTask::Handle{Audio,Video,Not}{Decoded,Waited}(); r=jwwang}
MozReview-Commit-ID: 6ZulbXUFdf8

--HG--
extra : rebase_source : fee5339f553b766f7ada784992fa5bd91122204b
2016-12-09 11:24:43 -10:00
Kaku Kuo fddd0320f8 Bug 1322799 part 4 - move AccurateSeekTask::Request{Audio,Video}Data(); r=jwwang
MozReview-Commit-ID: 13vA6yDmN7d

--HG--
extra : rebase_source : 0c3aa60ae051bcc2342ff91e0e0e909365969518
2016-12-09 10:34:40 -10:00
Kaku Kuo 5fc0b8c33d Bug 1322799 part 3 - move AccurateSeekTask::OnSeek{Resoved,Rejected}(); r=jwwang
MozReview-Commit-ID: K8Bj21nxG0y

--HG--
extra : rebase_source : 75bb101cd106c5f1e33c9c45f79fb606b3fc68fa
2016-12-08 21:02:45 -10:00
Kaku Kuo bdc847fc9d Bug 1322799 part 2 - let AccurateSeekingState request demuxer seeking; r=jwwang
MozReview-Commit-ID: ERUCjllzBRx

--HG--
extra : rebase_source : 17c370a1b54b17b41c0472e408c9ab92e2c70352
2016-12-08 17:40:03 -10:00
Kaku Kuo af48613b7a Bug 1322801 part 6 - defer the logic of CalculateNewCurrentTime to SeekingObject's subclasses; r=jwwang
MozReview-Commit-ID: 2JLrlJ9f3v1

--HG--
extra : rebase_source : 31327a4e694b404a13283d1adb0bcb5d66daf66d
2016-12-09 13:35:11 -10:00
Kaku Kuo 32aefe5b03 Bug 1322801 part 5 - let AccurateSeekingState and NextFrameSeekingState have their own implementation of OnSeekTask{Resolved,Rejected}(); r=jwwang
MozReview-Commit-ID: 4SWeczIdoay

--HG--
extra : rebase_source : 6c0c797a1aeafedc9df934e544cab89fee08f416
2016-12-09 18:47:27 -10:00
Kaku Kuo e34f6551e4 Bug 1322801 part 4 - defer the logic of invoking seek operation to SeekingObject's subclasses; r=jwwang
MozReview-Commit-ID: JjugShNlLV

--HG--
extra : rebase_source : f06d968e01916753d2fc803734e1e2c53680064d
2016-11-29 18:37:27 +08:00
Kaku Kuo db4795578c Bug 1322801 part 3 - defer the logic of resetting MDSM to SeekingObject's subclasses; r=jwwang
MozReview-Commit-ID: KPgO74TlQSJ

--HG--
extra : rebase_source : 32b45e76c9292e4b7484bc80df186f29205b7ecd
2016-11-29 18:06:34 +08:00
Kaku Kuo 3524304082 Bug 1322801 part 2 - defer the creation of SeekTask into SeekingState's subclasses; r=jwwang
MozReview-Commit-ID: 5rVD9r4JX3h

--HG--
extra : rebase_source : 8b7add95599a6627ebbad49e4541e3faf617d342
2016-11-29 17:42:57 +08:00
Kaku Kuo 2c5668e620 Bug 1322801 part 1 - create AccurateSeekingState and NextFrameSeekingState; r=jwwang
MozReview-Commit-ID: Kkh5wuOL1k9

--HG--
extra : rebase_source : 242e089418e64a83a22b7b631155a94dfbfdada6
2016-11-30 10:32:29 +08:00
JW Wang d4d5d4d5bb Bug 1321744. Part 3 - remove ThenPromise and replace its use with Then. r=gerald
MozReview-Commit-ID: AsmePdCp2tC

--HG--
extra : rebase_source : e08ac48584375d2bc12f5b73a1e60f2800359ed9
extra : intermediate-source : 94e727f7cd11bb04812da3662a0ee1fd461cc832
extra : source : 5307716231f93b01c0357011f8849015d4d97d0a
2016-12-04 08:51:25 +08:00
JW Wang c1ec600a1a Bug 1321471. Part 1 - Use of MozPromise::ThenPromise() in place of CompletionPromise(). r=jya.
MozReview-Commit-ID: INbGpzwK4f9

--HG--
extra : rebase_source : 76942aa9741f2ce59f6208cfb0699ad3718a25d4
extra : intermediate-source : 61f3ade0fb73f6318ae616393d66e3dc21d68323
extra : source : 92e78c9b199b252da5d219f8d68902ce353aa4c7
2016-11-30 18:19:26 +08:00
Kaku Kuo 57fc60a1b4 Bug 1321142 - remove SeekingState::mVisibility; r=jwwang
MozReview-Commit-ID: 2hCNDnVJ6k0

--HG--
extra : rebase_source : 8aa07563bec07d4d9fc95ba0e8fb466d1ef6c377
2016-11-29 18:41:04 +08:00
Kaku Kuo b07884be80 Bug 1321140 - don't clamp up the SeekTarget again in the AccurateSeekTask's constructor; r=jwwang
MozReview-Commit-ID: KQro2Sk1dRg

--HG--
extra : rebase_source : 513a1ca1262defb905fd2c891d443b05b418632f
2016-11-29 17:59:22 +08:00
Kaku Kuo 5883da3dd7 Bug 1320466 part 7 - remove callbacks of SeekTask; r=jwwang
MozReview-Commit-ID: KwyWGVG4NYG

--HG--
extra : rebase_source : 9771b318a9bf7b4a1ad8dea82624fa3146d9728f
2016-11-26 15:01:45 +08:00
Kaku Kuo 88081b6f24 Bug 1320466 part 6 - dispatch {not-}decoded and {not-}waited events from SeekingObject to SeekTask; r=jwwang
MozReview-Commit-ID: 3rzKd5GZBA6

--HG--
extra : rebase_source : 472d0642064ea2743ac8244828aae0b07891c228
2016-11-26 14:56:19 +08:00
Kaku Kuo fcb436b30c Bug 1320466 part 4 - delegate OnAudioWaited, OnVideoWaited and OnNotWaited events to state objects; r=jwwang
MozReview-Commit-ID: I5tFVziVE02

--HG--
extra : rebase_source : 336fb6a1ea7020c1df0a18ab114a08d4cd4e5ead
2016-11-26 14:12:01 +08:00
Kaku Kuo cd95ac4f30 Bug 1320466 part 3 - implement OnAudioWaited(), OnVideoWaited() and OnNotWaited() callbacks in MDSM; r=jwwang
MozReview-Commit-ID: JA83a23p0Fd

--HG--
extra : rebase_source : dee131eb375c908f584ab7e8d1c42080b9e92cc6
2016-11-26 13:50:51 +08:00
Kaku Kuo 011ca5f67b Bug 1320466 part 1 - delegate OnNotDecoded event to state objects; r=jwwang
MozReview-Commit-ID: ChomOsqYo1d

--HG--
extra : rebase_source : 52d62f56c4eba0c36a8ee3a342bb55e853cb1759
2016-11-26 12:50:01 +08:00
JW Wang 924d486e84 Bug 1319706. Part 3 - remove the assertion that is no longer valid. r=kaku
MozReview-Commit-ID: FgmMTw7cy1w

--HG--
extra : rebase_source : 44ba27b2cb3cb555e03d424d7d5a3747cf198aee
extra : intermediate-source : f70d9634b839896110f2c90d30a00319b77e12d7
extra : source : c23e236ea2b3718e945b51fbf897ccae28a5c4a6
2016-11-24 14:51:00 +08:00
JW Wang fcb5a01a17 Bug 1319706. Part 2 - remove the SeekJob parameter from DecodingFirstFrameState::Enter(). r=kaku
MozReview-Commit-ID: ACea0NLMRLn

--HG--
extra : rebase_source : 1696a46a421d22262ae048ff5328e6643b4bad9b
extra : intermediate-source : 3798077282652f1603946c95a46d9922c6bb387c
extra : source : be5b5a3e81dee3880f0a82cb0d3fc08564328e45
2016-11-23 17:56:12 +08:00
JW Wang 7298031ae0 Bug 1319706. Part 1 - remove DecodingFirstFrameState::mPendingSeek since it can handle seek requests immediately. r=kaku
MozReview-Commit-ID: I2lI63s46GQ

--HG--
extra : rebase_source : d702fbf9df841c18e3e1a239c6cc6226962f4550
extra : intermediate-source : 9d04eecdff11d055c2924b17c435b9b8aa1fb685
extra : source : ff0d8dde1bd4165f58f064d0320b042c922b0764
2016-11-23 17:48:48 +08:00
JW Wang 6a43760ea7 Bug 1320258. Part 2 - remove MediaDecoderReader::UpdateBufferedWithPromise(). r=jya
Bug 1313635 ensures buffer ranges are updated before resolving metadata.
So we can revert the changes in bug 1251460.

MozReview-Commit-ID: Ek0sgPpv92s

--HG--
extra : rebase_source : 79b457167d5b987280083364afe31b31860b48fe
extra : intermediate-source : 9205ca61bb2255e33744af7ec4e13059f275960c
extra : source : 14d155274dc4e0d2daa8a90b1bbb15f975d7ac24
2016-11-25 16:22:55 +08:00
Gerald Squelart 6f89459f93 Bug 1313497 - Use InvokeAsync with Storages in MediaDecoderStateMachine - r=jya
Thanks to this, MediaDecoderStateMachine::Seek can take SeekTarget by const&.

MozReview-Commit-ID: 97mLndCosQc

--HG--
extra : rebase_source : f940ea4cd1a9470d756f0d43bd680d75f16ce4fa
2016-11-13 16:23:39 +11:00
JW Wang 109db02de3 Bug 1319698 - Remove MediaDecoderReader::SetIdle(). r=jya
MozReview-Commit-ID: ArGqum1MSIO

--HG--
extra : rebase_source : fddf43d270607c1ed4bab938b9d8b5f83dd0f8fb
2016-11-23 17:30:31 +08:00
James Cheng 11730376d7 Bug 1318225 - Part2 - Remove demux-only APIs. r=jya
MozReview-Commit-ID: ONS7mMr8mZ

--HG--
extra : rebase_source : a5ea2b94c664766064ca0c765347b4d8cd798cd2
2016-11-17 15:23:07 +08:00
Kaku Kuo 0d5f209362 Bug 1309516 part 9 - make sure that MDSM::mDuration is always assigned once we have meatadata; r=jwwang
MozReview-Commit-ID: KF7J1XGo2MD

--HG--
extra : rebase_source : a699ed11ad21aad9687c15fb3f3b37c4d56298ce
2016-11-01 17:10:03 +08:00
Kaku Kuo 04d17fcd76 Bug 1309516 part 8 - modify MDSM::RecomputeDuration();r=jwwang
MozReview-Commit-ID: 6pM7Kn3kZco

--HG--
extra : rebase_source : 5a9afb75df8d81cef370b7f0997ef6d8fe3121c2
2016-10-24 15:04:52 +08:00
Kaku Kuo dd76514a9c Bug 1309516 part 7 - modify the seek operation;r=jwwang
MozReview-Commit-ID: AZ9yK050ElM

--HG--
extra : rebase_source : 17b1e1ca2a28730420125c6c25e7c3573d883f4e
extra : source : 838786e0d0e26958e75a129a872e378bc21a7c4a
2016-10-16 22:15:29 +08:00
Kaku Kuo 52cd73d84a Bug 1309516 part 4 - always notify LoadedMetadataEvent before decoding first frame;r=jwwang
MozReview-Commit-ID: 4VcmELgvAjC

--HG--
extra : rebase_source : 35d13b46d9f4aa2cedb2a7d341717545a70720f7
extra : source : 6d7f4bd76a754c3852a612b126b4643818eadddd
2016-10-16 21:49:07 +08:00
JW Wang af86c4853c Bug 1317201. Part 2 - remove unused members. r=cpearce
Thanks to P1, we can remove HasFutureAudio() which is tricky about
how much audio data is enough to say 'having future data'.

MozReview-Commit-ID: 8AihIZWtQzm

--HG--
extra : rebase_source : 721b13bd6ab3b5751c6a9ff494efc84a29ebee5c
extra : source : b40a3cb10a97df5a42c8e61bf1272a0931c1d18c
2016-11-15 16:48:06 +08:00
JW Wang 23ca2cc0a2 Bug 1317201. Part 1 - align next-frame-status updates with state changes of MDSM. r=cpearce
Note we remove the call to UpdateNextFrameStatus() from SeekingState::SeekCompleted()
because DecodingState::Enter() always switches to NEXT_FRAME_AVAILABLE.

MozReview-Commit-ID: Dv3NpudZwBB

--HG--
extra : rebase_source : 232f3a02dd46de4c4dfba4235e467f7866688841
extra : intermediate-source : 31ed0d7d6819eefaa1b5870553808def7f054318
extra : source : ef817b308d0b5db437d68db194cdd7ca3716b4dd
2016-11-10 16:35:48 +08:00
JW Wang 91c8b5507f Bug 1317576. Part 7 - remove the assertion that doesn't make sense anymore. r=cpearce
It is possible to call AudioEndTime() in CompletedState::Step() with MedisSink
not started at all. This happens when seeking to the end on a video only file.

MozReview-Commit-ID: 78P72DAPpWI

--HG--
extra : rebase_source : bc3b46ed526ce532f9bd1e23a86961c7a8513ead
2016-11-15 15:13:21 +08:00
JW Wang 23c537597f Bug 1317576. Part 6 - ensure 'playbackEnded' is notified when seeking to the end on a paused media element. r=cpearce
MozReview-Commit-ID: 4fzru2oHaPV

--HG--
extra : rebase_source : 0c2c3e639ec360fe5826cd5bbcd2f0879fa3f158
2016-11-15 12:06:17 +08:00
JW Wang 1927c644dc Bug 1317576. Part 5 - run Step() in CompletedState::Enter() without scheduling an additional cycle. r=cpearce
MDSM might have reached the end of playback. We want to notify 'playbackEnded' ASAP.

MozReview-Commit-ID: FYI6xTWuNSD

--HG--
extra : rebase_source : 293af7b1a550f36895e7c52f67372647027f9143
2016-11-15 11:54:52 +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 cb3fa81b1a Bug 1317576. Part 2 - always transition to DECODING when seek is done. r=cpearce
DecodingState::Enter() will check whether decoding is completed and transition to COMPLETED.

MozReview-Commit-ID: 5abPWWulGWo

--HG--
extra : rebase_source : 75e70116c09819d6319c8d51c5685df2b46fea95
2016-11-15 14:53:50 +08:00
JW Wang e130632c8a Bug 1317576. Part 1 - add some helper functions. r=cpearce
MozReview-Commit-ID: FNWmQohsDRq

--HG--
extra : rebase_source : a6678e3a49d914c2dd41cbfb1578fb1ff1303f26
extra : source : cb88a84b569073406516c6e7f588362c68c29f99
2016-11-14 16:31:48 +08:00
JW Wang b92123ae34 Bug 1314554 - Don't enter dormant when the media is not seekable. r=jya
This change deals with chained ogg files. A decoding error is encountered
even without seeking when exiting dormant. For now, we disable dormant
for there files that are not seekable to avoid playback looks broken
(due to decode error when exiting dormant) on Firefox.

MozReview-Commit-ID: 72axKPHwoIi

--HG--
extra : rebase_source : f6b27da3d7c0428401d4c0a72f716be5739c5055
extra : source : ea0b9c2dd90206ed4fa41f4eb7446dd9b740e899
2016-11-09 14:21:16 +08:00
JW Wang 2c832d60f3 Bug 1314219. Part 2 - remove unused watchables and fix some comments. r=cpearce
MozReview-Commit-ID: 6F6WSq3aE2w

--HG--
extra : rebase_source : 31f61ffb1539b9f7b06cd2196b12d8ae7647f08b
extra : intermediate-source : 0736b0acc9c459b3dd1ce5e4d9e450b7a495747b
extra : source : e532b9a8c5fcc58d73ae0426a93a56050c2a4de9
2016-11-03 18:01:09 +08:00
JW Wang 263f6fa47c Bug 1314219. Part 1 - align next frame status updates with state changes of MDSM. r=cpearce
We want entering/exiting dormant to be transparent to the media element. So we don't
change next frame status when entering/exiting dormant.

MozReview-Commit-ID: DCWxAGZ9sVw

--HG--
extra : rebase_source : 80131199556ed7b3338155d96970193ff313ac1f
extra : intermediate-source : 8fe29ca11789d8e2b5aa57c578be1a65e7fefdf4
extra : source : 3aab523e17402eecb56edbb74b00201d924c6010
2016-11-03 17:09:10 +08:00
JW Wang 8055ca2d43 Bug 1314884. Part 6 - remove SeekTarget::mEventVisibility. r=kaku
Note it is fine to always assume MediaDecoderEventVisibility::Observable in SeekJob::Resolve()
because no one will wait for the promise of internal seeks (where EventVisibility::Suppressed is passed).

MozReview-Commit-ID: Dx7AF5VhLmL

--HG--
extra : rebase_source : 517669ed4f10a136b8a2f8eafd76f26f4ad5d8e4
extra : source : 57cdd8d14c59a2f1f0eed0635814de661127ad70
2016-11-03 15:34:11 +08:00
JW Wang 6d97664f3c Bug 1314884. Part 5 - pass StateObject::EventVisibility to SeekingState::Enter() to indicate whether to publish events during seek. r=kaku
Note EventVisibility::Suppressed is used by internal seeks only like video-only seek or exit-dormant seek.

MozReview-Commit-ID: 6jlCWRJsmdI

--HG--
extra : rebase_source : db0541c959ffde647e55f563ccd109514c3780f3
extra : source : da7197e5c7d6559efb43c36dcb137c7c2a8ae55f
2016-11-03 15:32:51 +08:00
JW Wang 3337614dbc Bug 1314884. Part 4 - extract the code of HandleSeek() to the parent class. r=kaku
DormantState, DecodingState, SeekingState, BufferingState and CompletedState have exactly the same implementation of HandleSeek().
We can extract the code to avoid duplication.

MozReview-Commit-ID: 8maxjtLoQ1Q

--HG--
extra : rebase_source : 1550e372a4631fddf43c56df87e21b4b14fb3ef3
extra : source : b0d334aba575aed3efc19ab3cf0a66c21f2f478e
2016-11-03 15:21:48 +08:00