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

674 Коммитов

Автор SHA1 Сообщение Дата
Chris Pearce ba9eb9c3bb Bug 1390748 - Create default MediaDecoder::GetMozDebugReaderData() implementation. r=jwwang
We have three implementations, in the MP4, WebM and MediaSource decoders.  The
WebM and MP4 are the same. Ogg and other decoders don't have an implementation,
but if we create a default implementation in MediaDecoder, they'll get it for
free. MediaSourceDecoder needs a custom override still.

MozReview-Commit-ID: AXxn2Xhn0Jn

--HG--
extra : rebase_source : 63513ce3b01546142357182f21fce56932b32f7f
2017-08-15 17:07:13 +12:00
Sebastian Hengst 51d351f567 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-10 17:41:11 +02:00
JW Wang ab74a61674 Bug 1388612. P2 - remove the call to NotifySuspendedStatusChanged() in MediaDecoder::FirstFrameLoaded(). r=gerald
Following P1, cache suspend status changes will be notified when necessary.
If not, it would be a bug that should be fixed. We shouldn't wallpaper the
issue by calling NotifySuspendedStatusChanged() manually.

MozReview-Commit-ID: 9EbybTiOOIO

--HG--
extra : rebase_source : 299e22c6813f4eeb152c4d8140dc295ff856dc1e
extra : source : 2b18fe0368c6332d0b5c1e044218a26c75314124
2017-08-09 16:13:51 +08:00
JW Wang af3ce851d6 Bug 1388612. P1 - remove MediaResource::EnsureCacheUpToDate(). r=gerald
This is a workaround to fix bug 687972. It should be OK now to remove
it since we have fix bug 1108960  where MediaCache failed to run the
update loop to update the suspend status of the stream.

MozReview-Commit-ID: MbInehhScs

--HG--
extra : rebase_source : 94345a00af31834db8b9858cdf5a9e889044156a
extra : source : 70f626894c3a15c8077f70425a97004478caa9e1
2017-08-09 16:07:53 +08:00
Matthew Gregan 89fde0ce0f Bug 1388236 - Remove B2G-only AudioChannel code from media playback. r=jwwang 2017-08-10 13:00:07 +12:00
JW Wang cf112f4b88 Bug 1388228. P6 - following P5, we are now able to move some methods that are related to nsIChannel to BaseMediaResource. r=gerald
So we reduce the number of unimplemented methods in the sub-classes of MediaResource.

MozReview-Commit-ID: EAmUEv9WQk8

--HG--
extra : rebase_source : deed5fd089e8c42a5a6ab0546e0781d0061591e5
2017-08-07 18:09:56 +08:00
JW Wang 6ab3fdad07 Bug 1388228. P5 - move some more members to ChannelMediaDecoder. r=gerald
Those members only make sense for ChannelMediaResource.

MozReview-Commit-ID: 2z6WPQeJnIT

--HG--
extra : rebase_source : 7f43635ee91c8fad1d6ad6f56788e880d54beab2
2017-08-07 13:23:43 +08:00
JW Wang e5f016de87 Bug 1388228. P4 - move the implementation of MediaDecoder::CanPlayThroughImpl() down to ChannelMediaDecoder. r=gerald
Because GetStatistics() only makes sense for ChannelMediaResource.

MozReview-Commit-ID: HkEpb4frUx1

--HG--
extra : rebase_source : 7086721f47b381b692a165302ff3bdc13caa8b41
2017-08-07 11:48:43 +08:00
JW Wang 303f74001a Bug 1388228. P3 - following P2, we can now remove unused code and canonicals. r=gerald
Note we remove the log in BufferingState::Enter() which prevents us from
removing ChannelMediaResource related code from MDSM. We can add it back
in the future after the refactoring.

MozReview-Commit-ID: B94iOI0bTXC

--HG--
extra : rebase_source : 857b7420ab9b52c07dc8a917c1f9344096ed20e6
extra : source : 2c350a4f3cbdf6f446b5e1cc8d6e0892722866d0
2017-08-04 17:56:28 +08:00
JW Wang b4e54281c9 Bug 1388228. P2 - cache the result of CanPlayThrough() and mirror it to MDSM. r=gerald
So we don't duplicate the code of calculating CanPlayThrough from
download rate and playback rate in MediaDecoder.

MozReview-Commit-ID: 7M5JAuUxFFc

--HG--
extra : rebase_source : cb216a1af59b9d8207e3056a5d3ae05e93d85e74
extra : source : a183c089760e329508fac44239fee42c1f047b80
2017-08-04 17:38:20 +08:00
JW Wang 4eb2d7a53b Bug 1388228. P1 - move some members to ChannelMediaDecoder. r=gerald
These members are used only by ChannelMediaDecoder.

MozReview-Commit-ID: 10CHV1sjY9k

--HG--
extra : rebase_source : 2a9817a433cd098d818399e718a5c08d6b88df4c
extra : source : 5d606d67b79543adde8580d96f5aa7055fe0286c
2017-08-04 16:02:40 +08:00
Wes Kocher 623f36f0f8 Merge m-c to autoland, a=merge
MozReview-Commit-ID: CxCNV7W0utC
2017-08-07 15:26:40 -07:00
JerryShih 6528324a47 Bug 1357299 - P5: Pass KnowsCompositor instead of ShadowForwarder to media decoder. v2. r=nical
If we use WebRender, there is no ShadowForwarder with this configuration.
So, use the AsKnowsCompositor() instead.

MozReview-Commit-ID: KMcfdwySKDL
2017-08-07 18:15:22 +08:00
Sebastian Hengst 765cc1b925 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JhesEg4Bxjy
2017-08-04 19:28:27 +02:00
Bill McCloskey 2273c53b75 Bug 1364821 - Introduce AbstractThread::AutoEnter and remove main thread's AbstractThread::GetCurrent() (r=jwwang)
MozReview-Commit-ID: FSLVn7xe3sq
2017-08-03 14:19:02 -07:00
JW Wang 0a70fd0b47 Bug 1387702 - be sure to enter the AbstractThread context for state-mirroring to be usable. r=billm
MozReview-Commit-ID: 3kML9KVr01g

--HG--
extra : rebase_source : 252a0c3a6febb5720929ab94e496d120ab967293
2017-08-07 10:54:17 +08:00
JW Wang 35ca16f82f Bug 1386956. P3 - move the call to UnpinForSeek() from ~MediaDecoder() to Shutdown(). r=gerald
It is bad to call a virtual function (UnpinForSeek() -> GetResource()) in the destructor.

MozReview-Commit-ID: Db5pOHjhmQZ

--HG--
extra : rebase_source : 4e998bce930dbb18ad9b84ef33c1cb06167f2402
extra : source : e8e7ed2cdf0bf0f8f0e2d42dd045dfe1f05da28a
2017-08-04 09:46:44 +08:00
JW Wang f86786c3e8 Bug 1386956. P1 - replace use of mResource with GetResource() for we will move mResource to sub-classes. r=gerald
MozReview-Commit-ID: I90Xvy4u5Fd

--HG--
extra : rebase_source : 186553067fe9044f927918b85189470ac312dee2
extra : intermediate-source : e51c266bc9527bcd2f4ff7b80883c21ddb56cd24
extra : source : 425527128cf1affe59759773947cf3dd4ce539c7
2017-08-03 14:52:18 +08:00
JW Wang 17554a637a Bug 1385699. P4 - MediaDecoder::mExplicitDuration doesn't need to be a canonical anymore. r=cpearce
MozReview-Commit-ID: 4FUwQRS2K1m

--HG--
extra : rebase_source : 66b2f1a9fcdf54abd61f071847c1469ad3a3c5c4
extra : source : 0da2d6137100d1cb3ec33d5ce735252eeba3ac62
2017-08-01 15:06:13 +08:00
JW Wang 1ab15ede36 Bug 1385699. P3 - remove MediaDecoder::SetInfinite() and related code. r=cpearce
Since inf can be encoded in MDSM::mDuration, we don't need an additional flag
in MediaDecoder to indicate 'infinite' anymore. Note duration change from infinite
to finite is handled by MDSM, so we can remove the explicit calls to SetInfinite(false).

MozReview-Commit-ID: EoxwZJzPAJl

--HG--
extra : rebase_source : 669d7ed5b99a89b1827f60f89e0a21f08a18dedd
extra : source : a30b614784afe8772b2212728c1e4a2eac67f94b
2017-08-01 14:15:29 +08:00
JW Wang ca1f6bc7b4 Bug 1385748. P3 - MediaDecoder::mNextState doesn't need to be a canonical for it has no mirrors. r=kaku
MozReview-Commit-ID: HiiPcKK08az

--HG--
extra : rebase_source : 12db8d11fda2c07401d5ba4b7d4f6f946cc9fb5b
2017-07-31 10:21:43 +08:00
Kaku Kuo 2c2253d77b Bug 1383653 P1 - add debug messages for understanding the status of suspending video decoder; r=jwwang
MozReview-Commit-ID: 2pI6XRQQgbG

--HG--
extra : rebase_source : 68a11362750227812602c07dbcfb7685eb7eb438
2017-07-24 13:21:35 +08:00
JW Wang f507668c63 Bug 1382557 - the duration should be finite when we can get one from the metadata. r=cpearce
This fixes the case where ChannelMediaResource::OnStartRequest() calls
mCallback->SetInfinite(true) to report an infinite duration, yet later
we get another duratoin from the metadata.

http://searchfox.org/mozilla-central/rev/8a61c71153a79cda2e1ae7d477564347c607cc5f/dom/media/MediaDecoder.cpp#1179-1185
Note IsInfinite() is checked before other duration sources. We need to call
SetInfinite(false) on the MediaDecoder so we can get the correct duration.

MozReview-Commit-ID: 3BlFNJzlgXo

--HG--
extra : rebase_source : 073b65cbc21f280638054b80f0cc9913a9128a18
2017-07-25 14:34:59 +08:00
JW Wang 46e04d4ca0 Bug 1378295. P5 - remove AbstractMediaDecoder from MediaDecoder's base class. r=jya
MozReview-Commit-ID: lIAT21YMRR

--HG--
extra : rebase_source : 72fe91b3c17e448a8b8b748bc1a44f760ff48274
extra : intermediate-source : b1246c769384a69f23d4d88a63ccef636b79f6e1
extra : source : 9f4592b9d821ea775cea39e780c4dd4197aae8ad
2017-07-13 17:38:06 +08:00
Alastor Wu 1499ee0710 Bug 1274919 - part3 : only send msg if someone is waiting for it. r=jwwang,mikedeboer
Only send the msg "Browser:UnselectedTabHover" when someone requests for the
msg, it can reduce non-necessary communication.

MozReview-Commit-ID: 2mBUMB4AMVo

--HG--
extra : rebase_source : d7a5103e2713735fdd0f65c7de381b219f4cce26
2017-07-20 15:11:25 +08:00
Alastor Wu f235c5746c Bug 1274919 - part2 : implement resume/suspend mechanism in MediaDecoder. r=jwwang
Create the new class "BackgroundVideoDecodingPermissionObserver" to handle the
suspended request sent from the front end side.

We would do registration on startup and deregistration on shutdown of MediaDecoder.

MozReview-Commit-ID: 1UwHA7YuVN3

--HG--
extra : rebase_source : a0bc22999fbf799cd25da8ec423d9f03acc9e8e2
2017-07-20 14:13:37 +08:00
JW Wang 5370eb3105 Bug 1316211. P13 - replace use of MediaDecoderReader with MediaFormatReader. r=gerald
We will remove MediaDecoderReader in the future.

MozReview-Commit-ID: BaCRXleKK5a

--HG--
extra : rebase_source : dc14a593d6291136f02b1deb910cd6dcd01c0355
extra : source : 8f71b7dae0a541562c7c3829b5a873e9f9fd2674
2017-07-19 17:01:32 +08:00
Jean-Yves Avenard f50943d4cc Bug 1379190: P1. Remove AndroidMediaDecoder and relatives. r=cpearce
They are no longer supported and can't work with API >= 16

MozReview-Commit-ID: JkftKxW5OtY

--HG--
extra : rebase_source : 6ed4032141add293d21354640c96fc75adc565d9
2017-07-13 12:54:03 +02:00
JW Wang cda80ee431 Bug 1381758 - Remove the debug code added in bug 1326294. r=gerald
Bug 1326294 is fixed and we don't need the debug code anymore.
This help reduce the coupling with HTMLMediaElement and make MediaDecoder
easier to be reused by Servo.

MozReview-Commit-ID: KCwAjoQFPkS

--HG--
extra : rebase_source : 0c98899f63edb5971ddecb812635c9a6f693d448
2017-07-18 16:36:01 +08:00
JW Wang b9b872859b Bug 1380574 - remove the call to MediaDecoderOwner::DecodeWarning() from MediaFormatReader. r=gerald
Note we will move OnDecodeWarning() from MDR to MFR when removing MDR.

MozReview-Commit-ID: 92jpwy6ghH2

--HG--
extra : rebase_source : 72e84f364cdab589efe60e70a071816cb4404955
extra : intermediate-source : fc7ff704e2096935b949ed8b9f6e73945db56a79
extra : source : 6e65a382de5de478948d434fc238a6afe231d2ac
2017-07-13 15:02:06 +08:00
JW Wang dfccb2f79b Bug 1380569. P2 - plumb the 'waitingForKey' event into the media element. r=gerald
Note we put OnWaitingForKey() in MediaDecoderReader for MediaDecoder references
MDR instead of MFR. The function will be moved into MFR when we remove MDR and
have MediaDecoder reference MFR instead.

MozReview-Commit-ID: LBGfGmc6yFm

--HG--
extra : rebase_source : 473c95cf6eb5e7e4065f9c1251af7dacb78538a5
extra : intermediate-source : 85981e2bafa1047f8321c02de6f0726c32506811
extra : source : 5203bf6895273701ef36a81d2e827e7a7c219fdb
2017-07-13 14:49:23 +08:00
JW Wang 9b07417b6b Bug 1380545 - remove DispatchKeyNeededEvent from MediaFormatReader.cpp. r=gerald
We will use MediaEventSource to dispatch the 'encrypted' events.

MozReview-Commit-ID: KY3nS9OrysI

--HG--
extra : rebase_source : 4e1fa125b099567426f5a6ea2c825b77d407b2c4
extra : source : 8413b0625159d85a5814cb3bd748121653735e96
2017-07-13 11:18:07 +08:00
JW Wang ebbb3689a4 Bug 1380532. P2 - remove AbstractMediaDecoder::GetCrashHelper(). r=gerald
MozReview-Commit-ID: IDPifgdxwTd

--HG--
extra : rebase_source : 3ec3c6f7a9ab5144fbf060b40393b306dc9eef0c
extra : source : 1de26c9ff96d7fb9710a8a16d9e7ec8abd8113cb
2017-07-13 10:21:34 +08:00
JW Wang 803c5fa941 Bug 1380234. P2 - send compositor updates to the reader directly without using MediaEventSource. r=jya
MozReview-Commit-ID: EJO2PK525gS

--HG--
extra : rebase_source : 11a033d2e6a94b307ca8095b2ffd7348edb2b6d4
extra : source : 44c52998638933e8b709fa5196ef442314145d2f
2017-07-12 16:28:19 +08:00
JW Wang 4ca981216d Bug 1380234. P1 - pass KnowsCompositor to MFR through MediaDecoderReaderInit. r=jya
MozReview-Commit-ID: 3krK3meG5jV

--HG--
extra : rebase_source : f0a628ab28a527fa7f79ec61672e988cf1def8e7
extra : source : c8c2a6f2506338a8208f3bcf56160c47e6a29000
2017-07-12 15:37:02 +08:00
JW Wang 1e7126b1fc Bug 1378631. P2 - remove AbstractMediaDecoder::CanonicalDurationOrNull(). r=jya
MozReview-Commit-ID: 9zWPcYZndsQ

--HG--
extra : rebase_source : 3c1c03528c21e08fea05b4de6fbfe73cd7d603d5
extra : intermediate-source : 9e5ab9f0ec1bd4536fe157dd530b374a791c600b
extra : source : 4e39231fbed1ea6ea6110b528308b73223878192
2017-07-06 11:38:27 +08:00
JW Wang d669b012bc Bug 1378316. P2 - dispatch MediaDecoderReader::NotifyDataArrived explicitly instead of using MediaEventSource. r=gerald
MozReview-Commit-ID: AM3CjQ8LoTv

--HG--
extra : rebase_source : d6c4fa7b8dbe9984468f44b9cdbdf4cbdfe7d001
extra : source : a95db93514cb2a4e5b8031661d367f167d8fc21b
2017-07-05 17:29:05 +08:00
JW Wang 69f64ebb45 Bug 1376363. P2 - call ContainerType() in EnsureTelemetryReported(). r=gerald
MozReview-Commit-ID: 515Q6nXZ7WU

--HG--
extra : rebase_source : a13964ca23cd561db8f95ad2ffbeac5ff2411238
extra : source : 59e7c3d78a9df5b2827cb14a211d59113968f432
2017-06-26 17:11:48 +08:00
JW Wang 1e2be3e873 Bug 1376363. P1 - store container type in MediaDecoder. r=gerald
So we can remove MediaResource::GetContentType() in the future.

MozReview-Commit-ID: zWUNF2uGpf

--HG--
extra : rebase_source : 04f50c4db9dac8503f878a8a1986e627f9a074a3
extra : source : 10737393beaabed640aa3ff67fac2a07567400b4
2017-06-26 17:10:47 +08:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
JW Wang 350f03bde7 Bug 1376227. P3 - move Load() down the class hierarchy. r=gerald
So we won't pass an unused |nsIStreamListener**| to MediaSourceDecoder::Load().

MozReview-Commit-ID: 2TCby8m8K5H

--HG--
extra : rebase_source : 349179aa4303c0abd8b86a695789770e158e5c28
extra : intermediate-source : d6f550bd6709a0ee7db6033286af42565a20cdb1
extra : source : ed524d855a1a78665c499152a9360ba961655641
2017-06-23 14:12:41 +08:00
JW Wang 6cd0d57b3c Bug 1374930. P4 - move ResourceCallback to ChannelMediaDecoder. r=cpearce
We also move some methods to protected so they are callable from ChannelMediaDecoder.

MozReview-Commit-ID: 6s9LKNkbJhX

--HG--
extra : rebase_source : 172ea88bc01552a90f5ef51db2b5af0ac5551c3b
extra : intermediate-source : a724333159c6b408e2fa68dba2d0a467f3c55940
extra : source : 03760e05ea8044b3404d29bb62205a2f62892d4b
2017-06-20 18:10:56 +08:00
Jean-Yves Avenard 10d2da1b08 Bug 1374596: P7. Fix includes as per coding style. r=padenot
MozReview-Commit-ID: 5WfOWcOoxg0

--HG--
extra : rebase_source : 988c09623e83a0d9188d9ff5d705314e2c43e756
2017-06-20 17:56:55 +02:00
Jean-Yves Avenard 9223d7c8a2 Bug 1374596: P5. Fix MediaDecoder* headers. r=padenot
MozReview-Commit-ID: AjSjYXXcutJ

--HG--
extra : rebase_source : 13705fb658bdfa6e98884f9e1ab142355aab399d
2017-06-20 17:34:29 +02:00
Chris Pearce 3d1e87597e Bug 1374475 - Don't throttle download of media files under 8MB in size. r=jwwang
The startup latency for an HTTP transaction can be high, this adds delay when
we're seeking into an unbuffered range. So we should not throttle the download
for small files, to speed up seeking.

This also works around the problem in bug 1373618 in the case where the
download is fast enough for the entire file to predownload before a seek.

MozReview-Commit-ID: A8Hqi71IJ1H

--HG--
extra : rebase_source : 30648d3ad62b8c0417b1244c896b43b670382e9c
2017-06-20 13:03:49 +12:00
JW Wang 95284c8279 Bug 1374184. P3 - rename NotifyDownloadProgressed to DownloadProgressed for it is used internally by MediaDecoder and fix the comment. r=gerald
MozReview-Commit-ID: 6nUEjvZ73ko

--HG--
extra : rebase_source : 55d6a5b385258aa080974574a2bfc2ef722d6e00
extra : source : 9a5d941f74815acf189bdb4f85578a2634a632ae
2017-06-19 14:27:58 +08:00
JW Wang ca683c8fb9 Bug 1374184. P2 - merge NotifyDataArrived() and NotifyDownloadProgressed(). r=gerald
We also move NotifyDownloadProgressed() to private
since it won't be called outside MediaDecoder.

MozReview-Commit-ID: GISbJEW7wwx

--HG--
extra : rebase_source : a454e1477ad645e9e2ee9cab8b31332b38518836
extra : source : 8ca5e3e1fac96a150e5df8e4d06c11f85ee3257d
2017-06-19 14:24:40 +08:00
JW Wang ec8226f548 Bug 1374184. P1 - add NotifyDataArrivedInternal() and let ResourceCallback call it. r=gerald
MozReview-Commit-ID: GTmNrRtxJ0U

--HG--
extra : rebase_source : 1b3a86cf1cf24f01876cb43ff65ca4543c6a4da0
extra : source : 69bbedecae3f216c7144886bd1cb67c4a2acb44d
2017-06-19 14:15:00 +08:00
JW Wang becfe61ebe Bug 1373595. P2 - rename NotifyBytesDownloaded to NotifyDownloadProgressed to better describe what it actually does. r=gerald
MozReview-Commit-ID: IOBY3UKAy0G

--HG--
extra : rebase_source : be4b9a53fa676ec0a628a09edecce74528f1e66a
2017-06-19 11:01:13 +08:00
JW Wang 480e189f8c Bug 1373595. P1 - merge MediaResourceCallback::NotifyDataArrived and NotifyBytesDownloaded. r=gerald
We now call NotifyDataArrived() after data written to the cache to notify
download progresses and buffer ranges re-calculation.

MozReview-Commit-ID: 3IrDuEYJYWu

--HG--
extra : rebase_source : 165a199952be32c8c4cd8f1c578b87826a267f10
2017-06-16 18:35:12 +08:00
JW Wang 27d3284709 Bug 1373589 - Remove MediaResourceCallback::NotifyDecodeError which has no callers at all. r=kaku
MozReview-Commit-ID: D2xqWHIiRBv

--HG--
extra : rebase_source : cc933811af40af3bebdbb8f3f1ca030cc8c622ef
2017-06-16 17:36:30 +08:00
JW Wang 75e01f7b0a Bug 1371202. P1 - plumb the 'loop' attribute into MDSM. r=jya
MozReview-Commit-ID: DtsaXmtQw76

--HG--
extra : rebase_source : 34686d455670975a824dc803a16b8acff97c86ab
extra : intermediate-source : 0de95b1644a365dda9beff4b75d56251da2258c7
extra : source : ba5b2599c949766395bf5b0381023a752bc6e04d
2017-06-08 12:03:10 +08:00
JW Wang a61afab096 Bug 1371514. P2 - remove MediaDecoder::mStateMachineIsShutdown. r=gerald
MozReview-Commit-ID: Dv2pdHW2tgI

--HG--
extra : rebase_source : aea740ced32fe31185127617102f026b1ad0349e
2017-06-09 11:27:42 +08:00
JW Wang ba75abc972 Bug 1371514. P1 - remove AbstractMediaDecoder::IsOggDecoderShutdown() and its friends. r=gerald
MozReview-Commit-ID: 5HOqH6YtB8b

--HG--
extra : rebase_source : 49cc525c32d827584c856e815a1ff3e2df968cea
2017-06-09 11:24:45 +08:00
JW Wang eb1841ec23 Bug 1371200. P3 - remove unused code. r=cpearce
MozReview-Commit-ID: JVmmKSAQl3q

--HG--
extra : rebase_source : b4a727b9c631fc85d12abb84d2b91b31923093eb
extra : source : 79cbb22b4a53945dcff3046b27dac617c8dac51a
2017-06-07 14:21:47 +08:00
JW Wang e8a94c0927 Bug 1371200. P2 - add more fields to MediaDecoderInit. r=cpearce
Now we can init some members in the constructor and remove the setters
that are called only once.

MozReview-Commit-ID: 2hkrIA6pFlh

--HG--
extra : rebase_source : 33c008ef1508597e64ef7f92b028867dbd4ffba6
extra : source : fa213ee733ea881f4f76dac06c9b4709aeba4b91
2017-06-07 14:10:26 +08:00
JW Wang 4031d18757 Bug 1371200. P1 - add MediaDecoderInit and fix MediaDecoder constructor and its friends. r=cpearce
We will add more fields to MediaDecoderInit and be able to remove some setters.

MozReview-Commit-ID: BVx935IHQHf

--HG--
extra : rebase_source : 6d167265e478ce39881ceada1303e9ca18189bbf
extra : source : 0c26f909568f673591ad6720458dfc912c01daad
2017-06-07 12:14:11 +08:00
JW Wang 49a7bff27a Bug 1367705. P3 - fix MediaChannelStatistics which no longer needs to be sharable. r=cpearce
MozReview-Commit-ID: 8guyyGquFnV

--HG--
extra : rebase_source : d4dcc146d3f7b36648cb06e3dc052ff648633821
extra : intermediate-source : ea621690a60d7b4208fddff7423747ea00ebeb4d
extra : source : a11e521f7f36cf8c8d31d7e6d52e0ea296306788
2017-06-02 12:44:43 +08:00
Chris Pearce d7d3abb576 Bug 1367950 - Only throttle download of src=url video if the download is 'fast' on desktop. r=jwwang
Our canplaythrough logic is opaque to the users, so I expect that our recent
change to throttle when we hit the readahead limit would be confusing to users;
those on a slow connection would want their media to prebuffer, and not expect
the download to stop part way through.  They would think that Firefox had
stalled at an arbitrary point for some unknown reason, i.e., they'd think
Firefox was broken. So I think we're better to instead only throttle if the
network is good enough that the user probably doesn't worry about the download
not keeping up with playback.

We should restore the previous behaviour on mobile of throttling when the
download reached the readaheadd limit regardless of canplaythrough or network
speed, as the calculus is different on mobile; the user may also be concerned
about battery life, or hitting their data cap. And often the faster the
cellular network is, the more expensive data on it is.

So this patch changes us to throttle when we reach the readahead limit only if
the network is fast, where fast is defined as being able to stream at twice the
rate estimated to be required to playback without stalling.

It also adds a pref to revert to the old behaviour of not considering the
network speed, which we enable on mobile to restore it to its previous
behaviour.

MozReview-Commit-ID: KLIGaQZV6dX

--HG--
extra : rebase_source : c2e0c6be3158fa661be49d1267d976af43aff6d7
2017-05-26 13:55:48 +12:00
JW Wang a80b2eab10 Bug 1365524. P2 - replace use of nsAutoPtr with UniquePtr. r=jya
MozReview-Commit-ID: 8zR7ZRXl1ON

--HG--
extra : rebase_source : 24053b1be0149ffb6e0dc2c1276c487a64787f32
2017-05-18 16:35:49 +08:00
James Willcox 4649c2acf0 Bug 1322650 - Don't use AndroidBridge to get API version in media stack r=jolin
AndroidBridge is not available in child processes.

MozReview-Commit-ID: KlBs8F1Bu1O
2017-05-15 09:37:57 -05:00
JW Wang ea364d4336 Bug 1364001. P2 - throttle download when we can play through. r=cpearce
MozReview-Commit-ID: HqRtwCAr7k3

--HG--
extra : rebase_source : 15a5613eeb3723eaab2dfb1bba46a1d9828962ac
extra : intermediate-source : 131b22046bc32f01786911369cd58066f46c1adc
extra : source : 6521cb0faee565a0bb7b71ccb60a5106196d6a1d
2017-05-11 17:26:20 +08:00
Iris Hsiao e22349b74b Backed out 11 changesets (bug 1322650) for media test failures on android. a=backout
Backed out changeset 31bd912fba54 (bug 1322650)
Backed out changeset 4d486c7469eb (bug 1322650)
Backed out changeset 4cf8f4d5064c (bug 1322650)
Backed out changeset 3cb108f7492f (bug 1322650)
Backed out changeset bd53533c108e (bug 1322650)
Backed out changeset 3522917d8f10 (bug 1322650)
Backed out changeset 2c2c1e33eccc (bug 1322650)
Backed out changeset 2f19977cd6ab (bug 1322650)
Backed out changeset 4519296a323e (bug 1322650)
Backed out changeset e56e5e1c8786 (bug 1322650)
Backed out changeset 96fe52231b57 (bug 1322650)

--HG--
extra : amend_source : b11d2181d8f545f4ed1074f09986eddab0b637c8
2017-05-12 10:21:14 +08:00
James Willcox 22e9b1e4cc Bug 1322650 - Don't use AndroidBridge to get API version in media stack r=jolin
AndroidBridge is not available in child processes.

MozReview-Commit-ID: KlBs8F1Bu1O
2017-05-11 15:42:45 -05:00
Kaku Kuo b249c9b732 Bug 1360123 P3 - while shutting down a MediaDecoder, ask its owner to remove all media tracks; r=jwwang
MozReview-Commit-ID: 6s84iyXJQ9k

--HG--
extra : rebase_source : 443d6fafd8c17d02dba6ba0054abbb473079545a
2017-04-18 15:46:05 +08:00
Kaku Kuo dab014bd99 Bug 1360123 P2 - move ConstructMediaTracks/RemoveMediaTracks to HTMLMediaElemnt; r=jwwang
MozReview-Commit-ID: 3S63JeXAX2w

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

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

MozReview-Commit-ID: Eub12jQ25KK

--HG--
extra : rebase_source : f564b84a147252bd98c13fe475af971808880c8c
extra : intermediate-source : 4c0870a71b2091c39f5fc67c5cf21dea0a4cc459
extra : source : 1bfe40324a3801f8d60384b247d85f04b8971bbe
2017-04-17 17:10:09 +08:00
JW Wang f6a893a644 Bug 1358969 - let MediaDecoder::CurrentPosition() return a TimeUnit. r=kikuo
We want to replace the use of int64_t for microseconds by TimeUnit
whenever possible since int64_t is ambiguous which could be microseconds
or milliseconds.

MozReview-Commit-ID: K3Bz3uEXLDK

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

--HG--
extra : rebase_source : 8001ba3924f4bdb2ffb4143f1a22e2c4bf697ce3
extra : intermediate-source : 02bc62f83a7af3059b819c2bbb9fd887e2593043
extra : source : 5af753b1192f36ebf84279ff011617587ede613b
2017-04-17 16:58:44 +08:00
JW Wang f2ea37e57b Bug 1357986 - Use helper functions of TimeUnit to make code more readable. r=kaku
1. using media::TimeUnit to save some typing.
2. replace TimeUnit() with TimeUnit::Zero().
3. replace TimeUnit::FromXXX(0) with TimeUnit::Zero().
4. replace TimeUnit::FromMicroseconds(std::numeric_limits<int64_t>::max()) with TimeUnit::FromInfinity().
5. replace some uses of int64_t with TimeUnit.
6. replace t > TimeUnit() with t.IsPositive().

MozReview-Commit-ID: 6hC94PXx86i

--HG--
extra : rebase_source : 1ea3b409e6ec12915f3e1a00359d6ff4152c8917
extra : intermediate-source : e31a12ad0e7a4840119036f261ed17eaaff85734
extra : source : ae07ee48000c4a52da0e4fd502b4d690ec51ce1f
2017-04-17 16:35:04 +08:00
Kaku Kuo 36ef069505 Bug 1344357 P3 - dont' pass dom::Promise into MediaDecoder anymore; r=jwwang
MozReview-Commit-ID: 5RUNauRRajP

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

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

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

MozReview-Commit-ID: CyVXBl6IMI3

--HG--
extra : rebase_source : 195a322ce3e6fe933e72be4aec5d2ebfa1f54865
2017-04-17 18:25:26 +08:00
Kaku Kuo 172d429303 Bug 1354465 P1 - dispatch a mozvideoonlyseekbegin event while starting a video-only seek; r=jwwang
MozReview-Commit-ID: 6PjQs88vUV2

--HG--
extra : rebase_source : b0d06e8bd5b5a3e84adaade0ea8f2fa98a2af0c3
2017-04-07 16:11:34 +08:00
JW Wang 519fb03dfd Bug 1353607. P9 - change the underlying type of mCurrentPosition to TimeUnit. r=kikuo
MozReview-Commit-ID: ffquOIFlp3

--HG--
extra : rebase_source : 2f6e383a1995e91f395efb4d037e151a5a656248
extra : intermediate-source : 12403091f9cee42331e12eb13945b40d02dc842f
extra : source : 1149d57835c33231411692e74836fff37b3e74de
2017-03-28 18:13:22 +08:00
JW Wang 88fd9831d4 Bug 1353607. P8 - use TimeUnit in DispatchSetFragmentEndTime(). r=kikuo
MozReview-Commit-ID: IBLT0j7yMLK

--HG--
extra : rebase_source : a441e4f71c7286225deb3cc6719582b912549bd0
extra : intermediate-source : 2b7da6662a5a783e0cb9e574c5a8678c991aa306
extra : source : 0647d6d92deabbc38a22c5e681e71ce92fdd8267
2017-03-28 18:01:23 +08:00
Kaku Kuo d894ae1293 Bug 1349097 P3 - don't dispatch another ended event while resuming the video decoder of an already-ended playback; r=jwwang
If the play state is already PLAY_STATE_ENDED, make MediaDecoder::PlaybackEnded() return early to prevent dispatching multiple ended event.

MozReview-Commit-ID: G5OU7WLYuMm

--HG--
extra : rebase_source : 17c8e355f59950166b112eaf2629f82b357fb60b
2017-04-05 22:57:25 +08:00
Eric Rahm e373c06a30 Bug 1353143 - Part 2: Remove usage of PR_LOGGING. r=froydnj
Remove ifdefs that handle if logging is disabled, we always force enable it.
2017-04-04 14:36:16 -07:00
JW Wang 714c6b10e9 Bug 1351553 - fix divide-by-zero. r=gerald
MozReview-Commit-ID: BZVCVOOLx1L

--HG--
extra : rebase_source : aab0bc9c47b0485ff910ad7f4c5d2ea3c163a3bb
2017-03-29 16:15:13 +08:00
Kaku Kuo d1654b9821 Bug 1350852 P1 - add a mozvideoonlyseekcompleted event; r=jwwang
MozReview-Commit-ID: wLMawR9Coz

--HG--
extra : rebase_source : 6eedf8f346cbbe530c01c248c04280348b07e855
2017-03-27 18:12:58 +08:00
JW Wang 5274c2cb96 Bug 1350203. P5 - replace SAMPLE_LOG with LOGV. r=kaku
We often need to turn on both MediaSample and MediaDecoder logs when debugging sample activities.
So it is convenient to merge them into a single log module.

Use `MOZ_LOG=MediaDecoder:4` to show decoder logs.
use `MOZ_LOG=MediaDecoder:5` to show both decoder and sample logs.

MozReview-Commit-ID: JQtyoyrNRmV

--HG--
extra : rebase_source : 85739da85aa4059b058a9baccd5509c8149712d8
2017-03-24 11:58:37 +08:00
JW Wang 79d42d9703 Bug 1350202 - use shorter names for logging macros in MediaDecoder.cpp. r=kaku
MozReview-Commit-ID: E2OnbXb82Zb

--HG--
extra : rebase_source : d1de2002a7bb446b10aaeb4e03a56ce3a63f6ae4
2017-03-24 11:17:17 +08:00
Kaku Kuo a2b8741937 Bug 1348432 - move the mMediaTracksConstructed flag back to MediaDecoder; r=jwwang
This mMediaTracksConstructed flag should belong to a MediaDecoder,
every time a HTMLMediaElement switches its MediaDecoder, the flag should be reset to false again.

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

MozReview-Commit-ID: L7mMAmLjQCy

--HG--
extra : rebase_source : 1625d604afb34bffe79eda06a46c9feb780a14d9
2017-03-18 22:34:01 +08:00
Kaku Kuo 68dbe0931c Bug 1347892 part 3 - dont change video decode mode if a media element is in-tree with UNTRACKED visibility state; r=jwwang
If a media element is in-tree with UNTRACKED visibility state, the information is incomplete, just ignore it.

MozReview-Commit-ID: FcKybQZqF6c

--HG--
extra : rebase_source : 0d10cf1b80189db200999b3881f42773c34ad798
2017-03-17 13:06:12 +08:00
Kaku Kuo 0696209786 Bug 1347892 part 2 - pass the visibility state of media element to media decoder as a Visibility variable; r=jwwang
MozReview-Commit-ID: AbkJeIpYZlN

--HG--
extra : rebase_source : 3ace472786b9b9900b125164996819b6d6e3627f
2017-03-17 12:51:11 +08:00
Kaku Kuo 0d5f3a200f Bug 1347402 part 5 - create MediaElementGMPCrashHelper in HTMLMediaElement.cpp; r=cpearce,jwwang
Move the creation of MediaElementGMPCrashHelper out from MediaDecoder.cpp
which reduces the dependency of MediaDecoder to HTMLMediaElement.

MozReview-Commit-ID: E60aMfcFr7V

--HG--
extra : rebase_source : f50a8ee6f2fbec0bdf117eb1217066bc9c701745
extra : source : dd4e52da6d0d6205fe61d0caba44bbff008fd21a
2017-03-16 11:16:15 +08:00
Kaku Kuo b7fee84e84 Bug 1347402 part 4 - move ConstructMediaTracks/RemoveMediaTracks to HTMLMediaElemnt; r=jwwang
ConstructMediaTracks and RemoveMediaTracks are actually HTMLMediaElement's responsibilities.

MozReview-Commit-ID: 8lOdzD4pN7N

--HG--
extra : rebase_source : 7159d2c62b77429e5b2305b9e3eb7a0020a3b52c
extra : source : 0467c059be3cd8f066da5fc912b7738a5b9c4dd9
2017-03-15 17:33:21 +08:00
Kaku Kuo 81d9f0e2db Bug 1347402 part 3 - get owner document via polymorphism; r=jwwang
MozReview-Commit-ID: GCr2xQyST4X

--HG--
extra : rebase_source : 2798b2f962d52f1fbb2a4459951a1c18e4a0050a
extra : source : 03ead19e945201d3f0e42643cfe0ddf1bc43764f
2017-03-15 14:56:05 +08:00
Kaku Kuo c8bd9d4d79 Bug 1347402 part 1 - call DownloadSuspended() via polymorphism; r=jwwang
Instead of calling DownloadSuspended() via a pointer to a HTMLMediaElement,
we should call DownloadSuspended() via a pointer to a MediaDecoderOwner.

MozReview-Commit-ID: BvExQuchsWb

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

MozReview-Commit-ID: 8eqs0pHZLIt

--HG--
extra : rebase_source : 964c0047753696cad2e40bcf74c2b8ee9faccdea
extra : source : 93c38caa15b1a29f8f1e8e6d3a5e859f97bc1aae
2017-03-12 14:02:04 +08:00
Kaku Kuo f758e455ea Bug 1346116 part 1 - initialize MediaDecoder::mIsDocumentVisible and MediaDecoder::mIsElementVisible at HTMLMediaElement::FinishDecoderSetup(); r=jwwang
Initialize the MediaDecoder::mIsElementVisible to be "!aOwner->IsHidden()" at the MediaDecoder's constructor is wrong.
Insted, we initialize both MediaDecoder::mIsDocumentVisible and MediaDecoder::mIsElementVisible to be false at the construtor,
and then assign the HTMLMediaElement's real values to them at HTMLMediaElement::FinishDecoderSetup() via the the MediaDecoder::SetActiviyChangesToDecoder().

The initialization values of MediaDecoder::mIsDocumentVisible and MediaDecoder::mIsElementVisible (in the constructor) do not matter because the valuse are
not read untile the first MediaDecoder::SetActiviyChangesToDecoder() method call.

MozReview-Commit-ID: Cdovq5pG9Nv

--HG--
extra : rebase_source : 91f3b4c2515124b4c195dd246bd9b404178a35de
extra : source : 81b5e89a5bd20f37b8c3daa1230db30808026ff4
2017-03-12 13:56:43 +08:00
Kaku Kuo 7e43b9cace Bug 1346498 part 9 - move all policy codes into MediaDecoder::UpdateVideoDecodeMode(); r=jwwang
Make HTMLMediaElement no longer has logic of deciding visibility, it just passes all information into MediaDecoder.

MozReview-Commit-ID: ApVcEQfboO

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

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

MozReview-Commit-ID: 8sW0s8ilF1E

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

MozReview-Commit-ID: IOQq6kFfkIs

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

--HG--
extra : rebase_source : 738cb2e341ab03d0dc189facc950314c29a3721b
extra : source : 63f67483e45c8a73eda772f264d2424a1049320f
2017-03-10 16:29:59 +08:00
Kaku Kuo 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
Jean-Yves Avenard 04af6071b4 Bug 1345363: Don't truncate debugging information. r=jwwang
NS_DebugBreak truncate all output to 500 characters.

MozReview-Commit-ID: 1gEyJNge7gk

--HG--
extra : rebase_source : 0996ef25dd14cc8f5fe03672d85d37cfcc3ab14a
2017-03-10 11:21:41 +01: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
JW Wang 57506c3907 Bug 1343787. Part 2 - move the Register() calls to Load(). r=gerald
MozReview-Commit-ID: 2jjZujE1qH8

--HG--
extra : rebase_source : f787346a5631acceb27d88e352d67f66e8053bf9
extra : source : 2d3a5e31f306ab2109f38e070a9881ef2affba60
2017-03-02 18:03:20 +08:00
JW Wang 603ff013e0 Bug 1343428 - Label runnables in dom/media/MediaDecoder.cpp. r=gerald
MozReview-Commit-ID: Jv6iXO9ZxZH

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

MozReview-Commit-ID: 2z3Wa9QFkX4
2017-02-23 16:07:41 -08:00
Michael Layzell 1d0870e2e1 Bug 1336510 - Part 4: Capture a strong reference to this in dom/media, r=jwwang
MozReview-Commit-ID: 4lVGrGzhVXh
2017-02-23 12:24:12 -05:00
Wes Kocher 8c4ce17711 Merge inbound to m-c a=merge
MozReview-Commit-ID: DCUf7VEDrTt
2017-02-17 13:38:51 -08:00
Vedant Sareen 7d4bd52fae Bug 1330907 - Rename Telemetry::ID to Telemetry::HistogramID. r=dexter
Changed |print("enum ID : uint32_t {", file=output)| to |print("enum HistogramID : uint32_t {", file=output)| at line 53 of the file |toolkit/components/telemetry/gen-histogram-enum.py|, and then replaced all the textual occurrences of |Telemetry::ID| to |Telemetry::HistogramID| and |ID| to |HistogramID| in 43 other files.
2017-02-16 00:45:15 +05:30
Wes Kocher 9738f2b4f7 Backed out 5 changesets (bug 1336510) for mass bustage a=backout CLOSED TREE
Backed out changeset 35d16d04d67d (bug 1336510)
Backed out changeset 41db22e0c13d (bug 1336510)
Backed out changeset 2075037694ed (bug 1336510)
Backed out changeset 71be73be6c4e (bug 1336510)
Backed out changeset 02ccacdbbb93 (bug 1336510)

MozReview-Commit-ID: Lx2kKu7JVvI
2017-02-15 13:40:12 -08:00
Michael Layzell 2b5e4ffefa Bug 1336510 - Part 4: Capture a strong reference to this in dom/media, r=jwwang
MozReview-Commit-ID: 4lVGrGzhVXh
2017-02-15 15:32:44 -05: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 f40aaeaffc Bug 1336356 - Ensure MediaDecode::Shutdown() is called by MediaShutdownManager::BlockShutdown(). r=gerald
MozReview-Commit-ID: 80AFMafXoeB

--HG--
extra : rebase_source : 8b51b6c9fe4b83b4639c7ae081854307c4308391
extra : source : 7ca33be035c12485e0d6529c529b0cda914fd405
2017-02-03 17:12:38 +08:00
JW Wang f5d46474d6 Bug 1336345. Part 1 - register shutdown blocker only once when the 1st MediaDecoder is created. r=gerald
MozReview-Commit-ID: 80DEZEEhm9E

--HG--
extra : rebase_source : 25db947e54192d37f8edf9461ae011c164ad708b
extra : source : 1785526b2065f6dd314218e19e75b770bab8a08e
2017-02-03 15:12:22 +08:00
Jean-Yves Avenard b7844bd5c3 Bug 1319987: P9. More coding style fixes. r=gerald
MozReview-Commit-ID: DhFRqkWQZny

--HG--
extra : rebase_source : 03ed44efc83fe9cab7fc975229ac4e5746aff96b
2017-01-27 13:20:37 +01:00
Carsten "Tomcat" Book f040eda61d Merge mozilla-central to autoland 2017-01-23 11:42:26 +01:00
JW Wang e13e207c12 Bug 1332544 - replace use of mOwner with GetOwner() which provides more checks. r=gerald
MozReview-Commit-ID: DUTO4vR2kjU

--HG--
extra : rebase_source : 5edfabb169efdc0be938ed85d68d42f8694280d1
2017-01-20 11:47:53 +08:00
JW Wang 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
Carsten "Tomcat" Book 709bd29d0a merge mozilla-inbound to mozilla-central a=merge 2017-01-19 16:05:22 +01:00
Matt Woodrow cb44a7993f Bug 1316652 - Silence unnecessary warning in MediaDecoder. r=jya
--HG--
extra : rebase_source : 39e4dbefc436fd8b82a8cd5f2231d5b83b4688cd
2017-01-19 12:40:06 +13:00
Gerald Squelart f17dd305d6 Bug 1331289 - Use MediaContainerType in MediaResource, SourceBuffer, TrackBuffersManager, and dependencies - r=jya
Continuing the work of replacing MIME strings with MediaContainerType, starting
from MediaResource and following the dependencies.

Most changes are mechanical: Just change ns*String into MediaContainerType, and
MIME string literals into MEDIAMIMETYPE("a/b").
Some checks for empty/invalid strings and lowercase comparisons can go, thanks
to the always-valid always-lowercase-MIME invariants of MediaContainerType.

One special case in is MediaSourceResource, which used to have an empty string
as its type (because its own type is not relevant, but its SourceBuffers carry
types). Because the inherited GetContentType *must* be overridden, and must
return a MediaContainerType, we needed a valid type even though it should not
be seen in the real world. I've chosen "application/x.mediasource" for that.

MozReview-Commit-ID: 1aCH75Kh2e6

--HG--
extra : rebase_source : 0d9cd9b69c264e5dcfc3845f80ee107f4bcbcd9a
2016-12-28 18:59:02 +11:00
JW Wang 992114f5fd Bug 1332160 - use nsCString internally whenever possible. r=gerald
MozReview-Commit-ID: 1DUaJWfbL88

--HG--
extra : rebase_source : f4a02736b0385e4be6258a185822f7855d0b0189
extra : intermediate-source : 1faaf4254a2e1ce2c096a8650b66d07c84c7fdbe
extra : source : c23fc2cea382627af8ff20ae3edea926eaa6d51a
2017-01-18 16:51:31 +08:00
JW Wang 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 f4605f76d9 Bug 1328836 - Remove MDSM::DispatchMinimizePrerollUntilPlaybackStarts. r=kaku
MozReview-Commit-ID: 1EGHVhZqUTA

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

--HG--
extra : rebase_source : d44b4315a34b60c1d1a6ba98730a938ed375a937
2017-01-04 16:18:37 +08:00
Andrew McCreight fccb0645ed Bug 1323042 - forbid MOZ_COUNT_{CTOR,DTOR} for nsISupports classes; r=froydnj 2016-12-12 09:27:58 -05:00
Nathan Froyd 826598caba Backout aba6c73511a2 (bug 1307961) for massive test bustage resulting in a CLOSED TREE; r=alltheorange 2016-12-12 08:45:46 -05:00
Andrew McCreight e31b5489da Bug 1307961 - require consistent bloatview reporting for nsISupports classes; r=froydnj 2016-12-12 07:58:33 -05:00
JW Wang d0dc500d81 Bug 1319706. Part 4 - add some logs to debug 'ended' not fired. r=kaku
MozReview-Commit-ID: ATqszBBdo1P

--HG--
extra : rebase_source : 12f417d5dd29849ab16305f9c902ee9e9fb4e19a
extra : intermediate-source : 277bfa2e67ef58b51848c0a1d6986e8eb3222492
extra : source : 01f99c635d516b05a8f0781a6d0ff11123708481
2016-11-24 14:58:50 +08:00
JW Wang 8565b864ed Bug 1319790 - add assertions to detect if MediaDecoder is deleted without Shutdown() being called. r=kaku
Also call mResourceCallback->Disconnect() in the destructor in case Shutdown() is not called to avoid dangling pointer.

MozReview-Commit-ID: 1qV4m8nWlGq

--HG--
extra : rebase_source : f40f77d64ccaace921625067ff8c51e322eec1b9
2016-11-24 11:59:18 +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 acf75cb684 Bug 1317576. Part 4 - remove unused MediaDecoder::SeekResolveValue. r=cpearce
MozReview-Commit-ID: 9H6e0gFvWeT

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

--HG--
extra : rebase_source : f89010012e2c5b728109282f640398cde196ab03
extra : source : 66baa9041276b503101651c118f4c6fe0c769db1
2016-11-14 16:47:07 +08:00
Chris Pearce 0a0e9d8f06 Bug 1317822 - Move GMPCrashHelper into its own file. r=gerald
MozReview-Commit-ID: 7CinZ2Y2Fmz

--HG--
extra : rebase_source : 3b176cbfadebf6463384105c261ff208bc58b1c2
2016-11-16 11:35:36 +13:00
JW Wang c2bf477b21 Bug 1314884. Part 7 - remove SeekResolveValue::mEventVisibility for we always assume MediaDecoderEventVisibility::Observable in P6. r=kaku
MozReview-Commit-ID: 8jUaFPkQQxA

--HG--
extra : rebase_source : 4e3794979ec05c588458ed72472252910d1642b9
extra : source : 565d6e04892b0d8ea7fcd34d5d279f63ec21d245
2016-11-03 15:59:02 +08:00
Wes Kocher 008fdd9329 Merge inbound to central, a=merge 2016-11-08 13:58:20 -08:00
Matt Woodrow 9775890c70 Bug 1315581 - Notify MediaFormatReader when the compositor gets recreated. r=jya,smaug,jw_wang 2016-11-08 15:23:12 +13:00
Jean-Yves Avenard a50a86289f Bug 1302656: P1. Don't detach mediasource when error occurs. r=jwwang
MozReview-Commit-ID: 88EIb4XXcdR

--HG--
extra : rebase_source : 3e09f64f2af6993f055e353411d6f782527904ed
2016-11-01 20:33:33 +11:00
Wes Kocher 8fa7074c50 Backed out 2 changesets (bug 1302656) for WinXP wpt failures a=backout
Backed out changeset e8ce7f515092 (bug 1302656)
Backed out changeset 416dbe42e4a3 (bug 1302656)
2016-11-04 14:51:27 -07:00
Jean-Yves Avenard b9350d8857 Bug 1302656: P1. Don't detach mediasource when error occurs. r=jwwang
MozReview-Commit-ID: 88EIb4XXcdR

--HG--
extra : rebase_source : 90ae19d74ab13ed5f6e301be4862eaed59f396db
2016-11-01 20:33:33 +11: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
JW Wang 62729fbd51 Bug 1314552. Part 2 - remove unused canonical. r=jya
MozReview-Commit-ID: FW6Wj1iiadS

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

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

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

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

--HG--
extra : rebase_source : 79d953d32afe106b085d405f48a55f647d865bfa
extra : source : 67324546b238ab667d69288496fc0b70856f75bf
2016-11-02 14:29:54 +08:00
Carsten "Tomcat" Book b25f505550 Backed out changeset ff16d055e178 (bug 1302656) for w1 failures
--HG--
extra : rebase_source : 74259af8020e6ed598f617c96fe852fa99167ff7
2016-11-02 14:57:50 +01:00
Jean-Yves Avenard 99ffe3f3e7 Bug 1302656: P1. Don't detach mediasource when error occurs. r=jwwang
MozReview-Commit-ID: 88EIb4XXcdR

--HG--
extra : rebase_source : 93c309462b1669351d7a526d78be5a35c00d6341
2016-11-01 20:33:33 +11:00
JW Wang d310175f8e Bug 1311904 - move |mOwner->FirstFrameLoaded()| to the bottom of FirstFrameLoaded() to prevent shutdown from happening in the middle of FirstFrameLoaded(). r=cpearce
MozReview-Commit-ID: FnRsGMhxeZV

--HG--
extra : rebase_source : 4c0cc66afed965e540af73ff8d08f8d08d62aa35
extra : source : 398a3a4bc9d742333b3d4c6a59eaa6f1d71f03eb
2016-10-21 14:27:27 +08:00
Ehsan Akhgari d5d66e16c9 Bug 1311214 - Remove b2g OMX encoder/decoder; r=cpearce 2016-10-19 17:44:31 -04:00
JW Wang 51234deb68 Bug 1309761 - Some tweaks to MediaDecoder::DumpDebugInfo(). r=bechen
MozReview-Commit-ID: 9e7sImUs2vz

--HG--
extra : rebase_source : 6699aea482efac0e996ccee51ecc6009c1de64e3
extra : source : 640ba5ebf3e8898796c7d34c899add9a05a6a396
2016-10-11 16:58:09 +08:00
JW Wang 8399d361ac Bug 1304651 - Remove MediaDecoder::mPausedForPlaybackRateNull. r=kikuo
MozReview-Commit-ID: 7SIKYfDPCxG

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

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

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

--HG--
extra : rebase_source : 5473db2bd2f7da5a6536368cd78deac1ea0cde8c
2016-09-21 18:11:00 +08:00
JW Wang 6f9627664f Bug 1304336. Part 1 - call DispatchSetPlaybackRate() to propagate playback rate changes instead of using a mirror. r=kikuo
MozReview-Commit-ID: 5C48bUItQus

--HG--
extra : rebase_source : 0d7a618fed6769a316fc033e5023dca98fc9ab33
2016-09-21 18:06:49 +08:00
Jean-Yves Avenard 6a25692b20 Bug 1299072: P10. Pass decoding error details to media element's error attribute. r=jwwang
MozReview-Commit-ID: 49DurV9WI5S

--HG--
extra : rebase_source : 469e6ed4e222fb6d6ac34843c3c3346a044c6023
2016-09-11 00:56:09 +10:00
Jean-Yves Avenard 00e8a7dabc Bug 1299072: P9. Pass decoding error details to MediaDecoder. r=jwwang
MozReview-Commit-ID: uXWHhTozon

--HG--
extra : rebase_source : 7736b9d969dc680b08bffbc7610271d5cc0272be
2016-09-11 00:51:13 +10:00
Gerald Squelart b94f8cfb3e Bug 1301561 - Change media.decoder.heuristic.dormant.timeout to 10000 (ms) - r=jwwang
MozReview-Commit-ID: BibXsBpjIQe

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

--HG--
rename : dom/media/raw/RawStructs.h => netwerk/protocol/device/RawStructs.h
extra : rebase_source : 96191a564754311200d6df36b1643990efa87e51
2016-08-24 11:02:37 +12:00
Wes Kocher f78f2d693b Merge inbound to central, a=merge 2016-08-25 16:59:00 -07:00
Ryan VanderMeulen 2b4ac234e9 Merge m-c to inbound. a=merge 2016-08-25 08:27:17 -04:00
JW Wang a208d2cb40 Bug 1295073 - Remove the aRealTime parameter from the MediaDecoderStateMachine constructor. r=cpearce
MozReview-Commit-ID: BXMVAV1R3gx

--HG--
extra : rebase_source : 0749ff95de361da3c935dfe113690aa8c5e7dc2a
2016-08-15 14:54:10 +08:00
Nicholas Nethercote c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Dan Glastonbury 0e76b94eb8 Bug 1297429 - Fix video suspend intermittent failures. r=jwwang
On Linux x64 PGO try, HTMLMediaElement was reliably invoking
decoder->NotifyOwnerActivityChanged() after SetVisible(false) was
called. This caused the pending suspend to be cancelled and the test
waits for an event that never arrives.

Fixed by adding 'forced hidden' to MediaDecoder that overrides the
element visibility that comes from HTMLMediaElement.

MozReview-Commit-ID: 5aRhxxZ5cZd

--HG--
extra : rebase_source : 5a4e1c44ddd2265eab545f8fe19c4ae47cebf7bf
2016-08-25 12:10:05 +10:00
Jean-Yves Avenard 745006a3fc Bug 1297880: Have GetSeekable return an empty range if duration is not r=jwwang
yet known. r?jwwang

MozReview-Commit-ID: 4e1k42FlW1z

--HG--
extra : rebase_source : 47c94026157a278192f2388a4d92768d5454c384
2016-08-25 13:36:51 +12:00
Kaku Kuo 5ab464fd77 Bug 1295440 - Make HTMLMediaElement::SeekToNextFrame() reject promise with meaningful information; r=jwwang
MozReview-Commit-ID: Dgi3Ek8K3bR

--HG--
extra : rebase_source : 58d63933906f676a7e7a5ed85cf7e25e3e87dd16
2016-08-17 10:02:10 +08:00
bechen 931402dd2f Bug 1291629 - Remove RTSP code. r=jwwang
MozReview-Commit-ID: AxaLwO4rTuY

--HG--
extra : rebase_source : f8a5de1be1471238d62b6bbc419b3a45f2590da6
2016-08-10 10:32:25 +08:00
JW Wang 1558178790 Bug 1294636 - Use macro to simplify the member initialization list of MediaDecoder. r=gerald
MozReview-Commit-ID: LdIXPTKuecf

--HG--
extra : rebase_source : 938b8e4efc8d8f89dc75acf17317888a304d5c27
2016-08-12 15:04:49 +08:00
Dan Glastonbury f9a87adc92 Bug 1284177 - P1: Provide observable notification for video suspend. r=jwwang
To support mochitests, report change in video decode suspend state via
events mozentervideosuspend/mozexitvideosuspend.

MozReview-Commit-ID: EwMduLzcMVg

--HG--
extra : rebase_source : 5f1fed90964fae182f06d9fb480491728c5f1c97
2016-07-04 14:35:21 +10:00
Kaku Kuo a6ed727230 Bug 1292091 - Part 2 - replace MaybeResolve(JS::UndefinedHandleValue) with MaybeResolveWithUndefined(); r=bz
MozReview-Commit-ID: KNbxVcCVqts

--HG--
extra : transplant_source : %1D%18%E5%C9o%F0%29%E7%E0%93%EEcR%C7B%3BeX%B3%87
2016-08-09 17:15:13 +08:00
Jean-Yves Avenard 41f815e7fa Bug 1128069: [MSE] P5. Adjust currentTime to end position in MediaDecoder. r=jwwang
The duration in the MediaDecoder is the canonical. It has as such a more up to date value than the mirror.
Under some circumstances, the MDSM may have reached the end of media playback before the duration mirror had time to update. So perform the currentTime adjustment in the MediaDecoder instead.

MozReview-Commit-ID: 1RFr4mT5LpA

--HG--
extra : rebase_source : 3151d86561b53d5d1922c7c16f042792bfd47283
2016-08-08 13:49:51 +10:00
JW Wang 2d84b3c90e Bug 1291633 - Don't call MediaDecoder::SeekingStarted when visibility is Suppressed. r=kaku
MozReview-Commit-ID: 15YOmFCoXGp

--HG--
extra : rebase_source : b5269f7a4883ff08dbfdb797df9eb78334315108
2016-08-03 17:18:54 +08:00
JW Wang 6d1ce3ea1a Bug 1292449. Part 3 - Assert IsShutdown() is false in MediaDecoder::Shutdown(). Shutdown() should be only called once. r=kaku
MozReview-Commit-ID: 6iFKkTTb7qD

--HG--
extra : rebase_source : 773cdf796a11a0ca7b6577c348ec411c422a0342
2016-08-01 16:11:20 +08:00
JW Wang 862e36e74c Bug 1292449. Part 2 - Assert IsShutdown() is false in NotifyBytesDownloaded(). r=jya
1. Called from SourceBuffer::AppendDataCompletedWithSuccess() where mMediaSource->GetDecoder() is not null.
2. Called from MediaDecoder::ResourceCallback::NotifyBytesDownloaded() which is disconnected in Shutdown().

MozReview-Commit-ID: 103pxZP02Bb

--HG--
extra : rebase_source : 72e8a9c29d5ca6a4932de3a119497b05bfadbe68
2016-08-01 16:01:16 +08:00
JW Wang 63442be770 Bug 1292449. Part 1 - Assert IsShutdown() is false in NotifyDataArrived(). r=jya
1. Called from SourceBuffer::AppendDataCompletedWithSuccess() where mMediaSource->GetDecoder() is not null so this must happen before Shutdown().
2. Called from SourceBuffer::Ended() where mMediaSource->GetDecoder() is not null.
3. Called from MediaDecoder::ResourceCallback::TimerCallback() which is canceled in Disconnect().

MozReview-Commit-ID: 5dqVuOcrABy

--HG--
extra : rebase_source : a134f552c4fae2317cbf93dc1e861199d4c91346
2016-08-01 15:58:10 +08:00
JW Wang aace2f0c8d Bug 1290809 - Remove MediaDecoder::IsEndedOrShutdown(). r=gerald
MozReview-Commit-ID: 4XUcJyQlmfk

--HG--
extra : rebase_source : fc2a044ca2776744ef0fff32300faf647666e73c
2016-08-01 15:22:32 +08:00
JW Wang 8ce157e06f Bug 1290364 - clear mOwner in Shutdown(). r=cpearce
MozReview-Commit-ID: 2CsYKcSrEOJ

--HG--
extra : rebase_source : 3fd60ea1dbbf57c168fa8cebb9bb5594ee8c19fb
2016-07-29 14:44:22 +08:00
Carsten "Tomcat" Book 0cd188453a Merge mozilla-central to autoland 2016-08-05 12:15:20 +02:00
JW Wang cff471d7a8 Bug 1283724 - throttle notifications from stochastic network activity to save computation of buffer ranges. r=jya
MozReview-Commit-ID: BRBv2Flqu3u

--HG--
extra : rebase_source : fe28566c79f2f31a5054e4cda35d96c938985299
2016-08-01 14:39:39 +08:00
ctai b7fcb47572 Bug 1201363 - Replace VideoFrameContainer with MediaStreamVideoSink in MSG. r=jesup
Replace the pointer of VideoFrameContainer with the pointer of MediaStreamVideoSink.

MozReview-Commit-ID: 5bqEMpemwuR

--HG--
extra : transplant_source : %008z%D8W%EE%87%8E%E9/%2CT%26%EBvo%AE%099%A6
2016-05-27 14:33:48 +08:00
JW Wang 32c54a1d7b Bug 1290028 - Remove the check for IsShutdown() from MediaDecoder::OwnerHasError(). r=gerald
MozReview-Commit-ID: Cg5UoFngxFr

--HG--
extra : rebase_source : afece4f66454cf7b2c68ede4b5802fc445be96fa
2016-07-28 17:21:09 +08:00
JW Wang 64c1909e96 Bug 1290780. Part 9 - Assert IsShutdown() is false in DurationChanged(). r=kaku
1. The watch manager disconnect callbacks in Shutdown().
2. SetExplicitDuration() asserts !IsShutdown().
3. SetInfinite() asserts !IsShutdown().

MozReview-Commit-ID: FwWf4m5OAOP

--HG--
extra : rebase_source : 374e9c4ef31abf56f0be76826c98cd852bef1e7a
2016-07-28 16:57:09 +08:00
JW Wang e7c35e7871 Bug 1290780. Part 5 - Assert IsShutdown() is false in PlaybackEnded() since the callback is disconnect in Shutdown(). r=kaku
MozReview-Commit-ID: hYJjKZFhA6

--HG--
extra : rebase_source : 706b770c7f11fa53cdb2bb9f9eeae89a146601a6
2016-07-28 15:16:32 +08:00
JW Wang e073bd7c27 Bug 1290780. Part 4 - Assert IsShutdown() is false in SeekingStarted() since the callback is disconnected in Shutdown(). r=kaku
MozReview-Commit-ID: 7Q9EAhy3O7w

--HG--
extra : rebase_source : a68a9d50d0c2c669dd4c5ae0897e06c1538811d1
2016-07-28 15:13:31 +08:00
JW Wang 3d1ea356e3 Bug 1290780. Part 3 - Assert IsShutdown() is false in UpdateLogicalPositionInternal(). r=kaku
1. It is called from OnSeekResolved() which asserts !IsShutdown().
2. It is called from UpdateLogicalPosition which asserts !IsShutdown().

MozReview-Commit-ID: J8iuHdUamLS

--HG--
extra : rebase_source : 97215383aa7c409f8b63f5a6726b81df53252227
2016-07-28 15:09:03 +08:00
JW Wang b6a261b9f3 Bug 1290780. Part 2 - Assert IsShutdown() is false in MediaDecoder::OnSeekResolved() since the seek request is disconected in Shutdown(). r=kaku
MozReview-Commit-ID: Cc0iF3Lc7d2

--HG--
extra : rebase_source : 107592fc8f3a5a301599f43ebbc1c7c7c708f017
2016-07-28 15:04:36 +08:00
JW Wang 6c38af47f2 Bug 1289976. Part 10 - Remove the IsShutdown() check from MediaDecoder::UpdateDormantState(). r=kaku
1. It is called from DormantTimerExpired(). The timer is canceled in Shutdown().
2. It is called from NotifyOwnerActivityChanged() which happens before Shutdown().
3. It is called from Play() which happens before Shutdown().
4. It is called from Seek() which happens before Shutdown().

MozReview-Commit-ID: EnKHF61FBXf

--HG--
extra : rebase_source : 04df59b6722c8340e5163a00eb916442799cfcf1
2016-07-27 10:56:46 +08:00
JW Wang 6ca3a55b72 Bug 1289976. Part 9 - Remove the IsShutdown() check from MediaDecoder::StartDormantTimer(). r=kaku
We don't need to check IsShutdown() which is a subset of |mPlayState != PLAY_STATE_PAUSED && !IsEnded()|.

MozReview-Commit-ID: BjYoLOLuPfC

--HG--
extra : rebase_source : 0d04b30a8bf955faed4907f77f0da29e0ccc011d
2016-07-27 10:52:01 +08:00
JW Wang 31dcc3816b Bug 1289976. Part 7 - Remove the IsShutdown() check from MediaDecoder::Seek(). r=kaku
1. It is called from DurationChanged() which returns early when IsShutdown() is true.
2. It is called from Play() when IsEnded() is true.

MozReview-Commit-ID: Ixy5OMZHxIm

--HG--
extra : rebase_source : 4cd7229084c6af8b7123ee6c85156ef4932308f3
2016-07-27 10:49:14 +08:00
JW Wang f3ffeca57a Bug 1289976. Part 6 - Remove the IsShutdown() check from MediaDecoder::RemoveMediaTracks(). r=kaku
1. It is called from ChangeState() when IsEnded() is true.
2. It is called from OnMetadataUpdate(). The callback is disconnected in Shutdown().

MozReview-Commit-ID: 8m4jtcl91hT

--HG--
extra : rebase_source : 0988128ec6d05f07ab7b072cc70a9c2970c829c5
2016-07-27 10:44:43 +08:00
JW Wang a2d26a630a Bug 1289976. Part 5 - Remove the IsShutdown() check from MediaDecoder::Pause(). r=kaku
1. Pause() is called from HTMLMediaElement and happens before Shutdown().
2. Pause() is called from SetPlaybackRate() which is called from HTMLMediaElement.

MozReview-Commit-ID: DDr7Bg8jkF2

--HG--
extra : rebase_source : 8b8a4fdc914d0bce7572d9a1ccb0f530bdba062c
2016-07-27 10:42:20 +08:00
JW Wang 348c35b5dd Bug 1289976. Part 4 - Remove the IsShutdown() check from MediaDecoder::NotifyOwnerActivityChanged() which happens before Shutdown(). r=kaku
MozReview-Commit-ID: 9tWLW4JE0Uv

--HG--
extra : rebase_source : 9f33359f5d8833a8f90319303a96cf029460f3ac
2016-07-27 10:38:25 +08:00
JW Wang 00ce40fb6c Bug 1289976. Part 3 - Remove the IsShutdown() check from MediaDecoder::FireTimeUpdate(). r=kaku
FireTimeUpdate() is only called from UpdateLogicalPositionInternal() which returns early when IsShutdown() is true.

MozReview-Commit-ID: 4GZwrI85aXj

--HG--
extra : rebase_source : 9d7cbd571fd794369c833723ea5fc50a26380e51
2016-07-27 10:36:09 +08:00
JW Wang 61a6cb705b Bug 1289976. Part 2 - Remove the IsShutdown() check from MediaDecoder::DumpDebugInfo() which happens before Shutdown(). r=kaku
MozReview-Commit-ID: HU3ybjFZMsE

--HG--
extra : rebase_source : 15d9adb47be449fdaca6a37587e70ff4f1d013bf
2016-07-27 10:33:50 +08:00
JW Wang 0a748cd015 Bug 1289976. Part 1 - Remove the IsShutdown() check from MediaDecoder::ConstructMediaTracks(). r=kaku
1. ConstructMediaTracks() is called from ChangeState() when |mPlayState == PLAY_STATE_PLAYING|.
2. ConstructMediaTracks() is called from MetadataLoaded() which asserts |!IsShutdown()|.

MozReview-Commit-ID: 6OaPYcCOCii

--HG--
extra : rebase_source : 9db9e841fe8a0d797a39cd527abf4f4e95b67131
2016-07-27 10:31:14 +08:00