Commit Graph

92 Commits

Author SHA1 Message Date
Jean-Yves Avenard
fb6bbafe09 Bug 1188887: P1. Allow seeking when readyState is HAVE_NOTHING. r=jwwang 2015-10-28 10:45:58 +11:00
Jean-Yves Avenard
38486b8704 Bug 1217304: P1. Only fire loadeddata once the first frame has been decoded. r=jwwang
We can't determine otherwise if data is actually playable at the current position
2015-10-23 23:34:05 +11:00
Bobby Holley
3b14342481 Bug 1216308 - Hoist IsCallerChrome check in HTMLMediaElement::Play to API entry point. r=bz 2015-10-19 17:54:46 -07:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Andrea Marchesini
d92668f3a0 Bug 1214659 - HTMLMediaElement::UpdateAudioChannelPlayingState() should be easy to read, r=roc 2015-10-15 00:59:00 +02:00
JW Wang
1cc6677a90 Bug 1214065 - Remove unused arguments from MediaDecoder::Load() and its friends. r=kinetik. 2015-10-14 11:46:27 +08:00
Andreas Pehrson
eb480b5acd Bug 1103188 - Break out MediaTrackListListener to an interface. r=roc
Other modules than MediaTrackLists may want to receive updates on a
DOMMediaStream's track set. This moves the MediaTrackListListener out of
the MediaTrackList class into DOMMediaStream as a general interface.

The logic for adding MediaTracks to the MediaTrackList when
MediaStreamTracks are added or removed from a DOMMediaStream is moved to
HTMLMediaElement as this fits the model better - HTMLMediaElement is the
owner of the MediaTrackLists.

--HG--
extra : commitid : 3I8mAeBB3oL
extra : rebase_source : 66b8ffcfb5343811c181e4169f295b08494f2ee0
2015-09-30 09:32:06 +08:00
Andreas Pehrson
937747498a Bug 1170958 - Refactor DOMMediaStream to contain a 3-stage track chain. r=roc
This lets us separate tracks by ownership like so:
* Input    - Owned by the producer of the DOMMediaStream (gUM etc.)
* Owned    - Contains Input tracks (per above) or tracks cloned tracks
             if this DOMMediaStream is a clone.
* Playback - Contains Owned tracks plus tracks addTrack()ed to this
             DOMMediaStream minus tracks removeTrack()ed from this
             DOMMediaStream.

--HG--
extra : commitid : GPSNwBVyD4j
extra : rebase_source : fba22e96c6c65a74e012509f3da67a4d7df7a244
2015-09-30 09:31:54 +08:00
Wes Kocher
03a1803261 Backed out 9 changesets (bug 1170958) for frequent test_getUserMedia_addTrackRemoveTrack.html failures
Backed out changeset 277c1f8098d1 (bug 1170958)
Backed out changeset aa86bb9eea95 (bug 1170958)
Backed out changeset 8af8b85a4b26 (bug 1170958)
Backed out changeset ec1bf225e9cb (bug 1170958)
Backed out changeset 4a04ddca2b6b (bug 1170958)
Backed out changeset e85c9977a311 (bug 1170958)
Backed out changeset 16b40ff04e8f (bug 1170958)
Backed out changeset ad206925c84a (bug 1170958)
Backed out changeset 2106eccec79b (bug 1170958)
2015-09-25 13:08:55 -07:00
Wes Kocher
b4a25c9f58 Backed out 7 changesets (bug 1103188) for frequent test_getUserMedia_addTrackRemoveTrack.html failures
Backed out changeset f0f33a8ef14c (bug 1103188)
Backed out changeset dbe0ebdebad5 (bug 1103188)
Backed out changeset bb656022a1a7 (bug 1103188)
Backed out changeset cc6b5f5ba444 (bug 1103188)
Backed out changeset ca97d52bf144 (bug 1103188)
Backed out changeset de8cc967f8eb (bug 1103188)
Backed out changeset 6da8f4905060 (bug 1103188)
2015-09-25 13:08:44 -07:00
Andreas Pehrson
9d10fc1441 Bug 1103188 - Break out MediaTrackListListener to an interface. r=roc
Other modules than MediaTrackLists may want to receive updates on a
DOMMediaStream's track set. This moves the MediaTrackListListener out of
the MediaTrackList class into DOMMediaStream as a general interface.

The logic for adding MediaTracks to the MediaTrackList when
MediaStreamTracks are added or removed from a DOMMediaStream is moved to
HTMLMediaElement as this fits the model better - HTMLMediaElement is the
owner of the MediaTrackLists.

--HG--
extra : commitid : FxucwRqUZUo
2015-09-25 23:23:31 +08:00
Andreas Pehrson
eacfc2cf0e Bug 1170958 - Refactor DOMMediaStream to contain a 3-stage track chain. r=roc
This lets us separate tracks by ownership like so:
* Input    - Owned by the producer of the DOMMediaStream (gUM etc.)
* Owned    - Contains Input tracks (per above) or tracks cloned tracks
             if this DOMMediaStream is a clone.
* Playback - Contains Owned tracks plus tracks addTrack()ed to this
             DOMMediaStream minus tracks removeTrack()ed from this
             DOMMediaStream.

--HG--
extra : commitid : Kvj9RrN9MgP
2015-09-25 23:23:18 +08:00
Gerald Squelart
f31596e5a6 Bug 1198435 - Call RemoveMediaElementFromURITable before modifying mLoadingSrc, so that a future LookupMediaElementURITable won't access this element anymore. r=rillian
--HG--
extra : rebase_source : 9702e206ed2bfaa0d32449e4f8798348ed307b63
2015-09-10 09:01:44 +02:00
Robert O'Callahan
6abd4c751d Bug 1200099. Stop using a distinct mPlaybackStream to play a media stream through an HTMLMediaElement. r=jwwang
--HG--
extra : commitid : 3xsVxxZxINX
extra : rebase_source : 7c51fb071f9f303919ece13ff44d7a9a4cc438a9
2015-08-31 23:33:53 +12:00
Ehsan Akhgari
3bdf742e41 Bug 1200208 - Send the audio-playback notification when the page calls HTMLMediaElement::Play() before the metadata has been fully loaded; r=baku 2015-08-31 20:44:23 -04:00
Ehsan Akhgari
b2e0a0c784 Backout bug 1200208 for build bustage on a CLOSED TREE 2015-08-31 16:49:27 -04:00
Ehsan Akhgari
8809ddec9b Bug 1200208 - Send the audio-playback notification when the page calls HTMLMediaElement::Play() before the metadata has been fully loaded; r=baku 2015-08-31 16:24:51 -04:00
Ryan VanderMeulen
851115d952 Backed out changeset 6b264cf230a0 (bug 1200208) for Windows bustage.
CLOSED TREE
2015-08-31 14:11:58 -04:00
Ehsan Akhgari
1fd49e2d20 Bug 1200208 - Send the audio-playback notification when the page calls HTMLMediaElement::Play() before the metadata has been fully loaded; r=baku 2015-08-31 13:44:55 -04:00
Jan-Ivar Bruaroey
f01e4a40fe Bug 1175523 - Add HTMLMediaElement.srcObject alias to .mozSrcObject. r=roc, r=smaug
--HG--
extra : rebase_source : 3fa835114a9157f872bd52e585f5c7c9c84e7e2f
2015-07-14 00:04:14 -04:00
Randall Barker
40f480f76d Bug 1178858 - Video would not playback after seek seekbar first if media.autoplay.enabled = false. r=cpearce
When autoplay is disabled, the media element was not detecting user
initiated seeking so when a script attempted to play after seeking,
playing would be blocked.
2015-07-24 15:56:00 +02:00
Paul Adenot
2ab300ac7b Bug 1156472 - Part 6 - Connect HTMLMediaElement and AudioContext to the capture stream when capturing is needed. r=roc 2015-07-24 14:28:17 +02:00
Wes Kocher
83b4188234 Backed out 14 changesets (bug 1156472) for test_getUserMedia_audioCapture.html failures on b2g emulator
Backed out changeset deec8eb18346 (bug 1156472)
Backed out changeset 0f5bec4c05ba (bug 1156472)
Backed out changeset 2dd83ac00bf9 (bug 1156472)
Backed out changeset abd4e47887f7 (bug 1156472)
Backed out changeset 4824d9874663 (bug 1156472)
Backed out changeset 12805598e6fa (bug 1156472)
Backed out changeset e2f0062a1f67 (bug 1156472)
Backed out changeset 99ef8e436a7f (bug 1156472)
Backed out changeset 65bbfc1546af (bug 1156472)
Backed out changeset 2ab4f16eaf0a (bug 1156472)
Backed out changeset 7f565685e20a (bug 1156472)
Backed out changeset 28c03c98cb2b (bug 1156472)
Backed out changeset d477cfba6e1d (bug 1156472)
Backed out changeset 9819fa56caa1 (bug 1156472)
2015-07-24 13:15:57 -07:00
Paul Adenot
b195db60a7 Bug 1156472 - Part 6 - Connect HTMLMediaElement and AudioContext to the capture stream when capturing is needed. r=roc 2015-07-24 14:28:17 +02:00
Carsten "Tomcat" Book
2b73aa4f63 Backed out 14 changesets (bug 1156472) for bustage on a CLOSED TREE
Backed out changeset 2ddbf85a42c0 (bug 1156472)
Backed out changeset 306d02e17081 (bug 1156472)
Backed out changeset 03598139f39a (bug 1156472)
Backed out changeset 4b1e6069b598 (bug 1156472)
Backed out changeset 6c588a5eaaec (bug 1156472)
Backed out changeset 8c98d7beaea7 (bug 1156472)
Backed out changeset fbf59fbb5875 (bug 1156472)
Backed out changeset 66479dd9eed9 (bug 1156472)
Backed out changeset c8502deeed33 (bug 1156472)
Backed out changeset 1a60ff1149a1 (bug 1156472)
Backed out changeset af1638279785 (bug 1156472)
Backed out changeset 8210276a98ca (bug 1156472)
Backed out changeset 13730e7c5997 (bug 1156472)
Backed out changeset 05acb71cf981 (bug 1156472)
2015-07-24 17:08:37 +02:00
Paul Adenot
c1a9ba0ab9 Bug 1156472 - Part 6 - Connect HTMLMediaElement and AudioContext to the capture stream when capturing is needed. r=roc 2015-07-24 14:28:17 +02:00
Bobby Holley
04eaf4c167 Bug 1184634 - Move various includes into the mozilla namespace. r=gerald
I did my a quick best-effort pass to fix up the most egregious ordering
problems. I left some big pre-existing messes alone.
2015-07-16 22:23:18 -07:00
Andrea Marchesini
4d18f7a4df Bug 1183700 - Don't prevent playback of media elements in a muted tab on desktop, r=ehsan
--HG--
rename : toolkit/content/tests/browser/browser_mediaPlayback.js => toolkit/content/tests/browser/browser_mediaPlayback_mute.js
rename : toolkit/content/tests/browser/browser_mute.js => toolkit/content/tests/browser/browser_mute2.js
rename : toolkit/content/tests/browser/file_mediaPlayback.html => toolkit/content/tests/browser/file_mediaPlayback2.html
rename : toolkit/content/tests/browser/file_mediaPlaybackFrame.html => toolkit/content/tests/browser/file_mediaPlaybackFrame2.html
2015-07-16 19:34:30 +01:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Ehsan Akhgari
59e89cba9d Bug 1180535 - Dispatch the media-playback notification when navigating away from a page that has a media element playing; r=baku
When navigating away from a document, we mute the playing media elements
through the NotifyOwnerDocumentActivityChanged() notification.
Sometimes, that function may notify the audio channel agent through its
call to AddRemoveSelfReference() which may call
UpdateAudioChannelPlayingState() and notify the agent, but when we're
navigating away from the page, playingThroughTheAudioChannel will always
be equal to mPlayingThroughTheAudioChannel, which causes us to not
notify the audio channel agent.

This patch fixes this by separating NotifyOwnerDocumentActivityChanged()
from its internal consumers, and forcefully notifying the audio channel
agent when we navigate away.
2015-07-11 13:16:39 -04:00
Andrea Marchesini
db14826639 Bug 1113086 - AudioChannel policy in Browser API - patch 1 - BrowserElementAudioChannel, r=ehsan
--HG--
rename : dom/audiochannel/AudioChannelAgent.h => dom/browser-element/BrowserElementAudioChannel.h
rename : dom/audiochannel/tests/file_telephonyPolicy.html => dom/browser-element/mochitest/test_browserElement_inproc_AudioChannel.html
rename : dom/audiochannel/tests/file_telephonyPolicy.html => dom/browser-element/mochitest/test_browserElement_oop_AudioChannel.html
rename : dom/audiochannel/AudioChannelCommon.h => dom/webidl/BrowserElementAudioChannel.webidl
2015-07-10 17:38:44 +01:00
Carsten "Tomcat" Book
c07e36b612 Backed out changeset bcfbdb934c37 (bug 1113086) for breaking cpp tests with timeouts in TestAudioChannelService.exe
--HG--
rename : dom/webidl/BrowserElementAudioChannel.webidl => dom/audiochannel/AudioChannelCommon.h
rename : dom/browser-element/mochitest/test_browserElement_oop_AudioChannel.html => dom/audiochannel/tests/file_telephonyPolicy.html
2015-07-11 14:14:58 +02:00
Carsten "Tomcat" Book
b8617ced73 Backed out changeset e11a8496bf63 (bug 1180535) 2015-07-11 14:13:32 +02:00
Ehsan Akhgari
6834ce768e Bug 1180535 - Dispatch the media-playback notification when navigating away from a page that has a media element playing; r=baku
When navigating away from a document, we mute the playing media elements
through the NotifyOwnerDocumentActivityChanged() notification.
Sometimes, that function may notify the audio channel agent through its
call to AddRemoveSelfReference() which may call
UpdateAudioChannelPlayingState() and notify the agent, but when we're
navigating away from the page, playingThroughTheAudioChannel will always
be equal to mPlayingThroughTheAudioChannel, which causes us to not
notify the audio channel agent.

This patch fixes this by separating NotifyOwnerDocumentActivityChanged()
from its internal consumers, and forcefully notifying the audio channel
agent when we navigate away.
2015-07-10 21:33:00 -04:00
Andrea Marchesini
3050bc370c Bug 1113086 - AudioChannel policy in Browser API - patch 1 - BrowserElementAudioChannel, r=ehsan
--HG--
rename : dom/audiochannel/AudioChannelAgent.h => dom/browser-element/BrowserElementAudioChannel.h
rename : dom/audiochannel/tests/file_telephonyPolicy.html => dom/browser-element/mochitest/test_browserElement_inproc_AudioChannel.html
rename : dom/audiochannel/tests/file_telephonyPolicy.html => dom/browser-element/mochitest/test_browserElement_oop_AudioChannel.html
rename : dom/audiochannel/AudioChannelCommon.h => dom/webidl/BrowserElementAudioChannel.webidl
2015-07-10 21:08:43 -04:00
Xidorn Quan
f23d866f51 Backed out 8 changesets (bug 1113086) for build bustage
Backed out changeset a20839dfd439 (bug 1113086)
Backed out changeset 675ea719b91c (bug 1113086)
Backed out changeset cfb34138bb9f (bug 1113086)
Backed out changeset b9525c60a737 (bug 1113086)
Backed out changeset 380859ae955b (bug 1113086)
Backed out changeset 5ec088f0892f (bug 1113086)
Backed out changeset caf57ae8cbce (bug 1113086)
Backed out changeset 0fc4dec6cd81 (bug 1113086)

--HG--
extra : histedit_source : d8dfd75d9dae36b7309ce78e3b4488faf57003da%2C48081711b7067191d8e4749fd3b572db59bc03f9
2015-07-11 10:55:59 +10:00
Andrea Marchesini
bbb0a11f31 Bug 1113086 - AudioChannel policy in Browser API - patch 1 - BrowserElementAudioChannel, r=ehsan
--HG--
rename : dom/browser-element/mochitest/test_browserElement_inproc_GetContentDimensions.html => dom/browser-element/mochitest/test_browserElement_inproc_AudioChannel.html
rename : dom/browser-element/mochitest/test_browserElement_oop_GetContentDimensions.html => dom/browser-element/mochitest/test_browserElement_oop_AudioChannel.html
2015-07-10 17:38:44 +01:00
Wes Kocher
19bb4e20b3 Backed out changeset d7e0eb7b42f9 (bug 1180535) for test_video_wakelock.html permafails CLOSED TREE 2015-07-10 15:36:39 -07:00
Ehsan Akhgari
608f045e48 Bug 1180535 - Dispatch the media-playback notification when navigating away from a page that has a media element playing; r=baku
When navigating away from a document, we mute the playing media elements
through the NotifyOwnerDocumentActivityChanged() notification.
Sometimes, that function may notify the audio channel agent through its
call to AddRemoveSelfReference() which may call
UpdateAudioChannelPlayingState() and notify the agent, but when we're
navigating away from the page, playingThroughTheAudioChannel will always
be equal to mPlayingThroughTheAudioChannel, which causes us to not
notify the audio channel agent.

This patch fixes this by separating NotifyOwnerDocumentActivityChanged()
from its internal consumers, and forcefully notifying the audio channel
agent when we navigate away.
2015-07-10 15:49:53 -04:00
Chris Pearce
985163cd1a Bug 1180563 - Add pref to delay play of <video>s until they're visible. r=kinetik 2015-07-09 11:10:16 +12:00
Hamzata Diallo
3f61ec7708 Bug 1178513 - Export libxul symbols needed by ACL. r=mattwoodrow
--HG--
extra : rebase_source : 77ebb8e1195c0e2570dbf5dbee54edfa5ecdab28
2015-07-02 15:19:35 -07:00
Ryan VanderMeulen
c848d2ee9b Backed out 7 changesets (bug 1113086) for various Gaia test failures.
Backed out changeset eb7e79a2c9e9 (bug 1113086)
Backed out changeset 3562a09b2bf3 (bug 1113086)
Backed out changeset 127cde112795 (bug 1113086)
Backed out changeset 84dc903151c1 (bug 1113086)
Backed out changeset 42dc5dbabdcd (bug 1113086)
Backed out changeset e1ad68356a74 (bug 1113086)
Backed out changeset 86b32f5442f2 (bug 1113086)
2015-06-18 13:00:25 -04:00
Andrea Marchesini
39b2fb9a00 Bug 1113086 - AudioChannel policy in Browser API - patch 1 - BrowserElementAudioChannel, r=ehsan
--HG--
rename : dom/browser-element/mochitest/test_browserElement_inproc_GetContentDimensions.html => dom/browser-element/mochitest/test_browserElement_inproc_AudioChannel.html
rename : dom/browser-element/mochitest/test_browserElement_oop_GetContentDimensions.html => dom/browser-element/mochitest/test_browserElement_oop_AudioChannel.html
2015-06-18 15:56:58 +01:00
Daosheng Mu
72e5400a5f Bug 987498 - Part 2 - HTMLMediaElement supports playback OverlayImage. r=roc 2015-06-09 23:22:00 +02:00
Brian Birtles
c569ddfd86 Bug 1165203 - Make calls to load() upgrade preload=none to preload=metadata; r=cpearce
--HG--
extra : commitid : H2xIreNh4Pq
extra : histedit_source : 8ff5e2d2e12b21b8e3f04dc5ab81584b6fc929fc
2015-06-17 09:02:51 +09:00
Karl Tomlinson
e35b92c4c7 bug 1116382 use MediaSource from resolution of MediaSource urls when set r=bholley
--HG--
extra : rebase_source : 024fbcf2a4236761f3a80f284957f8500fc9d24c
2015-05-28 14:38:34 +12:00
Karl Tomlinson
ae604e7f87 bug 1116382 always ShutdownDecoder() so that MediaSourceDecoder alone can manage MediaSource::Detach() r=bholley
--HG--
extra : rebase_source : 8176399d4a17f3018c686bfc55daa27a0aff8dda
2015-05-28 14:23:27 +12:00
Karl Tomlinson
15b0a07fc3 bug 1116382 resolve MediaSource urls on media element src attributes when set r=bholley
--HG--
extra : rebase_source : 3c26e47dd554edc7db03b37b6a3c572e9bf54260
2015-05-26 22:36:04 +12:00
Andrew McCreight
9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Bobby Holley
7ed6ae7327 Bug 1159558 - Redesign watching to use a manager. r=jww 2015-04-30 12:46:40 -07:00