Commit graph

716 commits

Author SHA1 Message Date
Alastor Wu
ff1cca9a1e Bug 1309162 - part6 : remove useless comment. r=jwwang
These comments should be removed after landing bug1302350.

MozReview-Commit-ID: 7N0cWImZDDI

--HG--
extra : rebase_source : b259780a2c901449d72dfcf1280de72cae890ade
2016-11-26 02:35:23 +08:00
Alastor Wu
7af99e933f Bug 1309162 - part5 : only set the audible state when stream starts playing. r=baku
If input is a media stream, we would always regard it as audible when it's playing.
We won't need to set it as non-audible.

MozReview-Commit-ID: 8mzTsAkt6lG

--HG--
extra : rebase_source : 2eaa6f1d92ef2f4048fae61ed99739157cf08287
2016-11-26 02:35:20 +08:00
Alastor Wu
f15425595d Bug 1309162 - part4 : remove checking for mPlayingBeforeSeek. r=baku
In previous patch, we removed UpdateAudioChannelPlayingState() from AddRemoveSelfReference(), now we
don't call UpdateAudioChannelPlayingState() during the seeking. So we don't need to afraid to stop
audio channel agent during the seeking.


MozReview-Commit-ID: GTuIRB24zlq

--HG--
extra : rebase_source : 20cae16efabd296f4b3c404886364aaa92db5df6
2016-11-26 02:35:18 +08:00
Alastor Wu
202cfad46d Bug 1309162 - part3 : modify the place calling UpdateAudioChannelPlayingState(). r=baku
UpdateAudioChannelPlayingState() should only be called when following attributes changed.
eg. pause/ready state/error/owner document's visibility/exteral source stream.

Therefore, we don't need to call this function in FinishDecoderSetup() and AddRemoveSelfReference().

Remove AutoNotifyAudioChannelAgent is because now we don't check HasAudio() for IsPlayingThroughTheAudioChannel().

MozReview-Commit-ID: 4VTHIAdAqX1

--HG--
extra : rebase_source : 7f196581fb2e5a7e75afef27d874522986d2cdc5
2016-11-26 02:34:49 +08:00
Alastor Wu
59b85ce47d Bug 1309162 - part2 : remove audio channel code from media element. r=jwwang
Remove the audio channel related codes.

MozReview-Commit-ID: Fc09gDDF21a

--HG--
extra : rebase_source : 08aa5c042924de7f0c9a9dffd3f71ecfa59e7a05
2016-11-26 02:34:42 +08:00
Alastor Wu
b32367de75 Bug 1309162 - part1 : create a separate class to handle audio channel releated stuffs. r=baku,jwwang
In order to keep the media element's code clear (spec code only), we want to remove our
custom policy code out from media element. This new class will handle all audio channel
related stuffs, eg. mute/unmuted operation from tab audio indicator, play/resume from
Fennec's media control.

MozReview-Commit-ID: 5mDqDBTnBOr

--HG--
extra : rebase_source : e9d4c3a41ce9a994ef4d44f059537a69f27c7c1e
2016-11-26 02:34:39 +08:00
Kilik Kuo
de713f4c77 Bug 1319686 - Remove the use of AutoNoJSAPI from HTMLMediaElement::NotifyAudioChannelAgent r=jwwang
MozReview-Commit-ID: FMKloJPpT93

--HG--
extra : rebase_source : 8796cdb9085882c319234595d5fa9aef67ba6532
2016-11-23 18:16:31 +08:00
Alastor Wu
ba429ab233 Bug 1301055 - part4 : special error dispatching stragedy for Fennec. r=jwwang
On Fennec, we would use external app (Android view) to play the media whih is
unsupported by gecko. We implement some special logic in error sink.

(1) dispatch "OpenMediaWithExternalApp" event
we use this event to start the android video player

(2) doesn't dispatch "error" event
some JS players won't let user to trigger play() again after receving the "error".
So we don't dispatch that event if we want to play the unsupported media more than once.

MozReview-Commit-ID: 7fZK5hdvaOG

--HG--
extra : rebase_source : 929db331c22e31a74f76dfa89a99a8adac65d0f6
2016-11-24 10:24:08 +08:00
Alastor Wu
a455141cb1 Bug 1301055 - part2 : create a error sink to handle media element's error related event. r=bkelly,jwwang
Error sink would be response for the error handling, we could write different
error dispatching stragedies for different situation. eg. if we can play
unsupported type media with external app, we won't dispatch the "error" event on fennec.

MozReview-Commit-ID: Lm4x9ksspAY

--HG--
extra : rebase_source : 05331714425ea111d21f06fc03abfc1b016654ca
2016-11-24 10:24:04 +08:00
Kilik Kuo
e883edbbf2 Bug 1316758-Remove nsContentUtils::LegacyIsCallerChromeOrNativeCode and IsCallerChrome calls from HTMLMediaElement. r=cpearce
MozReview-Commit-ID: 47pOATtfflP

--HG--
extra : rebase_source : 43123ebd61a2730b3ccdeaccfaf4dfccfb0cbe55
2016-11-18 10:30:00 +08:00
Alastor Wu
1c128b5ce5 Bug 1317167 - only need to do the untrust JS checking in play(). r=jwwang
The first checking condition in the IsAllowedPlay() is used to prevent the play() operation
is called by untrusted JS when media.autoplay.enabled=false. Therefore, we don't need to check
that in CanActivateAutoplay().

MozReview-Commit-ID: 6yqoG8ISyra

--HG--
extra : rebase_source : a3e52a1a5591691f503d7d4ca78dda63c05aef27
2016-11-17 15:09:59 +08:00
Bryce Van Dyk
51b7a05529 Bug 1298027 - Shut down CDMs when a containing document becomes inactive. r=cpearce
The previous changeset against this bug relaxed the conditions under which the
CDM and associated objects were shut down. This was to address moving a tab to a
new window breaking EME videos. However, this had the unwanted side effect of
not shutting down those objects early enough when pages are closed.

This changeset introduces a new check to see if the containing document is
currently active, if not we shutdown the CDM. This means CDMs are shutdown on
time, while retaining the desired behaviour that CDMs should not be shut down on
moving tabs to new windows. Shutdowns previously happened because we shut down
if a page hide happened, which took place during a reparent.

MozReview-Commit-ID: K5CD3ej43Y0

--HG--
extra : rebase_source : 28fdc277a89c371ad204d5e545779a5950063494
2016-11-14 15:02:48 +13:00
Bryce Van Dyk
5dbd650b59 Bug 1298027 - Relax decoder shutdown and mediakey removal on MediaElement suspension. r=cpearce
This changeset relaxes the shutting down of decoders and removal of mediakeys
when suspending HTMLMediaElements. This should now only happen for adobe
primetime. This alleviates, for non-primetime CDMs, the issue of videos
breaking when moving an EME protected video from a tab to a new window.

These conditions can be relaxed as neither clearkey or widevine support
secure stop. This means we don't need to shutdown their decoders and keys to
signal a stoppage, as at this stage, doing so doesn't give us secure stop and
instead means that playback is busted when we try to resume.

MozReview-Commit-ID: 3MGNXGGDVLS

--HG--
extra : rebase_source : cbf46b3da089f79d9b6729a02997d1a0a12b68a7
2016-10-31 10:55:19 +13:00
Alastor Wu
a97a900bc3 Bug 1315551 - part2 : check we have initialized agent when we want to call the agent's function. r=jwwang
Because the agent's initialization might fail if we don't get the valid inner window, we need to
check whether the agent exists before calling the agent's method.

MozReview-Commit-ID: IUuvyGh7CMd

--HG--
extra : rebase_source : 54d0811aad736abdbac5ae7c3cd8cfebed88923a
2016-11-08 11:08:02 +08:00
Phil Ringnalda
2d0fad04f6 Backed out changeset 87b698764664 (bug 1315521) for jetpack failures in test-leak-tab-events.js.test 2016-11-07 21:01:45 -08:00
Alastor Wu
50ccc2b3a2 Bug 1315521 - remove CC for audio channel agent. r=jwwang
Because audio channel agent uses weak ref to HTMLMediaElement, so we don't need to add it into the CC list.

MozReview-Commit-ID: 4cFfDUlbMFB

--HG--
extra : rebase_source : 4d595397d11e2e3c46cce17df148bea8f77f92e8
2016-11-08 11:03:23 +08:00
JW Wang
544c3e8512 Bug 1314547. Part 1 - remove the call to MediaDecoder::SetMediaSeekableOnlyInBufferedRanges(). r=cpearce
MozReview-Commit-ID: 52BESjY8f74

--HG--
extra : rebase_source : 132b2c54247864f1e594ba1da12108449ba2bce5
extra : source : b177332ca07279b2b577e9ac1ccb62c01bbb8cbe
2016-11-02 17:11:29 +08:00
JW Wang
e6bb1c3c9c Bug 1314529. Part 1 - remove the call to MediaDecoder::SetMediaSeekable(). r=cpearce
MozReview-Commit-ID: 1vsazRU9KNw

--HG--
extra : rebase_source : ec7a318b6e28322493f39bee59b34967e59c25c8
extra : source : 8495dbe9dae7566dd26e82fdc4194335542f9b68
2016-11-02 14:39:18 +08: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
Alastor Wu
9e8e7969e0 Bug 1302350 - part6 : ensure loading process doens't be interrupted even media element can't be played. r=jwwang
We don't want to stop the loading process even we canceled the play operation.

MozReview-Commit-ID: FyPqBlDKYo0

--HG--
extra : rebase_source : fdbc4390a7763bdbe26e8b809d977234bb5360ea
2016-11-02 14:22:35 +08:00
Alastor Wu
a7414dc3e6 Bug 1302350 - part4 : refactor the media-blocking mechanism. r=jwwang
The old way is to start playing first, and then block the media element. This
way is too complicated because it involves lots of interal state and isn't intuitive.

The new way is to ignore the play if the media element should be blocked. It's
easy to know and we doesn't need to keep any internal states because we don't play
the media element.

MozReview-Commit-ID: B20e0pvXES4

--HG--
extra : rebase_source : 6bff5447783c2997050e5c69884afe2c85ddf382
2016-11-02 14:22:24 +08:00
Alastor Wu
c2f555c0fd Bug 1302350 - part2 : provide a method to check whether the agent was started. r=baku
Since the agent is created in beginning in patch1, we need another way to know
whether we have already called notifyStartedPlaying().

MozReview-Commit-ID: 5YNhwEl5Xfp

--HG--
extra : rebase_source : 6a2913e5d81591faf1a7383d9fcb9db2cf3f83d3
2016-11-01 17:46:09 +08:00
Alastor Wu
8dda44f0e7 Bug 1302350 - part1 : create audio channel agent in the beginning. r=baku
We create audio channel agent in the beginning in oreder to use some agent's methods.
But the agent is still started after media element starting playing.

MozReview-Commit-ID: KPGb7snB2t7

--HG--
extra : rebase_source : dba4b687f572d520481721f48a0b4e9796f73e1f
2016-11-01 17:46:07 +08:00
Andreas Pehrson
bc27f7ec47 Bug 1301675 - Uncomment assertion for when removed live track was not found. r=jib
It needs an extra guard for when we're an audio element and a live video track
was removed. That's ok and we should ignore it.

MozReview-Commit-ID: FVw3lDKd4oU

--HG--
extra : rebase_source : 3156abdcd5c57932e8edb61e78ffb568e4edbf2a
2016-09-23 16:56:39 +02:00
Andreas Pehrson
825d513165 Bug 1301675 - Rename BasicUnstoppableTrackSource to BasicTrackSource. r=jib
They are not unstoppable any longer. We just don't forward Stop() to the real source.

MozReview-Commit-ID: FdFccMsD3eb

--HG--
extra : rebase_source : e29a1abb8f2060cb72399d61d91ca3a00128f08c
2016-09-16 15:19:28 +02:00
Andreas Pehrson
46a4616487 Bug 1301675 - Clarify why we don't need to do anything on DecoderCaptureTrackSource::Stop(). r=jib
MozReview-Commit-ID: H1zaO1FKWvK

--HG--
extra : rebase_source : ec577dbb20db6b112a6981c21a291d6c539aaee0
2016-09-16 11:10:17 +02:00
Andreas Pehrson
220b0176e0 Bug 1301675 - Implement StreamCaptureTrackSource::Stop. r=jib
MozReview-Commit-ID: 2qwNba6bA80

--HG--
extra : rebase_source : 703bf47ec1c838a4c0cb9bb7d4d21dbfb361927a
2016-09-23 16:53:10 +02:00
Andreas Pehrson
159d4ead9e Bug 1301675 - Remove MediaStreamTrackSource::mIsRemote. r=jib
MediaStreamTrack.remote is no longer part of the spec.

MozReview-Commit-ID: BgHJ1zNIoWN

--HG--
extra : rebase_source : 11022eb420cbdb0c7aa5aa7814cf35330f4170b9
2016-09-12 15:59:58 +02:00
Andreas Pehrson
1532393ba1 Bug 1208316 - A media element should autoplay a MediaStream that becomes active. r=jib
MozReview-Commit-ID: 98H7REtqShI

--HG--
extra : rebase_source : 6f09c16929b9ac2b75f05bfcd874a4b429669783
2016-09-14 10:04:26 +02:00
Andreas Pehrson
367ed14d80 Bug 1208316 - HTMLMediaElement.ended should follow MediaStream.active. r=jib
MozReview-Commit-ID: CIJZz5khY8R

--HG--
extra : rebase_source : 6ca86aa8d77241e9ce1a199d7c71614ab72dd718
2016-09-14 10:02:23 +02:00
Andreas Pehrson
9d8d0aeb38 Bug 1208316 - Notify watchers on StreamListener::Forget(). r=jib
This makes sense because the result of StreamListener::NextFrameStatus depends
on mElement.

MozReview-Commit-ID: 8W7nGLpRxE1

--HG--
extra : rebase_source : 48f9c3c637eb01430446dbaf683e65008df19147
2016-09-13 10:42:28 +02:00
Andreas Pehrson
bffd28794f Bug 1208316 - Punch a hole for media element captureStream to only go inactive as source ends. r=jib
MozReview-Commit-ID: 3H0m3fYMw1Y

--HG--
extra : rebase_source : 0eedf84ee9360fada6b4f4d17cb7bdf296f861e8
2016-09-15 14:18:22 +02:00
Andreas Pehrson
d88a8a02fa Bug 1208316 - Rename MediaStreamTrack::NotifyEnded to OverrideEnded. r=jib
Better semantics for what I want to do with NotifyEnded in later patches in the bug.

MozReview-Commit-ID: 8X0BdiVncNo

--HG--
extra : rebase_source : f36f5a17f2294c6ad9b5db2593b41eb8cd8a9a15
2016-09-08 11:06:21 +02:00
Andreas Pehrson
a8d8f14cac Bug 1208316 - End a media element when its MediaStream source goes inactive. r=jib
MozReview-Commit-ID: 89LMDSsJLJP

--HG--
extra : rebase_source : 2746ee704d51724be7001fd746c5fcea92f36eb1
2016-09-08 13:42:36 +02:00
Sebastian Hengst
bd00edae92 Backed out changeset fc6a63bedaec (bug 1298027) for timing out in test_eme_stream_capture_blocked_case3.html on Windows 7 opt and pgo. r=backout a=backout
MozReview-Commit-ID: DR4bw1NuCga
2016-10-31 19:56:09 +01:00
Bryce Van Dyk
edd3737449 Bug 1298027 - Relax decoder shutdown and mediakey removal on MediaElement suspension. r=cpearce
This changeset relaxes the shutting down of decoders and removal of mediakeys
when suspending HTMLMediaElements. This should now only happen for adobe
primetime. This alleviates, for non-primetime CDMs, the issue of videos
breaking when moving an EME protected video from a tab to a new window.

These conditions can be relaxed as neither clearkey or widevine support
secure stop. This means we don't need to shutdown their decoders and keys to
signal a stoppage, as at this stage, doing so doesn't give us secure stop and
instead means that playback is busted when we try to resume.

MozReview-Commit-ID: 3MGNXGGDVLS

--HG--
extra : rebase_source : a13fd5fa570a6868af6c3ed7b3dbfab173a9ffef
2016-10-31 10:55:19 +13:00
Ryan VanderMeulen
a41f7d1058 Merge autoland to m-c. a=merge 2016-10-29 09:12:45 -04:00
Chris Pearce
812726afd0 Bug 1308821 - Ensure ClearKey doesn't parse a keyids initdata format session type parameter. r=kikuo
The specification doesn't require there to be a 'type' member of
the keyids init data format.

MozReview-Commit-ID: 7mOm7KwyyuC

--HG--
extra : source : c9fb674f3cb8dff4fe8734e0426e67825878015d
2016-10-09 20:42:01 -07:00
Jean-Yves Avenard
7bf85d7878 Bug 1312886: P7. Handle case where nextFrameStatus jumps straight to NEXT_FRAME_UNAVAILABLE_BUFFERING. r=jwwang
Under some circumstances, we will go from NEXT_FRAME_AVAILABLE to NEXT_FRAME_UNAVAILABLE_BUFFERING directly. We handle this condition now

MozReview-Commit-ID: JVAQhsgzSp2

--HG--
extra : rebase_source : e615e17d49bd35ecb9cb7db84501489ec5e12903
2016-10-27 21:12:20 +11:00
Jean-Yves Avenard
27831447c8 Bug 1312886: P2. Never move past HAVE_FUTURE_DATA if we're waiting for a key, r=cpearce
MozReview-Commit-ID: KWERB7zWXPZ

--HG--
extra : rebase_source : cb2ff70285120a4a87c18951a352743623a879b4
2016-10-27 16:36:37 +11:00
Alastor Wu
10ed91bc28 Bug 1302453 - part1 : send new gecko event when media is resumed. r=baku
We uses "media-playback" event to notify fennec media control about media start
and end. However, if we resume media which was paused by media control, it won't
send any notification to JAVA side so that the MediaControlService can't change
the correct playing icon.

Therefore, we create new event to inform this situation.

MozReview-Commit-ID: zScaHxvHXM

--HG--
extra : rebase_source : e1434840de36d8621a58fc7406b0f42673a2f3db
2016-10-27 09:59:55 +08:00
Phil Ringnalda
62997f0b4b Backed out changeset 9b132e52aa0a (bug 1308821) for wpt encrypted-media/clearkey timeouts and unexpected passes 2016-10-26 19:07:49 -07:00
Phil Ringnalda
d41a1c1da4 Merge m-c to autoland 2016-10-26 18:57:56 -07:00
Chris Pearce
b6dbc9a4a9 Bug 1308821 - Ensure ClearKey doesn't parse a keyids initdata format session type parameter. r=kikuo
The specification doesn't require there to be a 'type' member of
the keyids init data format.

MozReview-Commit-ID: 7mOm7KwyyuC

--HG--
extra : rebase_source : 88b729ae0b0f851763bbd06ec48bae2d6ac1c47e
2016-10-09 20:42:01 -07:00
Andreas Pehrson
a4daeb341b Bug 1294605 - Media element captureStream() streams shouldn't keep devices alive. r=jib
MozReview-Commit-ID: 3tSFbygTZs1

--HG--
extra : rebase_source : 4fabcaa16c28ca82c79361206faad976c296fa35
extra : intermediate-source : aec40f5bbff71e0d1e9234f06e558daf8783ffff
extra : source : 493751ad2c24c188ae1c01d5c398dcdd7445f581
2016-08-29 16:27:11 +02:00
Jean-Yves Avenard
eeb042a75d Bug 1312594: Do not clear resource when error occurs. r=jwwang
MozReview-Commit-ID: EFrURgSYvdb

--HG--
extra : rebase_source : 1ceed3c71b7da7500cab6b37780a236ecca729dc
2016-10-25 13:36:26 +11:00
Chris Pearce
0833297e6b Bug 1310548 - Delay firing of 'waitingforkey' until all decoded data has been rendered. r=jya
This means 'waitingforkey' will be fired at a predictable time.

MozReview-Commit-ID: HMt1RbgrbuR

--HG--
extra : rebase_source : cb8c36eacd3e78ae5105cd30da7a51d8241dbd5b
2016-10-17 14:16:54 +13:00
Sebastian Hengst
775580cb98 Backed out changeset 443a94083e00 (bug 1294605)
--HG--
extra : source : b82347df2602f07c7b190f0fbf7a6991d6022044
2016-10-20 20:03:16 +02:00
Andreas Pehrson
8651bced6e Bug 1294605 - Media element captureStream() streams shouldn't keep devices alive. r=jib
MozReview-Commit-ID: 3tSFbygTZs1

--HG--
extra : rebase_source : ae29940ba7c2fdedec35c3c010317a4f1d74d092
extra : source : 493751ad2c24c188ae1c01d5c398dcdd7445f581
2016-08-29 16:27:11 +02:00
Iris Hsiao
b28cf9af87 Backed out changeset 8e21afb88dbb (bug 1294605)
CLOSED TREE
2016-10-26 17:54:51 +08:00
Andreas Pehrson
7e7913f113 Bug 1294605 - Media element captureStream() streams shouldn't keep devices alive. r=jib
MozReview-Commit-ID: 3tSFbygTZs1
2016-08-29 16:27:11 +02:00
Sebastian Hengst
3c1524e5e0 Bug 1306137 - remove b2g camera code: Remove dom/camera/ and code which depends on it. r=aosmond,bkelly
MozReview-Commit-ID: 7gvZrDtmcZP

--HG--
extra : rebase_source : 31f06357fdc36566465668f55bf3fcc5402fe9e0
2016-10-04 20:16:28 +02:00
Gerald Squelart
05ae515444 Bug 1176218 - p4. Use DecoderTraits::CanHandleContentType in HTMLMediaElement - r=jya
MozReview-Commit-ID: IQFvgI6h1tE

--HG--
extra : rebase_source : 11bcd26aaf0fd74fb02416b1d0c9b4c2b5d73345
2016-09-26 13:31:57 +10:00
Alastor Wu
10174cc9eb Bug 1308119 - replace nsIAudioChannelAgent with AudioChannelAgent. r=baku
Since I want to use more agent's functions in MediaElement and I don't think these functions need to be exposed on IDL level. (for other languages binding)

Therefore, I want to use AudioChannelAgent directly in MediaElement.

MozReview-Commit-ID: 43FvDeLpZPt

--HG--
extra : rebase_source : 78741d791eb66cfb6223866ce823f217e3438fdb
2016-10-07 10:35:01 +08:00
Alastor Wu
c861a7e452 Bug 1302084 - the error checking should have highest priority. r=baku
MozReview-Commit-ID: 9QC5CG7p28M

--HG--
extra : rebase_source : dfbe93739c2dbe6b8e6640fd9ef54a8c1f4dd040
2016-10-06 12:07:33 +08:00
Alastor Wu
0331c39ab1 Bug 1303554 - part2 : remove the b2g specific checking in IsCurrentlyPlaying(). r=baku
MozReview-Commit-ID: 5kUJc24uEIH

--HG--
extra : rebase_source : b1b059a0b3d579f301d3aa9bde336ecf86fadd02
2016-10-05 10:07:54 +08:00
Alastor Wu
94f2fcca3d Bug 1303554 - part1 : notify start-playing after having enough data. r=baku
Regression by bug1262053 because of removing the current playing checking.
It would cause that the media control on Fennec shows too early and some media
elements would also generate the media control even it doens't have available
source.

Therefore, I think we still need to add this checking back.

MozReview-Commit-ID: 1m1ywmLmpSe

--HG--
extra : rebase_source : 30741b0e7bf1bb15349caaf1ecbcdad8cd92dcc3
2016-10-05 10:07:49 +08:00
Chris Pearce
efc3fcbec9 Bug 1307595 - Fixup bad merge conflict resolution from Bug 1300654/8eef5d2cc850. r=partial-backout
8eef5d2cc850 in Bug 1300654 incorrectly resolved a merge conflict and backed
out part of the fix for Bug 1280829. Relanding.

MozReview-Commit-ID: 6DIkUrc9R4t
2016-10-05 13:12:03 +13:00
JW Wang
4988b09533 Bug 1239899. Part 2 - per spec. await a stable state to pause the element when it is removed from the document. r=cpearce
MozReview-Commit-ID: BCCWgXmUchU

--HG--
extra : rebase_source : 4abe51e9ebce048db99fc6bff2b2d283bbb3acf1
extra : source : 18b3ff4dbb9654a159522c4cc64d2b41921c7f11
2016-09-23 16:16:43 +08:00
JW Wang
0a2c5a3d36 Bug 1239899. Part 1 - Remove ElementInTreeState for ELEMENT_NOT_INTREE and ELEMENT_INTREE are not used at all. We can use a bool flag to do the job. r=cpearce
MozReview-Commit-ID: 4htNy1dZODF

--HG--
extra : rebase_source : 32776b1201d156f6ed5b60e8b2609ba3abd586af
extra : source : 34900c8548e5527129b0af9cb4b25faa9127f305
2016-09-23 14:51:52 +08:00
JW Wang
1364ebc2ad Bug 1304134. Part 2 - per spec. fire 'playing' when autoplay is activated. r=cpearce
MozReview-Commit-ID: 4fFUvquMgEC

--HG--
extra : rebase_source : 5936561bf1a3143e5df8cfe8ae95c28c9d775821
2016-09-23 14:05:44 +08:00
JW Wang
77193cb7b1 Bug 1304134. Part 1 - per spec. (https://dev.w3.org/html5/spec-preview/media-elements.html#ready-states) 'playing' should be fired before activating autoplay. r=cpearce
Also replace the check for IsPotentiallyPlaying() with !mPaused because mReadyState >= HAVE_FUTURE_DATA guarantees playback is not ended.

MozReview-Commit-ID: HetaVDgYEW0

--HG--
extra : rebase_source : 94dd2156db419240ad4462208540e9f98f1c8050
2016-09-23 14:03:50 +08:00
Carsten "Tomcat" Book
762cd18602 Merge mozilla-central to autoland 2016-09-28 16:52:13 +02:00
James Andreou
a47ce92ac2 Bug 1282124 - Remove nsILoadInfo.usePrivateBrowsing and the SEC_FORCE_PRIVATE_BROWSING flag; r=smaug,jryans 2016-09-27 16:56:44 -04: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
Carsten "Tomcat" Book
ce8c91d458 Merge mozilla-central to mozilla-inbound 2016-09-22 11:56:22 +02:00
Chris Pearce
7a191ffc4f Bug 1304604 - Use EventTarget to simplyfy HTMLMediaElement.onencrypted implementation. r=smaug
MozReview-Commit-ID: EUpZX4ODgNj

--HG--
extra : rebase_source : dae4ac3da64b61bf282455f2b6e054e13e4cadc1
2016-09-22 16:25:38 +12:00
Chris Pearce
d42821ee80 Bug 1304247 - Implement HTMLMediaElement.onwaitingforkeys. r=smaug
MozReview-Commit-ID: DhNV30BfksS

--HG--
extra : rebase_source : 5fab8f1b3333ff8607c0325907fbe7214234c001
2016-09-21 14:10:26 +12:00
Chris Pearce
7e7b3c9f0f Bug 1280829 - Only block non-MSE content which is encrypted once it reaches load metadata. r=jya
Previously, we'd block loading of non-MSE content when there was a MediaKeys
attached, that is, we'd assume that all content was EME content if a MediaKeys
was attached. But some sites attach a MediaKeys and then load non-MSE non-EME
content, and that (despite being a bit silly) shouldn't fail.


MozReview-Commit-ID: 9LupWaehXim

--HG--
extra : rebase_source : 6db281feb27a61b49dc565d4d4562a3d2366fc89
2016-09-21 13:04:01 +12:00
Jean-Yves Avenard
e555d04fbf Bug 1303970: P2. Fix "If the media data fetching process is aborted by the user steps". r=jwwang
MozReview-Commit-ID: 6n91VY00gAo

--HG--
extra : rebase_source : 61aab7eecb527c55199a597db7b08681206c3f2f
2016-09-20 19:52:06 +10:00
Jean-Yves Avenard
3eae3b5916 Bug 1303970: P1. MEDIA_ERR_ABORTED can be returned even if readyState is HAVE_NOTHING. r=jwwang
So change assertion accordingly.

MozReview-Commit-ID: AuaDlyF0MAL

--HG--
extra : rebase_source : 60f1b34c8320d8ad47845bfd9d8f23e27d3a8620
2016-09-20 19:36:09 +10:00
JW Wang
5e9751305f Bug 1303347 - add assertions for debugging if Observe() could ever happen after Unsubscribe(). r=cpearce
MozReview-Commit-ID: 9XhGYI3fTqb

--HG--
extra : rebase_source : b42dce2b15cb044871e355090dade17abf651ee9
2016-09-20 11:27:46 +08:00
Jean-Yves Avenard
26629fd77e Bug 1302632: P4. Do not change network state to NETWORK_EMPTY. r=jwwang
There's no such step defined in the spec. Despite, this code can no longer be called when readyState is HAVE_NOTHING

MozReview-Commit-ID: 2fDoNHt1COp

--HG--
extra : rebase_source : d8b79acee85b00331f55153626038e26cd4a72c7
2016-09-15 16:20:43 +10:00
Jean-Yves Avenard
895efe36db Bug 1302632: P3. Provide failures details to error attribute. r=jwwang
MozReview-Commit-ID: 3eIXOF96UR4

--HG--
extra : rebase_source : eeeb298d46bd8c6957560e475b7b1c4728a392dc
2016-09-15 16:17:10 +10:00
Jean-Yves Avenard
8a54c1a711 Bug 1302632: P1. Set proper error code when readyState is HAVE_NOTHING. r=jwwang
MozReview-Commit-ID: CMQkW5pPDF2

--HG--
extra : rebase_source : f0286af0b2daa2f91bbea66ab7bcf6de1a6d2207
2016-09-14 16:45:52 +10:00
Phil Ringnalda
cd6041148f Backed out 5 changesets (bug 1302632) for forthcoming failures
Backed out changeset f2ced742d6aa (bug 1302632)
Backed out changeset 55e7962d4fc0 (bug 1302632)
Backed out changeset b20f7c887e6c (bug 1302632)
Backed out changeset 22772e4a9c72 (bug 1302632)
Backed out changeset 7d7558864a66 (bug 1302632)
2016-09-15 21:39:00 -07:00
Jean-Yves Avenard
4faaba2ab5 Bug 1302632: P4. Do not change network state to NETWORK_EMPTY. r=jwwang
There's no such step defined in the spec. Despite, this code can no longer be called when readyState is HAVE_NOTHING

MozReview-Commit-ID: 2fDoNHt1COp

--HG--
extra : rebase_source : baa542cdf3144db8b941c20f22548c67bfc06346
2016-09-15 16:20:43 +10:00
Jean-Yves Avenard
64dda2968c Bug 1302632: P3. Provide failures details to error attribute. r=jwwang
MozReview-Commit-ID: 3eIXOF96UR4

--HG--
extra : rebase_source : 7f5b03e3a6f5dbb40b16b1460132993b60d071e6
2016-09-15 16:17:10 +10:00
Jean-Yves Avenard
f359140d9d Bug 1302632: P1. Set proper error code when readyState is HAVE_NOTHING. r=jwwang
MozReview-Commit-ID: CMQkW5pPDF2

--HG--
extra : rebase_source : 2bd7828104b8f3ac5bb1d8bdc3f84b652300cabe
2016-09-14 16:45:52 +10:00
Boris Zbarsky
0fd831e559 Bug 1302304. Remove IDL bits that reference nsIDOMMediaError; it's not needed anymore. r=bkelly 2016-09-15 11:41:35 -04:00
Carsten "Tomcat" Book
9a2448ee1c Merge mozilla-central to mozilla-inbound 2016-09-14 12:11:09 +02: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
kaku@mozilla.com
9a1c3746b2 Bug 1299718 part 3 - call MarkAsContentSource() at where using video element as a source; r=gerald,kamidphish,mtseng
MozReview-Commit-ID: Kg6UpcsCi0P
2016-09-14 15:50:29 +10:00
kaku@mozilla.com
09ae2d424f Bug 1299718 part 2 - implement the MarkAsContentSource() API; r=gerald,kamidphish
MozReview-Commit-ID: 1eAdcMAmXSB
2016-09-14 15:50:29 +10:00
Kaku Kuo
5286ffa8da Bug 1284350. Reland on top of backouts "Bug 1299065 - invisible elements in the foreground should also be recorded; r=gerald" r=kaku
Instead of "not visible", "approximately visible", and "visible" (in display port) we now have "approximately not visible", and "approximately visible" which includes "visible".
2016-08-30 14:53:04 +08:00
Kaku Kuo
cca4120327 Bug 1284350. Reland on top of backouts "Bug 1282710 - Part 1 - implement the suspend and resume logics in HTMLMediaElement.cpp according to visibility events; r=cpearce r=kamidphish" r=kaku
Instead of "not visible", "approximately visible", and "visible" (in display port) we now have "approximately not visible", and "approximately visible" which includes "visible".
2016-07-04 13:26:40 +08:00
Timothy Nikkel
4a590050bf Bug 1284350. Backed out changeset 1bbb1ab928c7 (Bug 1282710 - Part 1 - implement the suspend and resume logics in HTMLMediaElement.cpp according to visibility events; r=cpearce r=kamidphish) 2016-09-12 00:19:06 -05:00
Timothy Nikkel
e7b23cbf0f Bug 1284350. Backed out changeset 06bf533a2bdd (Bug 1299065 - invisible elements in the foreground should also be recorded; r=gerald) 2016-09-08 18:07:36 -05:00
Wes Kocher
5cbc382303 Merge inbound to m-c a=merge 2016-09-07 17:54:24 -07:00
Andreas Pehrson
c166a2bf07 Bug 1300529 - Remove default arguments from HTMLMediaElement::CaptureStreamInternal. r=padenot
MozReview-Commit-ID: IL7odCBP74

--HG--
extra : rebase_source : 3202348010f7c22a218fd37ad745ae7332fb007c
2016-09-07 15:14:15 +02:00
Michael Layzell
c47fca1cd7 Bug 1018486 - Part 1: Changes in dom/, r=baku
MozReview-Commit-ID: 4tCUM4KRe81
2016-09-07 10:50:35 -04:00
Jeremy Chen
e42a48e81d Bug 1297306 - part5:create enum constructors for EnumTable. r=baku
Enable nsAttrValue::EnumTable to be initialized with enum. So, we could get rid
of the castings in EnumTable. Fix EnumTable initialization comment.

For those untyped enumerations, declare them with uint8_t, as to other typed
enumerations with type size larger than int16_t, force casting to int16_t.

Use {nullptr,0} instead of {0} to represent the last entry.

MozReview-Commit-ID: 7Dma3Apkmxj

--HG--
extra : rebase_source : b2289866c4c33d80c8e170727bf109d018d92f67
2016-09-07 10:20:17 +08:00
Gerald Squelart
693932c5aa Bug 1300459 - Pass MediaInfo by const-ref to SetMediaInfo - r=jya
MozReview-Commit-ID: 5KvCBHmI1JC

--HG--
extra : rebase_source : aece207d36682e1a6cc4125ef660e2eb8f41d92c
2016-09-05 14:23:23 +10:00
Alastor Wu
384eb5f086 Bug 1298777 - don't need to capture audio for media element without audio track. r=jwwang
MozReview-Commit-ID: DKRGiuTGjtg

--HG--
extra : rebase_source : b5c2705b623d6479cb729f2a51aef637e59b1e39
2016-09-02 18:47:10 +08:00
Andreas Pehrson
3e21f8275b Bug 1299451 - Fix mozCaptureStream() happening after setting src but before having metadata. r=jesup
MozReview-Commit-ID: CKC3n3Nt5IE

--HG--
extra : rebase_source : 9c8348403cedb2ac7f68bce9fc5f36cfe2e08357
2016-08-31 14:54:03 +02:00
Andreas Pehrson
a91bec92ad Bug 1299172 - HTMLMediaElement::StreamSizeListener spring cleaning. r=jesup
MozReview-Commit-ID: 25lt1j8t1Xh

--HG--
extra : rebase_source : e972d008c5e80059dd10031df38cf400cc6c9650
2016-08-31 14:32:13 +02:00
Andreas Pehrson
864bcdc3c4 Bug 1299172 - Fix media element StreamSizeListener calling DispatchToMainThreadAfterStreamStateUpdate off-MSG-thread. r=jesup
MozReview-Commit-ID: Cc2tJbEog20

--HG--
extra : rebase_source : 83731e3fe29a7813a51f70eff8a0f43a21f92e1d
2016-08-31 14:31:28 +02:00
Kaku Kuo
60576ca55c Bug 1299065 - invisible elements in the foreground should also be recorded; r=gerald
MozReview-Commit-ID: 56JBbJ743DM

--HG--
extra : rebase_source : 2ff2066735bb89db066540716436ec5b33bfb449
2016-08-30 14:53:04 +08:00
Alastor Wu
56e48dbbf5 Bug 1262053 - part8 : remove function NotifyOwnerDocumentActivityChangedInternal. r=cpearce
MozReview-Commit-ID: DnWgQHGJLU5

--HG--
extra : rebase_source : a6c4ab94fad22b2bef1bdde07bc17246943128f7
2016-08-29 18:56:38 +08:00
Alastor Wu
97b81589f8 Bug 1262053 - part6 : don't need to capture media element without audio. r=baku,cpearce
MozReview-Commit-ID: GO6nXbzYwIy

--HG--
extra : rebase_source : 03aba373fde9133bf373292b2cdded5f04f22781
2016-08-29 18:56:32 +08:00
Alastor Wu
47079de3ad Bug 1262053 - part5 : register audio agent immediately when media element starts playing. r=baku
In ancient degisn, we would only register audio channel after the media element has audio track and enoguh data to playback,
that is because the "audio-playback" event would be dispatched with the registration, and then shows the tab audio indicator.

However, now the event dispatching doesn't follow with the registration, it would be triggered when the media element has
really audible data which would be notified from media decoder.

Therefore, the media element without audio track or without enough data can also register audio channel agent, it won't affect
the display of tab audio indicator. The reason we need to do that is for blocking autoplay media in the non-visited tab.

The autoplay can be adding "autoplay" keyword or playing by the script, and we don't want to dispatch dom event for blocked
media. Therefore, we should register audio channel agent to know whether it needs to be blocked immediately even the media
element doesn't have any enough data which can let us to distinguish it have any audio track or not (this information can
be known from metadata).

First, we must check whether the media is blocked which is notified by audio channel agent, and then we can decide whether
need to dispatch the event. If we don't register audio channel agent, that we can't get blocking information.

MozReview-Commit-ID: HLLkOuecql1

--HG--
extra : rebase_source : 99c34f0185276ecd5b70ae09959b47c584d1564e
2016-08-29 16:34:31 +08:00
Alastor Wu
9021286e9a Bug 1262053 - part4 : don't dispatch dom event for blocked media. r=cpearce
If the media was blocked, we would postpone the dom event and dispatch them after media is resumed.

MozReview-Commit-ID: LcdJtH16qQn

--HG--
extra : rebase_source : 209d18925a88a9e0dac82f2c0695ec1b60f54f63
2016-08-29 16:34:28 +08:00
Alastor Wu
c060486878 Bug 1262053 - part3 : modify media element for blocking autoplay media. r=cpearce
MozReview-Commit-ID: 8e13lkYTN46

--HG--
extra : rebase_source : 134d698c6136b8dcf0ef67c6b40df787c42cb886
2016-08-29 16:34:26 +08:00
Chris Pearce
1231058432 Bug 1262053 - part2 : remove old media.block-play-until-visible behaviour. r=cpearce
MozReview-Commit-ID: GujLSVfu2rp

--HG--
extra : rebase_source : 6d229b3817736039e46713c9e029dec8fd8d5913
2016-08-29 10:42:10 +08:00
Jean-Yves Avenard
816b36a832 Bug 1298594: P2. Fire waiting event when readyState move back to HAVE_CURRENT_DATA. r=jwwang
MozReview-Commit-ID: BpwYY6njXGC

--HG--
extra : rebase_source : 6dfe1998341ccf9fea69d8974f08aaa54385628d
2016-08-27 22:23:52 +10:00
Andreas Pehrson
d7f4cea968 Bug 1259788 - Ensure ready state is updated when first track added after NotifyTracksAvailable(). r=jesup
MozReview-Commit-ID: 1FwPfety82M

--HG--
extra : rebase_source : a241d20acddff8bac40ba9c1bc1c8318ead25fae
2016-08-19 13:41:48 +02:00
Andreas Pehrson
9a907cfbfc Bug 1259788 - Add a new disabled mode for MSG tracks. r=jesup
MozReview-Commit-ID: 1dMTR4Wmcd8

--HG--
extra : rebase_source : 8c2ea262d53901a11ec5c0e5067f328461dee8f2
2016-08-15 14:19:42 +02:00
Andreas Pehrson
091e8c0b00 Bug 1259788 - Support MediaStream sources for HTMLMediaElement.mozCaptureStream(). r=jesup
This adds support for HTMLMediaElement.mozCaptureStream() and
mozCaptureStreamUntilEnded() for a HTMLMediaElement playing a MediaStream.

This is up to spec, while capturing a HTMLMediaElement playing a file is not.
This incompatibility means we cannot mix sources for the returned MediaStream.

As such, a MediaStream returned while the HTMLMediaElement was playing a file
will only have content while the element is playing files. If the src changes
to a MediaStream, the stream will be empty.

It works the same way if a MediaStream was captured while the HTMLMediaElement
was playing another MediaStream.

This is due to TrackID management - MediaDecoder doesn't care, and creates new
tracks when you seek, so users are unable to keep track, while for MediaStream
we control everything from main thread and keep track of the TrackIDs used
previously.

This also adds a separate path from MediaElementAudioSourceNode so that we don't
forward video tracks when the returned MediaStream is only used internally for
WebAudio. We should in that case not require a DOMMediaStream but just forwarding
tracks to a TrackUnionStream should be enough, and will save us some cpu cycles.
This is however fine for now as it's simpler.

MozReview-Commit-ID: Bg8hESDISDU

--HG--
extra : rebase_source : 83885a73ec8cfc5fbe3c30a9330a52cd6b6dff12
extra : source : f1aec79078869c0a6435a1c06957c649d7a40dd9
2016-08-23 17:51:50 +02:00
Andreas Pehrson
83dcc7266e Bug 1259788 - Break out AddTrackInternal() from DOMMediaStream::CreateDOMTrack. r=jesup
Sometimes a track is added to a stream synchronously (before the stream is
exposed to script), and sometimes asynchronously (see the mediacapture-main spec
on the "addtrack" event).

In the latter case we might still need to create the MediaStreamTrack object
synchronously for tracking purposes. CaptureStream of Media element playing a
MediaStream wants this.

MozReview-Commit-ID: 7me8xzN7rwj

--HG--
extra : rebase_source : 4f129b127b855e47aad2ae9ab3981ffde057412d
2016-08-12 13:50:41 +02:00
Andreas Pehrson
e9d5ff0db1 Bug 1259788 - Rename CaptureStreamTrackSource to DecoderCaptureTrackSource. r=jesup
This prepares HTMLMediaElement for having a separate MediaStreamTrackSource for
MediaStreams, StreamCaptureTrackSource.

MozReview-Commit-ID: FVrYxFgvXgA

--HG--
extra : rebase_source : 5c162a0e861fa693fea0ba6b94b8e45446c0c13c
extra : source : a9151ac77a81573b8dbd9fee9c8aa09ba8dc7812
2016-07-06 12:15:27 +02:00
Andreas Pehrson
702bbad147 Bug 1259788 - Multi-track support for MediaTrackList. r=jesup
MozReview-Commit-ID: 1av5uvyCMYv

--HG--
extra : rebase_source : d60ecefbe55bf3d77521aaf3aced427e0012411a
extra : source : e108109d193b5f18e358fcb226d7700c5103d9cc
2016-08-24 10:58:04 +02: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
Bryce Van Dyk
bf4a449efb Bug 1145011 - Implement waitingforkey event. r=jya
Bubble information from SamplesWaitingForKey to an HTMLMediaElement so that we
can emit a waitingForKey event. If we are unable to decode more samples due to
needing a key the event will be signalled. See
http://w3c.github.io/encrypted-media/#dom-evt-waitingforkey for more information
on this event.

The code in place before this patch handles updating readyState when we are
waiting for a key, this patch adds the event which should be emitted in such a
case. The spec defines certain preconditions should be the case before running
the algo to emit this event. For example, the element should potentially be
playing, and it should have at least HAVE_FUTURE_DATA ready state. This is not
strictly true for when the new code is run, due how existing code handles ready
state. We are honoring the spirit of the spec, though the letter of the spec is
lightly gone against in the handling of the preconditions.

MozReview-Commit-ID: LKlDd4wkRSE

--HG--
extra : rebase_source : 2c61fc41636e430afa23240ad5d26c886124d87f
2016-08-22 08:51:01 +12:00
Gerald Squelart
eaa8256995 Bug 1295831 - Report VIDEO_INTER_KEYFRAME_MAX_MS=0 when only 1 keyframe - r=kaku
We will now record '0' in VIDEO_INTER_KEYFRAME_MAX_MS when only one keyframe is
found when playing a video (played for at least enough time to be eligible for
video-decode-suspend feature.)

MozReview-Commit-ID: ALDmSYxs2f1

--HG--
extra : rebase_source : 70b19e9c5c976f764a744dc4bf7a0760e80dd834
2016-08-18 11:54:00 +10: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
Jean-Yves Avenard
ca9b247d0a Bug 1294398: Always calculate seekable attribute value. r=jwwang
MozReview-Commit-ID: 2CHJxPQdVEg

--HG--
extra : rebase_source : e7ca98136d7d954911683e66fcf39920aca24267
2016-08-11 20:35:59 +10:00
Jean-Yves Avenard
c5b030a3f3 Bug 1293927: Always use MediaSource seekable range regardless of readyState. r=jwwang
MozReview-Commit-ID: 7ae467k5PSf

--HG--
extra : rebase_source : 96e79cc0ba99272d9573a427408e820cb496c106
2016-08-10 14:14:37 +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
Carsten "Tomcat" Book
553a2da922 merge mozilla-inbound to mozilla-central a=merge 2016-08-10 15:54:26 +02:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10: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
Alastor Wu
d5a9e0c263 Bug 1283417 - part1 : implement function to notify cue's display states changed. r=bechen
MozReview-Commit-ID: AF2S2UOLCt1

--HG--
extra : rebase_source : a49043e2114cba053168b5e3f52f3846c456b2fa
2016-08-09 16:43:07 +08:00
Gerald Squelart
d78a374b2d Bug 1293145 - Simulate video-decode-suspend for telemetry purposes - r=kamidphish
After a video has been playing while hidden for a certain time, count the time
until it is not hidden anymore (or it has finished playing), to test-drive how
much decoding time would have been saved by the video-decode-suspend feature.

Note that this is done inside HTMLMediaElement by simulating what should happen
in the MDSM, because instrumenting the MDSM itself and friends would have been
harder and more intrusive.

MozReview-Commit-ID: LdxhPtmoXeA

--HG--
extra : rebase_source : 151e1f1383ab5c445eb8c957be8363340cdc4ab1
2016-08-08 10:14:39 +08:00
Iris Hsiao
36c9d770e1 Backed out changeset 41138b630cdc (bug 1293145) for nsCOMPtr crash \
CLOSED TREE
2016-08-09 14:21:22 +08:00
Gerald Squelart
5ab439ad36 Bug 1293145 - Simulate video-decode-suspend for telemetry purposes - r=kamidphish
After a video has been playing while hidden for a certain time, count the time
until it is not hidden anymore (or it has finished playing), to test-drive how
much decoding time would have been saved by the video-decode-suspend feature.

Note that this is done inside HTMLMediaElement by simulating what should happen
in the MDSM, because instrumenting the MDSM itself and friends would have been
harder and more intrusive.

MozReview-Commit-ID: LdxhPtmoXeA

--HG--
extra : rebase_source : c4063d7c39b56e62e4f397bc21ef889ed14307c8
2016-08-08 10:14:39 +08:00
Wes Kocher
83c7e63697 Merge m-c to inbound, a=merge 2016-08-05 14:06:00 -07:00
Jean-Yves Avenard
91fecd5799 Bug 1292157: Ignore preload value when dealing with MediaSource originated URI. r=jwwang
MozReview-Commit-ID: CN9w9XJj2YR

--HG--
extra : rebase_source : 60c809ab8d65f9abfe75ec524a1ae2ecbd6b7f00
2016-08-05 11:15:50 +10:00
Yoshi Huang
a520e75a4d Bug 1264231 - Part 3: remove loadInfo work-around. r=sicking 2016-08-05 19:44:57 +08:00
ctai
2c69985ffe Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup
In this patch, we first deal with the case of MediaElement. Now we replace |PlayVideo| with |VideoFrameContainer::SetCurrentFrames| in |SourceMediaStream::AppendToTrack|. The MSG use TimeStamp::Now() for the TimeStamp of each video frame in most of case except MediaElement case. Becasue the MediaElement has its own VideoQueue, we need to calucalte the correct Timestamp based on the StartTimeStamp of this MediaStream and the elpased time of the video frame in DecodedStream.

MozReview-Commit-ID: 2bm2AHkFXHu

--HG--
extra : transplant_source : %3D%AA%00%CE%A3SV5%8F%84%96%AC%E2%D9%10%EC%85%07N%DF
2016-07-25 10:01:26 +08:00
ctai
384447b1ba Bug 1201363 - Adding Add/RemoveVideoOutput into VideoStreamTrack. r=jesup
MozReview-Commit-ID: JmKotuB3pBM

--HG--
extra : transplant_source : %DE%90%A1%E0%CC%FD%27%AC%BB%931%9F%EF%B8M%CE%F0%C3%3F%B7
2016-07-19 11:45:27 +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
Sebastian Hengst
120f502e2a Backed out changeset 3851902daa94 (bug 1201363) 2016-08-03 19:33:25 +02:00
Sebastian Hengst
f0fd44f274 Backed out changeset 0744bfe6854f (bug 1201363) 2016-08-03 19:33:25 +02:00
Sebastian Hengst
f4671c3b11 Backed out changeset 4111e388bd90 (bug 1201363) 2016-08-03 19:33:25 +02:00
ctai
a3cc6128d3 Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup
In this patch, we first deal with the case of MediaElement. Now we replace |PlayVideo| with |VideoFrameContainer::SetCurrentFrames| in |SourceMediaStream::AppendToTrack|. The MSG use TimeStamp::Now() for the TimeStamp of each video frame in most of case except MediaElement case. Becasue the MediaElement has its own VideoQueue, we need to calucalte the correct Timestamp based on the StartTimeStamp of this MediaStream and the elpased time of the video frame in DecodedStream.

MozReview-Commit-ID: 2bm2AHkFXHu

--HG--
extra : amend_source : 7b9c51dcb4046c6c807d1cf1e48bef301e45fa8e
2016-07-25 10:01:26 +08:00
ctai
5585d51040 Bug 1201363 - Adding Add/RemoveVideoOutput into VideoStreamTrack. r=jesup
MozReview-Commit-ID: JmKotuB3pBM

--HG--
extra : amend_source : 7602267521f2974e6b62c01e32259bad0be87b2a
2016-07-19 11:45:27 +08:00
ctai
e28782c9ba 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 : amend_source : 7eb1e87fdcbc61f2f9831fa3a6d803cc50306604
2016-05-27 14:33:48 +08:00
Kaku Kuo
c05bed0045 Bug 1274626 part 1 - add a method to HTMLMediaElement for debugging visibilty change; r=jwwang,ehsan
MozReview-Commit-ID: B1gAc0KfmCQ

--HG--
extra : transplant_source : %F7%85%C0EhC%01%16%AB%60%C2%B0%1C3J%F5%2Co%8BG
2016-07-28 16:09:02 +08:00
Carsten "Tomcat" Book
740bb4ed16 Backed out changeset eb7f310f128d (bug 1274626) for breaking unified builds 2016-08-02 17:47:47 +02:00
Carsten "Tomcat" Book
7e324b6cdb Backed out changeset b018ce9d1484 (bug 1201363) 2016-08-02 12:53:59 +02:00
Carsten "Tomcat" Book
f4f5b9bafc Backed out changeset a6bafaf6bbe6 (bug 1201363) 2016-08-02 12:53:54 +02:00
Carsten "Tomcat" Book
27cb7f4d79 Backed out changeset 06c0a7eb7bc6 (bug 1201363) 2016-08-02 12:53:53 +02:00
ctai
edeaa48113 Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup
In this patch, we first deal with the case of MediaElement. Now we replace |PlayVideo| with |VideoFrameContainer::SetCurrentFrames| in |SourceMediaStream::AppendToTrack|. The MSG use TimeStamp::Now() for the TimeStamp of each video frame in most of case except MediaElement case. Becasue the MediaElement has its own VideoQueue, we need to calucalte the correct Timestamp based on the StartTimeStamp of this MediaStream and the elpased time of the video frame in DecodedStream.

MozReview-Commit-ID: 2bm2AHkFXHu

--HG--
extra : transplant_source : %C4n%D7a%10%CFK%D5%F2%DC%10%08%C2%24%EC%11%13J%DB%5D
2016-07-25 10:01:26 +08:00
ctai
4c7e5cf4e2 Bug 1201363 - Adding Add/RemoveVideoOutput into VideoStreamTrack. r=jesup
MozReview-Commit-ID: JmKotuB3pBM

--HG--
extra : transplant_source : %3C%98%88%98Y%04E%EF%F9%ED%D7%87%AD%C3%AF%EB%DA%D7Y%5C
2016-07-19 11:45:27 +08:00
ctai
0948ae3f3a 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 : %9D%86%93%A6%DF%D5%9Ep%20%DF%FD%C1%E2%BA%A3Gq%1A%7E%A3
2016-05-27 14:33:48 +08:00
Kaku Kuo
b5496ba72c Bug 1274626 - Part 1 - add a method to HTMLMediaElement for debugging visibilty change; r=jwwang,ehsan
MozReview-Commit-ID: B1gAc0KfmCQ

--HG--
extra : transplant_source : %FD%03/Y%C3%B0%04%3ACH%8D%87%89%A1%EC%F9%89%BC%E0%9A
2016-07-28 16:09:02 +08:00
Carsten "Tomcat" Book
fc8e03f0d8 Merge mozilla-central to autoland 2016-07-30 16:49:41 +02:00
JW Wang
65db31d2a5 Bug 1289649 - HTMLMediaElement should clear mDecoder when XPCOM shutdown begins. r=gerald
MozReview-Commit-ID: A3ECReCgiD7

--HG--
extra : rebase_source : 452e156b9ecb449f311bd47f0afcc3a4bd03e10e
2016-07-27 10:26:21 +08:00
Alastor Wu
4bb0811eb6 Bug 1288971 - notify audio playback changed by media element's play(). r=baku
Notify audible-changing when resuming audio by MediaElement::play() instead of control interface.

MozReview-Commit-ID: 10a1npQ46Th

--HG--
extra : rebase_source : 16cce6782a132a2aab4ad66dc216d6237fc2ba9f
2016-07-29 19:26:56 +08:00
James Willcox
aa17fe1d72 Bug 1286133 - Use Android VideoView to play HLS r=sebastian,jchen 2016-07-29 17:02:35 -05:00
Alastor Wu
0f54e0840d Bug 1282410 - part1 : open unsupported type media. r=cpearce 2016-07-29 17:02:31 -05:00
Gerald Squelart
0ea69c7f48 Bug 1289668 - Report inter-keyframe telemetry - r=kamidphish
Use the new FrameStatistics members to report telemetry about inter-keyframe
timings.

MozReview-Commit-ID: 1ZWU2qpSWyC

--HG--
extra : rebase_source : f13fffc2bc81ad6090c3f494cc99e1d198f3256d
2016-07-27 15:43:01 +10:00
Gerald Squelart
374f22a566 Bug 1289668 - HTMLMediaElement uses video decoder's frame statistics - r=kamidphish
HTMLVideoElement can expose its thread-safe FrameStatistics object, so that
HTMLMediaElement can access more adequate data for its telemetry, without
having to use an intermediary (and potentially less accurate)
VideoPlaybackQuality object.

This will also help with accessing other/new FrameStatistics members later on.

MozReview-Commit-ID: AT7mEGy0zGr

--HG--
extra : rebase_source : 35bf6673cc0acd9d4e6e1a58c573749689614d43
2016-07-26 11:32:58 +10:00
Gerald Squelart
8d5de8656a Bug 1289674 - Don't record video telemetry when there is no video - r=kamidphish
MozReview-Commit-ID: nJniysQfpM

--HG--
extra : rebase_source : 4d158a46f233dcefbbfc36a47a29af15be690f21
2016-07-27 16:26:45 +10:00
JW Wang
8e6ae76d98 Bug 1289334 - HTMLMediaElement::ResetConnectionState() should shut down the decoder. r=cpearce
MozReview-Commit-ID: 7IZ2Y4Da7xZ

--HG--
extra : rebase_source : 492b0caa52fca17d2c399c2f0e2c426c6f55872f
2016-07-26 16:37:45 +08:00
Carsten "Tomcat" Book
b73990fc83 Merge mozilla-central to mozilla-inbound 2016-07-21 16:26:18 +02:00
Andrea Marchesini
8183e57459 Bug 1279493 - Use blob URLs exclusively rather than having mediastream and mediasource URLs, r=smaug 2016-07-21 14:31:43 +02:00
Gerald Squelart
b0c57eaceb Bug 1287987 - Record VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE telemetry - r=kamidphish
MozReview-Commit-ID: FJk7Jn5mqTp

--HG--
extra : rebase_source : 23ef2df815e738d233a03592f528f6db48f24e26
2016-07-19 17:47:45 +10:00
Carsten "Tomcat" Book
668b63cbb9 merge autoland to mozilla-central a=merge 2016-07-20 10:59:12 +02:00
Carsten "Tomcat" Book
868b17897f merge fx-team to mozilla-central a=merge 2016-07-19 16:09:20 +02:00
Gerald Squelart
a515ff1c65 Bug 1287684 - Report HTMLMediaElement telemetry for non-MSE - r=rillian
Removed test blocking execution of ReportTelemetry in non-MSE case.

EME currently depends on MSE, so ReportEMETelemetry won't do anything in the
non-MSE case anyway. But I think it's good to remove the MSE test as well, in
case we change that limitation in the future.

MozReview-Commit-ID: 8sTg5F13KMs

--HG--
extra : rebase_source : f4acd3011f34be11b37c221ffd8439f6396fd37d
2016-07-19 14:33:55 +10:00
Sebastian Kaspari
7d659e0066 Backed out 3 changesets (bug 1282410)
Backed out changeset 39c367ecc144 (bug 1282410)
Backed out changeset 577309fc4bbb (bug 1282410)
Backed out changeset 339b5c5d3595 (bug 1282410)

MozReview-Commit-ID: 17IgTjbib20
2016-07-18 17:26:25 +02:00
Sebastian Kaspari
bb6eb374b4 Backed out changeset 83088b5375ae (bug 1284754)
MozReview-Commit-ID: F0AEFYIxgHI
2016-07-18 17:26:24 +02:00
Jean-Yves Avenard
6f49eb89cc Bug 1287021: [MSE] Set delaying-the-load-event-flag to false when attaching media source. r=jwwang
MozReview-Commit-ID: IsF1BPHrjce

--HG--
extra : rebase_source : 5639c3007979c2cdc2f5ac284cee068a1382aa14
2016-07-15 14:22:47 +10:00
Gerald Squelart
ddbe07d2c6 Bug 1286444 - Fix types when using VideoPlaybackQuality values - r=kinetik
These numbers are only used to calculate a percentage, so they don't really
need to be 64-bit long.

MozReview-Commit-ID: FfdyStjGITL

--HG--
extra : rebase_source : 704d7664a3462f68f2c495e3b5d66f71180d290b
2016-07-14 15:25:40 +10:00
Gerald Squelart
ee83c3575b Bug 1285419 - Record mediasource hidden play time - r=kamidphish
Note that this is a simple duration counter based on the existing (non-hidden)
play-time, but it only counts when video is playing while hidden.
There is no bucketing yet, future probes may add finer-grained information.

MozReview-Commit-ID: DUfryXjGBAN

--HG--
extra : rebase_source : 4d0bd7f60329dba6c6a6ab039cc733315c50b686
2016-07-08 16:40:31 +10:00
Chris Pearce
f3acbf5f85 Bug 1277813 - Consider HTMLMediaElement.load() in user generated event handler to allow autoplay. r=kinetik
This is so that if media autoplay is disabled, a site can capture user intent
to play in their click handlers by calling load() on an empty video element to
"bless" the video element with the ability to play later when the video has
loaded.

Large video sites typically have a catalog view of videos to chose from on
their main page, and when the user clicks on one, with this patch, the site can
bless a video element so that it will play by beginning the load of that video
in the click handler. Often these sites do a bunch of asynchronous things
before they actually get around to playing the video, they don't call play in
the click handler, so we need another way to bless the videos so they can play.

We allow seeks in a click handler to capture user intent to play, so I don't
see why we should not also allow a load() to capture user intent.


MozReview-Commit-ID: KzjNcn3s6od

--HG--
extra : rebase_source : 6424e04ecb5220b765b69e815fc7b15c49ea6cb8
2016-07-12 16:25:33 +12:00
Gregory Szorc
f21ec324a6 Merge mozilla-central to mozilla-inbound 2016-07-06 18:30:58 -07:00
Gregory Szorc
021d3fdfc7 Merge mozilla-central to mozilla-inbound 2016-07-06 18:26:17 -07:00
Alastor Wu
1c9d35df15 Bug 1282410 - part3 : add log. r=cpearce
MozReview-Commit-ID: KWf3uya31zv

--HG--
extra : rebase_source : 039f3d668204da35575262c36adc3bbef6b68109
2016-07-06 10:54:11 +08:00
Alastor Wu
3d564c05b3 Bug 1282410 - part1 : open unsupported type media. r=cpearce
MozReview-Commit-ID: 4fjkDlRgdt7

--HG--
extra : rebase_source : a59607b1236c0047b97d7ca05002f1960e20ce51
2016-07-06 10:34:29 +08:00
ctai
ff32ed223d Bug 1266646 - Change HTMLMediaElement::StreamSizeListerner to inherit MediaStreamTrackDirectListener. r=pehrsons
MozReview-Commit-ID: HnNv9BnlbDy

--HG--
extra : transplant_source : i0%FA%08%16%A6/%96%13%C5%F22%5E%EC%8C%2B%C6%B1%F3_
2016-05-10 17:02:15 +08:00
ctai
fd36b32d94 Bug 1266646 - Move group of MediaStreamListener to a new header file. r=pehrsons
This can reduce the include header dependency. MediaStreamVideoSink will inherit from DirectMediaStreamTrackListener. But we can't use forward declaration on MediaStreamListener because the usage of nsTArray<RefPtr<MediaStreamVideoSink>>.

MozReview-Commit-ID: 328s4Kw9NvW

--HG--
extra : transplant_source : %D2%18%E3%3B%0C%D8%F04%F3%EB%EB%A0%A7%8B%B1%A9%AB%97rY
2016-06-30 15:07:48 +08:00
Andreas Pehrson
e028368c0f Bug 1280445 - Remove wrapper from MediaStream. r=jesup, r=padenot
MozReview-Commit-ID: CTCFloIUXKa

--HG--
extra : rebase_source : b1c2073c638bb65c19a0f40e8d17e9a5bae15c98
extra : source : c6d854b3209e7de7d97153c0bfc492c1d5f1e6b5
2016-06-29 12:27:13 +02:00
Alastor Wu
eaa4a7e589 Bug 1284754 - modify typo error for the event openMediaWithExternalApp. r=jwwang
MozReview-Commit-ID: 1WeniGeQlqa

--HG--
extra : rebase_source : bfd3a68dfcc917d82495369ee70ca9c6351f10a3
2016-07-06 15:07:21 +08:00
Kaku Kuo
384567c29a Bug 1282710 - Part 1 - implement the suspend and resume logics in HTMLMediaElement.cpp according to visibility events; r=cpearce r=kamidphish
MozReview-Commit-ID: 4SyqzA1dnPB

--HG--
extra : transplant_source : %9B%B3%931N3%D75%2AH%5D%60%13T%0A%E8%7B%2A%EB%9E
2016-07-04 13:26:40 +08:00
bechen
30cae3d32d Bug 1279865 - Don't run TimeMarchesOn if the MediaElement is not played. r=rillian
1. If mHasUserInteraction MediaElement is false, don't run the TimeMarchesOn because the element is not played. 2. Update the activeCueList only in TimeMarchesOn(). 3. Run TimeMarchesOn() at the beginning of play. r=rillian

MozReview-Commit-ID: BhwsIfRm3B2

--HG--
extra : rebase_source : 9713d4f467f1d708f65a25e54435d0c6e8ff1816
2016-06-30 13:31:56 +08:00
Chris Pearce
58f2e7cb65 Bug 1282585 - Ensure content process doesn't crash if CDM crashes before MediaKeys attaches to media element or media element loads. r=jwwang
MozReview-Commit-ID: 2CpiDv6u4RP

--HG--
extra : rebase_source : bf0077826135e16667253c212b4897830c452e55
2016-06-29 16:09:24 +12:00
JW Wang
edf5b8db9c Bug 1235183. Part 5 - per comment 35, cancel existing |mChannelLoader| in AbortExistingLoads(). r=cpearce
MozReview-Commit-ID: 27DZC8rwAJ5

--HG--
extra : rebase_source : 71f7798675c2d6d9521a2615a5d0292bce107a0a
2016-06-29 07:50:33 +08:00
JW Wang
2ec53dfa9a Bug 1235183. Part 4 - create channel asynchronously. r=cpearce
MozReview-Commit-ID: 9JVuHhhMFoa

--HG--
extra : rebase_source : ca8e33fb4fcbd7fb0df0e1ffd52bd37be34c4434
2016-06-24 13:45:01 +08:00
JW Wang
7c52f8c397 Bug 1235183. Part 3 - move mChannel to ChannelLoader so it will be easier to create the channel asynchronously. r=cpearce
MozReview-Commit-ID: 5n8P0L7m0Iw

--HG--
extra : rebase_source : d15417c822467d04367cb19e40b9fdb8db822ae8
2016-06-24 10:41:43 +08:00
JW Wang
1377c9112b Bug 1235183. Part 2 - remove unnecessary null-checks. r=cpearce
MozReview-Commit-ID: 6XZMrjw440L

--HG--
extra : rebase_source : 02379fe62db21a6e7c804c76602e314dcf84178d
2016-06-23 17:15:50 +08:00
JW Wang
160b32e792 Bug 1235183. Part 1 - fix coding styles. r=cpearce
MozReview-Commit-ID: EDUC3ZvIdim

--HG--
extra : rebase_source : 115a16529c48ab3f987f0e88e99a7529e641497e
2016-06-23 17:09:42 +08:00
JW Wang
f7267b13db Bug 1274030 - clean VideoFrameContainer when "xpcom-shutdown" event received. r=cpearce
MozReview-Commit-ID: 92zeiNXSkjf
2016-05-22 21:39:55 +08:00
bechen
385d3a7e3b Bug 1280814 - Prevent the media::Interval crash due to the unexpected playback position. r=rillian
MozReview-Commit-ID: AZ9Gb2Y0wDF

--HG--
extra : transplant_source : %8F%FD%8EW%F2%23%0Ck%A5%A4x%FAB%3D%C3%25%09%89%84%A5
2016-06-20 15:58:58 +08:00
Kaku Kuo
9ace015fa5 Bug 1276272 - part 3 - implement promise-based HTMLMediaElement::seekToNextFrame(); r=jwwang
MozReview-Commit-ID: JaUQe5GK6bF

--HG--
extra : rebase_source : 63ffb58ca29776757cd869579e149a4330311e08
2016-06-09 20:27:39 +01:00
Sebastian Hengst
599c66055a Backed out changeset 2c235b056514 (bug 1266646) for frequently crashing in mda's test_streams_element_capture_createObjectURL.html. r=backout 2016-06-13 21:24:54 +02:00
Sebastian Hengst
f310d4012a Backed out changeset c89b8cc657b2 (bug 1266646) 2016-06-13 21:23:53 +02:00
ctai
4b40fd1bc1 Bug 1266646 - Rename MediaStreamDirectListener and MediaStreamTrackDirectListener to DirectMediaStreamListener and DirectMediaStreamTrackListener respectively. r=jesup,pehrsons
Rename those two function to better name alignment with AddDirectListener and AddDirectTrackListener.

MozReview-Commit-ID: 6QY08oyih1X

--HG--
extra : rebase_source : e0f2ac5de75d54a870f5a99f08505e40aa0696d9
2016-04-29 11:45:25 +08:00
ctai
4ab1e6cc57 Bug 1266646 - Change HTMLMediaElement::StreamSizeListerner to inherit MediaStreamTrackDirectListener. r=jesup, r=pehrsons
MozReview-Commit-ID: HnNv9BnlbDy

--HG--
extra : rebase_source : 7d04886895910b00964c2ce36a337873195b12fa
2016-05-10 17:02:15 +08:00
Jan-Ivar Bruaroey
9e1ebfb7eb Bug 1213517 - make track.applyConstraints() store constraints on success. r=jesup
MozReview-Commit-ID: CqTgWuBXSyD

--HG--
extra : rebase_source : c65cf51dfd3279820e2cb6262a369ce12490c946
2015-11-18 22:17:09 -05:00
Iris Hsiao
3366ed3525 Backed out changeset 015cb0829df5 (bug 1213517) 2016-07-18 15:41:47 +08:00
Jan-Ivar Bruaroey
9f04ae2af4 Bug 1213517 - make track.applyConstraints() store constraints on success. r=jesup
MozReview-Commit-ID: CqTgWuBXSyD

--HG--
extra : rebase_source : c65cf51dfd3279820e2cb6262a369ce12490c946
2015-11-18 22:17:09 -05:00
bechen
d120c38a97 Bug 1275808 - Move the UpdateCueDisplay() into TimeMarchesOn() as step 18. r=rillian
MozReview-Commit-ID: GrcZCjstBy9

--HG--
extra : rebase_source : 7848e6477595dcf0d83753a1c29489ea3f5cb689
2016-06-01 17:37:26 +08:00
Jean-Yves Avenard
0fa6daa947 Bug 1277729: Ignore readyState value when reporting the buffered range. r=jwwang
For plain media playback, the buffered range will always be empty if readyState is HAVE_NOTHING has we need to decode the metadata to determine the duration and eventually decode the first frame to determine the start time. With MSE however, the buffered range is per spec directly related to the source buffer buffered range.

So we can always simply query the MediaDecoder to determine the buffered range regardless of the readyState value.

MozReview-Commit-ID: BQs8iuUCiNw

--HG--
extra : rebase_source : 28fea8a89eab38b481a15d76061debacce86274f
2016-06-03 11:46:36 +10:00
Rinat
bb3780858f Bug 1274622 - Add media.default_volume preference. r=kinetik 2016-05-24 20:55:45 +03:00
bechen
e355a8b526 Bug 882718 - 1. Fix testcase crash/failed . 2. The cuechange event should be fired in TimeMarchesOn. r=rillian
MozReview-Commit-ID: EYi9iZ1mfjg

--HG--
extra : rebase_source : 2f652a3d4f072c87ba44de3650ff1358694444c1
2016-06-01 15:13:43 +08:00