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

1181 Коммитов

Автор SHA1 Сообщение Дата
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
JW Wang b888d766cb Bug 1314884. Part 3 - remove the call to |mPendingSeek.RejectIfExists(__func__)| from DormantState::HandleSeek() since it will be rejected in Exit() before transitioning to SEEKING. r=kaku
MozReview-Commit-ID: A5HE03q87Ey

--HG--
extra : rebase_source : 6ef593f21d40f3ba6bef5e69d925d9d141548afe
extra : source : eadfd6cc3f0b2370bd85bff0d7019d41f6006f2b
2016-11-03 15:15:13 +08:00
JW Wang 05d2b9b904 Bug 1314884. Part 2 - Let DORMANT transition to SEEKING when play state changes to PLAYING since we need to seek anyway whenever exiting dormant. r=kaku
MozReview-Commit-ID: 9d7Gea1iclh

--HG--
extra : rebase_source : d7d8b408580e9163635a81fd009605252ac80d21
extra : source : fbcf1a7326fd1749cc9141cf446eea904f46a92d
2016-11-03 15:02:22 +08:00
JW Wang 314f08257b Bug 1314884. Part 1 - move the calculation of seek target into DormantState::Enter() so we don't need to pass a SeekJob to the function. r=kaku
MozReview-Commit-ID: FyFp509dxwl

--HG--
extra : rebase_source : 4d6d229de4871d11b690b28b5b96463cc3b27973
extra : source : 9d718f819b6a79b67b0125972b8419b99021b75f
2016-11-03 14:54:40 +08:00
JW Wang 5f8412ccde Bug 1314552. Part 1 - update mMediaSeekableOnlyInBufferedRanges in OnMetadataRead(). r=jya
MozReview-Commit-ID: DPlD6zrJTrx

--HG--
extra : rebase_source : 1392b1f189b6aef4dfa1da0e32d25f1f6226cf85
extra : intermediate-source : 8464eeceb7f4f21de08e8995120e940f1267d8f0
extra : source : 741f2b4d36bc265f1dbd5b6994a7cc301b05b381
2016-11-02 17:21:52 +08:00
JW Wang b1c45ef3ef Bug 1314535. Part 1 - listen to MediaDecoderReader::OnMediaNotSeekable() to update mMediaSeekable. r=jya
MozReview-Commit-ID: JK0qnMoljyp

--HG--
extra : rebase_source : cb64edcc5693a73c1770daa6151a4163adbec38e
extra : source : 485e6a18492a0dbd92320503599063c29bdb521e
2016-11-02 15:52:15 +08:00
JW Wang 773de1bc4b Bug 1314526. Part 6 - fix HandleAudioCaptured(). r=kikuo
MozReview-Commit-ID: L8z35AVdU8Y

--HG--
extra : rebase_source : f0a37768a2d23f519171d8729dedb160dbffb3ac
extra : intermediate-source : 12eefc1a8663c976a8183597d7e944b957e2a6e9
extra : source : 09aecca7dfea9baed1c715285ec2448b4acff7bf
2016-10-28 16:33:08 +08:00
JW Wang 466eda2566 Bug 1314526. Part 5 - fix HandleWaitingForData(). r=kikuo
MozReview-Commit-ID: KHPpdZFt9Tt

--HG--
extra : rebase_source : 12d564ab1d18cca653e76edd449cd8252c41fa1e
extra : intermediate-source : 49b3e1eafd36f78d06c0dc4e54b696c8b903d952
extra : source : 75f88468a2fce533dc24bc92e7edad3288cf4577
2016-10-28 16:31:54 +08:00
JW Wang a861b5771e Bug 1314526. Part 4 - fix HandleEndOfStream(). r=kikuo
MozReview-Commit-ID: Kg3xAuX9FPf

--HG--
extra : rebase_source : 5d6fc162b1014b4bb2539708289e061ae011d5f8
extra : intermediate-source : 802f6a69fddaeadf51af120bf9fc92137c9db942
extra : source : 08417e5475844ffaed226b28a0c4c044b75b72ab
2016-10-28 16:30:52 +08:00
JW Wang 2fe59b5ad7 Bug 1314526. Part 3 - fix HandleVideoDecoded() r=kikuo
MozReview-Commit-ID: 3d3FFCupF3a

--HG--
extra : rebase_source : 8845476af8b4eced425655e5b889fab97c8e7bd4
extra : intermediate-source : 829949cf3d1d98809e781944cc9cd6c3c60b2e32
extra : source : aa2fdff8a0375fd243f9693a052db701003bd85e
2016-10-28 16:28:51 +08:00
JW Wang a2c26ccc8a Bug 1314526. Part 2 - fix HandleAudioDecoded(). r=kikuo
MozReview-Commit-ID: 1jbZz5m9uR2

--HG--
extra : rebase_source : 6ca65253bca13c36de542bd9410eb3a16b00574a
extra : intermediate-source : 3ac15d1f7c5c36d0f3f0086ff491414101a5ad3b
extra : source : 2ec452b92d37902ea4f58f88dbeb49cea13d6ebd
2016-10-28 16:27:19 +08:00
JW Wang 2afb7996af Bug 1314526. Part 1 - fix HandleCDMProxyReady(). r=kikuo
MozReview-Commit-ID: 9PyeBUXadud

--HG--
extra : rebase_source : 059a8062dead06d5d7b374cbd61a4ce088fad3c2
extra : intermediate-source : d12c00029cb702f6d598e9c31a42c6f62cd267da
extra : source : efd43515bacde79487dcbe481d1830cd673e67b2
2016-10-28 16:25:44 +08:00
JW Wang 46da6fe2da Bug 1314524. Part 7 - fix comments about dormant. r=kaku
MozReview-Commit-ID: 5qFuMRMLqEr

--HG--
extra : rebase_source : 1a387cda06c78b9bc952c4548c0e008c67b0cc2c
extra : intermediate-source : a2d08118ac9ab3f01d0f4cf5604197c17687537c
extra : source : 03f79104b7b0e5848636f47129c7b5249dc46382
2016-10-28 16:20:15 +08:00
JW Wang f64810f62f Bug 1314524. Part 6 - remove unused mPendingDormant. r=kaku
MozReview-Commit-ID: 6B5mNoPk9tg

--HG--
extra : rebase_source : 174b4260b7d5246304a0c4bba47e65a30a30042e
extra : intermediate-source : f29a86be002d1a7e19a96cb72f9cc7d6cdc8d041
extra : source : f8e38ee62406c0e79f4f1015bb9e8d1567b75354
2016-10-28 16:16:53 +08:00
JW Wang a69de73069 Bug 1314524. Part 5 - remove unused HandleDormant() functions. r=kaku
MozReview-Commit-ID: 8NRwInXS0uU

--HG--
extra : rebase_source : b711a82a76c0cb10356b8df27db7614c23c8f83d
extra : intermediate-source : 7f5008d53911e1f375d5b5e756bfce0da0424110
extra : source : dc16d9c982984f8e052e57016bcddd80d7a55114
2016-10-28 16:14:14 +08:00
JW Wang 35a1c10d03 Bug 1314524. Part 4 - remove DormantState::HandleDormant(). r=kaku
MozReview-Commit-ID: JSkpvglJzpN

--HG--
extra : rebase_source : 973188fccc77fca8fbbe6d9f36d244845f3f40f8
extra : intermediate-source : 9a8179f25a2f1a9c51f97506a9a329aa6ae51dce
extra : source : 89332d2e561395efa12385c264c4a9d32169ff98
2016-10-28 16:10:49 +08:00
JW Wang 94da1177a0 Bug 1314524. Part 3 - add DecodingState::EnterDormant(). r=kaku
MozReview-Commit-ID: 6YbO61mWqnj

--HG--
extra : rebase_source : ca6fbce006af4ce1a2e62b854532a71bb454340c
extra : intermediate-source : b11dd277cc918be5e7b0ab7cfc66e53178123135
extra : source : 83e3d18f31043f35be6a7a12ddc0cd08ff593f7b
2016-10-28 16:05:52 +08:00
JW Wang ba75e21f0c Bug 1314524. Part 2 - devirtualize StateObject::HandleDormant(). r=kaku
MozReview-Commit-ID: D99L6Ioy6PJ

--HG--
extra : rebase_source : fc5e74b89b24d3ec05d728c92dce07575342afbb
extra : intermediate-source : 49336fedcb59f7e1264612cf9af7897164290650
extra : source : c64e21f8a16a74a931cf75d42c8c5278738ee534
2016-10-28 16:02:11 +08:00
JW Wang 43a41d07fa Bug 1314524. Part 1 - remove MDSM::SetDormant() which has no callers. r=kaku
MozReview-Commit-ID: KQ7pZlCGqW8

--HG--
extra : rebase_source : d811a4199f0243a83271543ca1ff34ea01c950c1
extra : intermediate-source : e02b05d0e55d357c404d886e0b290ec4ca01a83c
extra : source : a3bede39ee4942c2531e960e56e0af94b9d621ff
2016-10-28 16:00:23 +08:00
Sebastian Hengst e29f35ee17 Backed out changeset 804308421d74 (bug 1309516) 2016-11-05 11:00:20 +01:00
Sebastian Hengst b7af1e68a5 Backed out changeset 3686da2395b9 (bug 1309516) 2016-11-05 11:00:08 +01:00
Sebastian Hengst c3be8c3ff6 Backed out changeset cb6854f262a0 (bug 1309516) 2016-11-05 11:00:04 +01:00
Sebastian Hengst b2e3ee3d4f Backed out changeset 9d1487ccc2e3 (bug 1309516) 2016-11-05 11:00:00 +01:00
Kaku Kuo ae76acefc8 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 : 38284eb8be14bdc4c4fd1c5a27de1bf91be8cb8e
2016-11-01 17:10:03 +08:00
Kaku Kuo 09386af96e Bug 1309516 part 8 - modify MDSM::RecomputeDuration();r=jwwang
MozReview-Commit-ID: 6pM7Kn3kZco

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

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

--HG--
extra : rebase_source : 49863e7d6580e7d0481f6700054e44b61a3446fa
extra : source : 6d7f4bd76a754c3852a612b126b4643818eadddd
2016-10-16 21:49:07 +08:00
JW Wang c53169bf84 Bug 1311872. Part 4 - exit dormant in response to user actions. r=cpearce,jya
MozReview-Commit-ID: CTXUlpfLNBQ

--HG--
extra : rebase_source : 5176223fc8162fa0aa3dd1b7d9c326fd74470a22
extra : intermediate-source : c0411410d55f8ae08439682004d451eb88777e82
extra : source : 6d3434d15b1ea63635db43f39ed95b0b3ff9b5be
2016-10-21 15:52:17 +08:00
JW Wang 2d31845215 Bug 1311872. Part 3 - enter dormant when being paused for a while. r=cpearce,jya
MozReview-Commit-ID: HJjhFebQ8WI

--HG--
extra : rebase_source : 4d1c68c2ce2d4b156d962c61d24b8fe1d4cbae0e
extra : intermediate-source : f45501530b47ad269f471e58d711d34267478cfa
extra : source : 3cd38509ca63b789bfc6325222e7ef80133958ec
2016-10-20 14:45:05 +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
Dan Glastonbury 73236599be Bug 1313955 - Dormant recovery seek uses wrong time. r=jwwang
Dormant mode is setting recovery seek to MDSM::mCurrentPosition which
doesn't match what MediaSink position which is used to leave the last
frame in the image container.

Switch to using mMediaSink->GetPosition for dormant recovery seek
target.

MozReview-Commit-ID: 7YLecRR8XrN

--HG--
extra : rebase_source : e8b381152923ab8e33ec036fc47c27f1f7600545
2016-11-01 10:04:04 +10:00
JW Wang 9be13f02e3 Bug 1312337. Part 4 - remove ReaderQueue and its friends. r=jya
MozReview-Commit-ID: Gg4IOPdjEeS

--HG--
extra : rebase_source : 318feb3ce9f84761925c705bfdddbc03a20b10bb
extra : intermediate-source : afd483164d7e4801d320683fe87404284a972f4f
extra : source : bea439fcb268af70b1cbcde7169d9184df167242
2016-10-27 16:06:05 +08:00
Phil Ringnalda 21ca7c1c21 Backed out 8 changesets (bug 1309516) for Win8 wpt failures in content-security-policy/media-src/media-src-7_3.html
Backed out changeset 5cb98008b3e3 (bug 1309516)
Backed out changeset 9ddc65900391 (bug 1309516)
Backed out changeset a876261d2d38 (bug 1309516)
Backed out changeset a154fa107dd3 (bug 1309516)
Backed out changeset 35d6e08883d6 (bug 1309516)
Backed out changeset e39be827b220 (bug 1309516)
Backed out changeset 970694b0b279 (bug 1309516)
Backed out changeset 90409a433f31 (bug 1309516)
2016-10-28 18:47:49 -07:00
Kaku Kuo 235ffd3551 Bug 1309516 part 8 - modify MDSM::RecomputeDuration();r=jwwang
MozReview-Commit-ID: 6pM7Kn3kZco

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

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

--HG--
extra : rebase_source : fe28ba2732866209f6fb84e3f10dfc57d00cba45
extra : source : 6d7f4bd76a754c3852a612b126b4643818eadddd
2016-10-16 21:49:07 +08:00
JW Wang 06ad2f57ac Bug 1313551 - fix the traling return type of StateObject::SetState() so it can be indexed correctly by Eclipse. r=JamesCheng
MozReview-Commit-ID: 8FQuSJ0pgrB

--HG--
extra : rebase_source : e146562121074003c131dc5073c2c70a607dd138
extra : source : 06470b202b780006db9548031d81c02b4a60c04e
2016-10-26 13:56:08 +08:00
Jean-Yves Avenard ed6fae307d Bug 1312886: P4. Override MediaResource reporting if we have a pending promise. r=jwwang
A future use will see the MediaFormatReader using waiting promise to indicate that the decoders are waiting for an EME key.
We should always enter buffering mode once we're low on data and we're waiting on a key.

MozReview-Commit-ID: DFcT6YEK1Ke

--HG--
extra : rebase_source : 806bf55bb2394d2e07d446860a14bebf699b0195
2016-10-27 20:19:42 +11:00
Jean-Yves Avenard 7c88ceb9a4 Bug 1312886: [MSE] P3. Only rely on waiting promise to determine buffering state. r=jwwang
MozReview-Commit-ID: 3HfK8bwqlYM

--HG--
extra : rebase_source : ca44d3ef57165f9764ff57a4932065f19e379e3f
2016-10-27 20:16:30 +11:00
JW Wang e7438b8db1 Bug 1311924 - Handle play state changes in state objects of MDSM. r=kaku
Note we remove the comments that are no longer valid and we call
ScheduleStateMachine() only for DecodingState and CompletedState.

1. DecodingFirstFrameState doesn't implement Step(). It doesn't
make sense to schedule next cycles.

2. BufferingState doesn't care about the play state since it will
never start playback.

MozReview-Commit-ID: 6KRxkzsi5WX

--HG--
extra : rebase_source : d0dd1076f072875fe00718f7532bcf8030512141
extra : intermediate-source : bfdabfb0cfedafc744fa395a541d4f77e2cd20db
extra : source : 42537addfda7331ccb04585f246a15d809b8cf10
2016-10-21 14:53:18 +08:00
JW Wang fe23b37cf3 Bug 1312321. Part 2 - make SetState() protected again. r=JamesCheng
MozReview-Commit-ID: BlYO8U28gVQ

--HG--
extra : rebase_source : 203cabd64989b40af4504088ff427a0cebfcb96a
2016-10-24 11:47:51 +08:00
JW Wang a1fa6db84e Bug 1312321. Part 1 - make StateObject::SetState pass-by-value. r=JamesCheng
MozReview-Commit-ID: 34Y4bNAGmbk

--HG--
extra : rebase_source : 64d0765dadd4f2fac979dcd28f5382aace5d13d6
2016-10-24 11:43:57 +08:00
JW Wang 6cd0511a40 Bug 1311594 - Release decoders when MDSM has decoded all audio/video frames. r=cpearce
MozReview-Commit-ID: LoFgTYebYaj

--HG--
extra : rebase_source : 9ebc0f76ad75ca4ebd0cbe1e0cf668c82ab4ce2b
extra : source : 36896fb8c49af3d017763be1a0c3970986986b58
2016-10-11 17:30:25 +08:00
JW Wang 8921e3dab6 Bug 1308147. Part 6 - remove unused MDSM::mQueuedSeek for there is no code to modify it. r=kikuo
MozReview-Commit-ID: BlQydjfm4DI

--HG--
extra : rebase_source : 56c61685973059ce79845bb5536aa2373db52eac
extra : source : d232ec41605f08821ea9ca99af4ba762968a995e
2016-10-19 18:27:50 +08:00
JW Wang 41648a7e80 Bug 1308147. Part 5 - reject mPendingSeek in DormantState::Exit(). r=kikuo
MozReview-Commit-ID: HfQCWBNtUwZ

--HG--
extra : rebase_source : ebae0bc2c8c91a859eb254f5fa1c947abc869ed3
extra : source : 69296a28551d1e2d1013790e2cfd7e063beea246
2016-10-19 18:12:06 +08:00
JW Wang a05dfac69c Bug 1308147. Part 4 - reject mPendingSeek in WaitForCDMState::Exit(). r=kikuo
MozReview-Commit-ID: H7ChCplXhBM

--HG--
extra : rebase_source : a55da8f58bdd9479672b9f48cc569b01136a301c
extra : source : e88328340a21b97f059c41d5f9a67fd7275379b2
2016-10-19 18:09:07 +08:00
JW Wang 5b97d25789 Bug 1308147. Part 3 - add DecodingFirstFrameState::mPendingSeek to store a pending seek job. r=kikuo
MozReview-Commit-ID: 4TMwk6q67go

--HG--
extra : rebase_source : d4e413492d1a703f27e3cb97aee789b4a9405972
extra : source : 83ee4f96ba2903efbda0bfc80b43d06bed57c680
2016-10-19 17:56:20 +08:00
JW Wang 854dc50a5c Bug 1308147. Part 2 - add DormantState::mPendingSeek to store a pending seek job. r=kikuo
MozReview-Commit-ID: oySkHWuYo3

--HG--
extra : rebase_source : d15883048fe64fbd8fcd5d00b4b5bd29f3c1aa3b
extra : source : 773bda0269ece927e19cefdc459e1d808b05d2b2
2016-10-19 15:35:29 +08:00
JW Wang c218e0acd8 Bug 1308147. Part 1 - add WaitForCDMState::mPendingSeek to store a pending seek job. r=kikuo
MozReview-Commit-ID: LmSSm98k9Ze

--HG--
extra : rebase_source : c399eb57bdf1539de6b89f0d6ddc824c1a3df82c
extra : source : 4745002f7a74589ed17098bd0daf22f359e18a74
2016-10-18 17:36:49 +08:00
JW Wang f7791e7d66 Bug 1311901 - document the internal states of MDSM. r=kaku,kikuo
MozReview-Commit-ID: 4fNJcjk6aMI

--HG--
extra : source : dc3b596f11157cfd17db6f407705c0ed5dae410e
2016-10-21 11:37:00 +08:00
JW Wang 6325e94bc6 Bug 1311267 - DecodingFirstFrameState should override HandleDormant(). r=kikuo
MozReview-Commit-ID: LGcvRJF3cNC

--HG--
extra : rebase_source : 486f363e33756eaeea8336811fa4c9d3753da1b6
2016-10-19 14:25:42 +08:00
JW Wang 95a229468e Bug 1310140. Part 13 - handle resuming video decoding in various state objects. r=kaku,kamidphish
Note StateObject::HandleResumeVideoDecoding() doesn't check mIsReaderSuspended
because if the reader is suspended, MDSM must be in the dormant state and won't
resume video decoding.

MozReview-Commit-ID: FY4rdFmk56C

--HG--
extra : rebase_source : 000837b59944ad3f2efb12a367d7cc12c7a6deab
extra : source : a11fd583471f8a8e496a3152bb73bc17c6345a63
2016-10-18 14:56:36 +08:00
JW Wang 9f67fc7996 Bug 1310140. Part 12 - move the HasVideo() check into HandleVideoSuspendTimeout(). r=kaku,kamidphish
If MDSM becomes invisible while decoding metadata, VisibilityChanged() will return early
because mInfo is still nothing. And MDSM will never suspend video decoding if there are no
visibility changes later. We should delay the check util the timer goes off and MDSM
needs to switch on the blank decoder.

MozReview-Commit-ID: Ids9MncpC2l

--HG--
extra : rebase_source : 77ab76b09bae3dec3447950a8f0a7fcffff565b7
extra : source : 4527aed6f0b4f3ac11981df4517adacf9a43b4a2
2016-10-18 14:07:07 +08:00
JW Wang 7290b9911b Bug 1310140. Part 11 - make StateObject::HandleVideoSuspendTimeout() pure virtual for all sub-classes override it. r=kaku,kamidphish
MozReview-Commit-ID: 2uZHm3NZIFV

--HG--
extra : rebase_source : a6896a66d27a5ec79d9b0ef947d21d4a4d68e540
extra : source : c6f485abfafe186ac2ebf098e1079700e5c9ae8f
2016-10-18 13:58:34 +08:00
JW Wang d616baaf20 Bug 1310140. Part 10 - have SeekingState handle suspend-video-decoding. r=kaku,kamidphish
MozReview-Commit-ID: DRGfP3VN2OG

--HG--
extra : rebase_source : 6bca452d4612a1af4c929108dd9e21bf4d00465b
extra : source : a73b62cfa9b3dec2010c551a235affb7650603d4
2016-10-18 11:11:38 +08:00
JW Wang 7d1e644a36 Bug 1310140. Part 9 - add ShutdownState::HandleVideoSuspendTimeout(). r=kaku,kamidphish
MozReview-Commit-ID: GBXL3U1uxFW

--HG--
extra : rebase_source : bf9321aa3092a9191b6611d7a8649184b2947932
extra : source : 7bbb6ab44a58373f6fba7c3020a7420a71336c9c
2016-10-18 10:55:56 +08:00
JW Wang 8654f08816 Bug 1310140. Part 8 - add CompletedState::HandleVideoSuspendTimeout(). r=kaku,kamidphish
MozReview-Commit-ID: LOrecImz2Cr

--HG--
extra : rebase_source : e5b4033e8dc20589feb3f2da29b6d94eb62b48f2
extra : source : c3525d516776f45a7a64167a531baa32e408a516
2016-10-18 10:54:39 +08:00
JW Wang 74368ea173 Bug 1310140. Part 7 - add BufferingState::HandleVideoSuspendTimeout(). r=kaku,kamidphish
MozReview-Commit-ID: IAhR9v3svpT

--HG--
extra : rebase_source : 5805eca3e39b935e94d4c6f74bea7a9e8ad4fd3c
extra : source : b3b13ceea5ec88616eab1b0562816ac5bb5240c0
2016-10-18 10:52:24 +08:00
JW Wang c55316ec90 Bug 1310140. Part 6 - have DecodingState handle suspend-video-decoding. r=kaku,kamidphish
MozReview-Commit-ID: 3GxHdxZCiwE

--HG--
extra : rebase_source : f20e140c43b186b2c97a348e9e4517cdb67d9d0c
extra : source : 666b4bf34139383276cde9f91c6210274319e344
2016-10-18 10:48:46 +08:00
JW Wang 18399ecab8 Bug 1310140. Part 5 - add DecodingFirstFrameState::HandleVideoSuspendTimeout(). r=kaku,kamidphish
MozReview-Commit-ID: 9CAE5XOQFtQ

--HG--
extra : rebase_source : a4f227c1d3eb6e1e2fe1a353e565ea06447faea4
extra : source : ffe3c6d1e9dd68835cacd0f56ae0bf461f1e843c
2016-10-18 10:40:52 +08:00
JW Wang c74a365db4 Bug 1310140. Part 4 - add DormantState::HandleVideoSuspendTimeout(). r=kaku,kamidphish
MozReview-Commit-ID: GYBC3nS1PlF

--HG--
extra : rebase_source : 2cace04086029d37344e90fc25c284a398791025
extra : source : 019fa0c99035662e848b8f994b170669cf69c77c
2016-10-18 10:35:23 +08:00
JW Wang 6f363fd560 Bug 1310140. Part 3 - add WaitForCDMState::HandleVideoSuspendTimeout(). r=kaku,kamidphish
MozReview-Commit-ID: 9fPBDrt8Tgi

--HG--
extra : rebase_source : 2d10b4635cf1c4a832fdcdf404355b262974bd15
extra : source : 3bd862c75a34a93f26065b50204a4c7520ed2ebe
2016-10-18 10:33:37 +08:00
JW Wang 9a08090a96 Bug 1310140. Part 2 - add DecodeMetadataState::HandleVideoSuspendTimeout(). r=kaku,kamidphish
MozReview-Commit-ID: 5NCo9ooQEvU

--HG--
extra : rebase_source : 7ee8a78ea67a87a856fa2c9aa2ffcc39c0102cf9
extra : source : 9a6fa8c9893d4e7fd341e9d31846ff8992a1001b
2016-10-18 10:31:17 +08:00
JW Wang ba2f2c6e8e Bug 1310140. Part 1 - add StateObject::HandleVideoSuspendTimeout(). r=kaku,kamidphish
MozReview-Commit-ID: 1qyDJzogSR8

--HG--
extra : rebase_source : 7fe959ad96e27e6badda324838443cc05d155133
extra : source : a473724082b2f25601846bbf0ca8c796857a70ae
2016-10-18 10:29:14 +08:00
JW Wang 4bec362935 Bug 1310556 - keep |this| alive to avoid UAF. r=JamesCheng
MozReview-Commit-ID: 19glCcrheru

--HG--
extra : rebase_source : 30f97dea9b0433d27573bfb93b2d880cc9056f80
2016-10-17 14:23:52 +08:00
JW Wang 4ba6bbd9e5 Bug 1310537 - delay dormant handling until we exit WaitForCDMState. r=kikuo
The purpose of dormant state is to release decoders. we can delay handling dormant until we really need to decode.

MozReview-Commit-ID: GW4y8d40DLi

--HG--
extra : rebase_source : d915fafcf6e7f6c4456c1dd26f4178758572d25a
extra : source : 8fabc1fe05e348a15a671c1bbbf1e11562f80fe5
2016-10-14 15:15:18 +08:00
JW Wang f8b3c4b650 Bug 1310594 - MDSM::DumpDebugInfo() should dispatch the printing task immediately. r=kaku
MozReview-Commit-ID: 2FQlWJ0YnHJ

--HG--
extra : rebase_source : 34b46bb6beb718a9e6fc9996136236063f58293c
2016-10-17 16:22:34 +08:00
JW Wang c841d66e5e Bug 1310086. Part 3 - let SeekingState/ShutdownState::Enter() return a promise. r=kaku
MozReview-Commit-ID: 4TvsISriclT

--HG--
extra : rebase_source : c6557664b974f7cfd12848e152aab0499827b429
extra : source : f91fef194c601a5d63e835d00e69c30cd50a885e
2016-10-13 13:53:32 +08:00
JW Wang 8e136dd5e8 Bug 1310086. Part 2 - devirtualize StateObject::Enter() so it can have different parameters and return types for each subclass. r=kaku
MozReview-Commit-ID: 4RDL99rSIFD

--HG--
extra : rebase_source : 916fa5d52c6499acaa18b1b27ce770d5928562ee
extra : source : 2749279482798232c60dd1fe98cf179350882d19
2016-10-12 14:16:40 +08:00
JW Wang bfa7fbd6cc Bug 1310086. Part 1 - add an assertion to StateObject::SetState(). r=kaku
It can be proven that SetState() always transitions to a different state except for the seeking state
for it is possible to seek again in the middle of seeking.

MozReview-Commit-ID: 4bdkAelcZoO

--HG--
extra : rebase_source : 71c9f62f3827217cd985c446697aa3aa2d027cd5
extra : source : 510fa57f83ee80c63588a408b4d6e3d3a8014527
2016-10-12 14:04:25 +08:00
JW Wang 6c6fc5896a Bug 1309142. Part 2 - add StateObject::HandleShutdown(). r=JamesCheng
MozReview-Commit-ID: 64VPA1fxLzF

--HG--
extra : rebase_source : 271d75f4766dda88b2da68db6061cafda1e76295
extra : source : 3f62381eb06918fb2e591c245e96c519967cc59b
2016-10-11 16:20:23 +08:00
JW Wang 93a211fec5 Bug 1309142. Part 1 - move some code to the entry action of ShutdownState. r=JamesCheng
MozReview-Commit-ID: 81RgoNaTDVH

--HG--
extra : rebase_source : 726bf9e2c20ee049aebac26d4ddc053d5f3bc4a3
extra : source : 781a6c66fa81fc1928aa016f244302c19a5cbf9c
2016-10-11 16:10:14 +08:00
JW Wang f3aedb4375 Bug 1309136 - Move MDSM::MaybeStartBuffering into DecodingState. r=JamesCheng
MozReview-Commit-ID: 37cuIsA3j7F

--HG--
extra : rebase_source : e72eb4647f5b00dfcff4aa2e4edd744e0bb00e73
extra : source : 401d2d9b388c3c712a0c2980bdc10a8313d6680c
2016-10-11 15:54:33 +08:00
JW Wang 0b36e33035 Bug 1309116. Part 4 - fix remaining calls to MDSM::SetState() and remove unused functions. r=kaku
MozReview-Commit-ID: EytZ8qrQJRn

--HG--
extra : rebase_source : 9512a4842bf86330c1fee7afd9708e5761ff399f
extra : source : 4c5f19d7af733a9000b760ac35942ed109be3255
2016-10-11 14:58:29 +08:00
JW Wang ca4b714f23 Bug 1309116. Part 3 - replace InitiateSeek() with StateObject::SetState(). r=kaku
MozReview-Commit-ID: 3iXZ5r402rz

--HG--
extra : rebase_source : 8a7c61b2840f11d27a9e47314c1abdc99764a2ff
extra : source : c765531f33ccf1de728e4369d90af445f60f16d3
2016-10-11 14:56:52 +08:00
JW Wang 11177e21ce Bug 1309116. Part 2 - rewrite StateObject::SetState using variadic template. r=kaku
MozReview-Commit-ID: 3ofT2po9B4Q

--HG--
extra : rebase_source : 8603ebb4bb263d4fbe7df56e66e548e34d4148f1
extra : source : a232f3d9806de564f460cf83f71a54db46f0809f
2016-10-11 14:41:07 +08:00
JW Wang 70a2e4675b Bug 1309116. Part 1 - move some functions out of class definition because we need to see the complete definition when trying to 'new' an object. r=kaku
MozReview-Commit-ID: 3pOPiFeAnPI

--HG--
extra : rebase_source : 1a9a070a9384f33101d8807a806209da5b2654bd
extra : source : 59d5a453d6aa43441b6d02d880d834afa4af316d
2016-10-11 14:22:24 +08:00
JW Wang dd6efb8d23 Bug 1306551 - don't update playback position for video-only seek when seek is completed. r=kaku
MozReview-Commit-ID: 7vByX0pPNo

--HG--
extra : rebase_source : e8a818eb38c37c41060ec03ce6d31357bb15c218
extra : source : b0732e355e045fc859e740a996d98c54f5b8a61e
2016-10-06 17:06:58 +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 dd4edf6409 Bug 1307725. Part 8 - move DonePrerolling{Audio,Video} into DecodingState. r=kikuo
MozReview-Commit-ID: I173Qo7hH9X

--HG--
extra : rebase_source : 5d23e1c4599953644098b852cc6e413b554cc9ee
extra : source : c6f967679de1d4c6595de0bd8f27add588af5a6d
2016-10-05 17:40:01 +08:00
JW Wang 2484a7a911 Bug 1307725. Part 7 - move mIsPrerolling into DecodingState. r=kikuo
MozReview-Commit-ID: kHNnGepY53

--HG--
extra : rebase_source : 9f826ff50bfa6c8f282e18bd90d658dac64082c5
extra : source : ae8c423b9095e9ff71b9854bb865451f54e9c949
2016-10-05 17:30:38 +08:00
JW Wang 315755870d Bug 1307725. Part 6 - move mIsPrerolling out of MDSM::DumpDebugInfo(). r=kikuo
MozReview-Commit-ID: 3BkJIRcW5oV

--HG--
extra : rebase_source : 88a3ad0826af41564543811de1e0adfd072c2d69
extra : source : ba8d9d4ef2058de81aaeb9e6ce661d50cd90af43
2016-10-05 17:28:13 +08:00
JW Wang 8d17e94aef Bug 1307725. Part 5 - move the check of mIsPrerolling out of MaybeStartPlayback(). r=kikuo
Note CompletedState doesn't need to check this flag because prerolling should be done when entering the COMPLETED state.

MozReview-Commit-ID: 4Z7mFYf7wdR

--HG--
extra : rebase_source : fba2f8dfb7544225531e8b816154205d42cf9784
extra : source : 3335ed64b39859a2211017a5794ff46da2ce605c
2016-10-05 17:21:47 +08:00
JW Wang 6281d1257d Bug 1307725. Part 4 - move MaybeStopPrerolling() into DecodingState. r=kikuo
MozReview-Commit-ID: JiedugPhOMU

--HG--
extra : rebase_source : ec9f7e8c9d1291c64a2353ce9e00bf0cb5758c59
extra : source : 3e4313fc7b0f31f84faa64008103e9cc3b378f13
2016-10-05 17:15:27 +08:00
JW Wang e32e3565ca Bug 1307725. Part 3 - add StateObject::HandleWaitingForData to handle NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA. r=kikuo
MozReview-Commit-ID: 9SO9cwVMQK7

--HG--
extra : rebase_source : 098fe3aa4caa0b6f8f5a678a5cb220c8adfe3bbc
extra : source : 9677486f5f15509c721f2b496e1a7f6cc7b9a0bf
2016-10-05 17:11:41 +08:00
JW Wang 7b87fa2df9 Bug 1307725. Part 2 - handle prerolling in DecodingState::HandleEndOfStream() and move it to the public section. r=kikuo
MozReview-Commit-ID: DMlLV8KLXvQ

--HG--
extra : rebase_source : ece3213b5c2c1179bb1ec7bacb6fc7989a5702bb
extra : source : 871ad4af55ba397aa71508e404753c4057924f93
2016-10-05 17:07:55 +08:00
JW Wang 19ec826989 Bug 1307725. Part 1 - add StateObject::HandleAudioCaptured() to handle audio capture. r=kikuo
MozReview-Commit-ID: JoBQSte4MML

--HG--
extra : rebase_source : 93797079202f53f3bf6ade898ec0177e274e09d2
extra : source : a9a8e198d82df3c1d95d8e5ba67a4096028c77a7
2016-10-05 17:03:08 +08:00
JW Wang b387fd9352 Bug 1308603 - add some assertions to debug crash. r=kaku
MozReview-Commit-ID: DpWRbgwIzla

--HG--
extra : rebase_source : 07e54af87c5d9f13cdf05dad8d3e112bc2dc08cc
extra : source : 7761cbb3e9aae1756bc4cbc2acc6452c7e3d40a2
2016-10-11 11:11:42 +08:00
JW Wang b68b2a7505 Bug 1308078. Part 2 - no need to store mQueuedSeek in WaitForCDMState::HandleDormant. r=kaku
Because we haven't decoded any data and are at position 0, there is no need to seek when exiting the dormant state.

MozReview-Commit-ID: AKAcqW3HfRN

--HG--
extra : rebase_source : 45056ef8a67a2869b90ea3b1ab842bfca310b9aa
extra : source : 2dc17c8ca765eee1d05956b087804bb760af0e48
2016-10-06 15:11:45 +08:00
JW Wang 5e39aa3292 Bug 1308078. Part 1 - Don't decode metadata again when exiting the dormant state. r=kaku
MozReview-Commit-ID: JBzxcePE8F8

--HG--
extra : rebase_source : 8bc1c642a66adec57b38741132d5005f40e46cbd
extra : source : 55ef6ec6353b69cdc88240ce4c953a61054816df
2016-10-06 14:57:29 +08:00
JW Wang cfcd2ba433 Bug 1308071. Part 3 - early return from VisibilityChanged() if mInfo is nothing. r=kaku
VisibilityChanged() could be called before reading metadata.

MozReview-Commit-ID: F3OIiC4mXo3

--HG--
extra : rebase_source : 2ce037b5bbdd4a8e58a59c1efe1026339b492644
extra : source : bcc536974529f4e3330e297b2f8b10c0f9fc92c2
2016-10-06 11:28:01 +08:00
JW Wang 494375d074 Bug 1308071. Part 2 - remove unused members. r=kaku
MozReview-Commit-ID: J3OHVA3VeXA

--HG--
extra : rebase_source : b33a2cb596dc87d7c5ee3a1a4747238398514ce2
extra : source : f4b8a7ed803ba43babe13f2d84ef9271fedb1d60
2016-10-06 11:26:29 +08:00
JW Wang ecb238d94b Bug 1308071. Part 1 - Change the type of MDSM::mInfo to Maybe<MediaInfo>. r=kaku
MozReview-Commit-ID: 4rJfO1w9jYr

--HG--
extra : rebase_source : 48370e5fb9ebadc4bd70849222f93bb7fee2be21
extra : source : 8403aecdd90d12f00801a9cbf1d55f206a190894
2016-10-06 11:25:24 +08:00
JW Wang cb38cbf0c1 Bug 1308066 - remove mLowDataThresholdUsecs. r=kikuo
MozReview-Commit-ID: ZM2v6rsX2U

--HG--
extra : rebase_source : 7ed0c0ab322a7aef65c81fd768829e25f0ef1d5e
2016-10-05 16:17:17 +08:00
JW Wang bee52b4e3b Bug 1308065 - move mBufferingWait into BufferingState. r=kikuo
MozReview-Commit-ID: 9xs2OKcmg95

--HG--
extra : rebase_source : 00ad9a85c83f346d7a32e8f6e1a762e06a44b1a4
2016-10-05 16:15:17 +08:00
JW Wang 4e27fc1b6b Bug 1307699. Part 9 - replace mCurrentSeek with mSeekJob. r=kaku
MozReview-Commit-ID: KJVP7BExVEm

--HG--
extra : rebase_source : a090ebc066a3cae2ee4ba8ca1dc5d2e7e1f224fa
2016-10-05 15:33:44 +08:00
JW Wang 011da0beb5 Bug 1307699. Part 8 - move mCurrentSeek into SeekingState. r=kaku
MozReview-Commit-ID: LXzyK4U01VG

--HG--
extra : rebase_source : 7db01e3f68d57a0d0890b6032ab93d92cf9b1372
2016-10-05 15:25:56 +08:00
JW Wang 4723b76a55 Bug 1307699. Part 7 - remove null-checks for mSeekTask which is guaranteed to be non-null by Enter(). r=kaku
Also we don't nullify mSeekTask in Exit() because the state object will be deleted soon after Exit().

MozReview-Commit-ID: 9wTJ5yiZbhD

--HG--
extra : rebase_source : 88a0f6aecc32b0a36949048c68cb34a27192a361
2016-10-05 15:18:31 +08:00
JW Wang d621001b59 Bug 1307699. Part 6 - remove comments that are no longer valid. r=kaku
MozReview-Commit-ID: 3HYk4raLgDh

--HG--
extra : rebase_source : 4485f674814a71774f8af96a27aab76c82edeb9c
2016-10-05 15:15:57 +08:00
JW Wang 24c5c9be4b Bug 1307699. Part 5 - move mSeekTask into SeekingState. r=kaku
MozReview-Commit-ID: AdVCoOPDG4F

--HG--
extra : rebase_source : 02c2ae4aab3e083ea25b660e263d0f96583c7b14
2016-10-05 14:59:24 +08:00
JW Wang 52c66ad894 Bug 1307699. Part 4 - move DiscardSeekTaskIfExist() into the exit action of SeekingState. r=kaku
MozReview-Commit-ID: 9FDgZLHg8Wj

--HG--
extra : rebase_source : a9bd00682c8de6dae29a5ca0e9e5fd7988341cfe
2016-10-05 14:47:13 +08:00