Commit Graph

159 Commits

Author SHA1 Message Date
Andreas Pehrson
7256570f32 Bug 1317501 - Don't notify dom objects synchronously from MSG runnables in DOMMediaStream. r=padenot
--HG--
extra : rebase_source : 9fcd61afbecc1234c4ee80ba5197448ee838aad4
2016-12-07 08:56:14 +01:00
Andreas Pehrson
d6e397323b Bug 1321235 - Let ended MediaStreamTracks be removable. r=jesup
MozReview-Commit-ID: A3V3SY4L3HL

--HG--
extra : rebase_source : d2273729e88983aa74a4b4f1c456b1a06092d160
2016-12-01 19:35:48 +01: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
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
da3ba8634d Bug 1208316 - Route notifications of ending tracks through MediaStreamTrack instead of DOMMediaStream. r=jib
MozReview-Commit-ID: KMFE5HXEOtJ

--HG--
extra : rebase_source : 279dffcdd325a5ac78f115803269a724887b6ac0
2016-09-23 17:03:13 +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
456866fe62 Bug 1208316 - Implement MediaStream.active. r=jib, r=smaug
MozReview-Commit-ID: Fzk5vepqQ35

--HG--
extra : rebase_source : 1ddf804e4ca8604b36cf0e8b4752f638c45c9561
2016-09-08 13:44:49 +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
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Andreas Pehrson
821c28c6c3 Bug 1259788 - Use RefPtr<MediaStream> in NewRunnableMethod() in DOMMediaStream. r=jesup
MozReview-Commit-ID: F7nNCJBcWGz

--HG--
extra : rebase_source : b3e9243e60f9d1bcc51b459747d8a927ed5b4555
2016-08-18 18:24:50 +02:00
Andreas Pehrson
dfb49b5ab0 Bug 1259788 - Raise "addtrack" in separate tasks. r=jesup
Turns out runnables added through
MediaStreamGraph::DispatchToMainThreadAfterStreamStateUpdate on the same
iteration are all run in the same task. Creating them in the owning dom stream
in one task solves the timing issues and lets us add them
(and raise "addtrack") in individual tasks.

MozReview-Commit-ID: 9Q3NoFrmnQs

--HG--
extra : rebase_source : aa391668ec424d2f9b1485f6218d7d1f9948abc9
2016-08-22 12:23:37 +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
Jan-Ivar Bruaroey
594073da3e Bug 1213517 - make getUserMedia store initial constraints on resulting tracks. r=jesup
MozReview-Commit-ID: 291CrmVmq4x

--HG--
extra : rebase_source : d29e6996ee93b01c8abe3a98a3f6d05e98bce3c5
2015-11-24 23:42:26 -05:00
Iris Hsiao
725d265c2c Backed out changeset 0fc93ec9ccd7 (bug 1213517) 2016-07-18 15:41:37 +08:00
Jan-Ivar Bruaroey
e7503fa4a5 Bug 1213517 - make getUserMedia store initial constraints on resulting tracks. r=jesup
MozReview-Commit-ID: 291CrmVmq4x

--HG--
extra : rebase_source : d29e6996ee93b01c8abe3a98a3f6d05e98bce3c5
2015-11-24 23:42:26 -05: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
ctai
533acf2e59 Bug 1266646 - Rename MediaStreamDirectListener and MediaStreamTrackDirectListener to DirectMediaStreamListener and DirectMediaStreamTrackListener respectively. r=pehrsons
Rename those two function to better name alignment with AddDirectListener and AddDirectTrackListener.

MozReview-Commit-ID: 6QY08oyih1X

--HG--
extra : transplant_source : %5C%1C%23%AC%D7%0D%97%24%CB%ED%8E%D5%60/%5E%07%F2%85Z%DA
2016-04-29 11:45:25 +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
Andreas Pehrson
e1e731a6c0 Bug 1208328 - Don't block ended tracks on removal from MediaStream. r=jesup
After ending the MediaInputPort (to the playback stream) gets removed if locked
to the track specifically. Trying to remove the track at this point would try to
block it in the same MediaInputPort - but since it doesn't exist would trigger
an NS_ERROR instead.

MozReview-Commit-ID: IpRL6FAGxPp

--HG--
extra : rebase_source : 7fea1d440c8e03911861acd64323083944591f0e
extra : intermediate-source : aa209325161f45a5607982af76ef1784208690a5
extra : source : dbb4b83be583eacc401648c5c33091958c29c4c3
2016-05-31 14:55:51 +02:00
Andreas Pehrson
758a8d47ef Bug 1208328 - Implement MediaStream.onaddtrack. r=jib, r=smaug
MozReview-Commit-ID: JVZO5mlxvgW

--HG--
extra : rebase_source : da18976304f0483037acb7e271448b64fbd16935
extra : intermediate-source : d48bc6eca9c32c8fd9cf095e650febb09e0affce
extra : source : ba0529f6b0733534d50fa842dfebd52c6b477140
2016-05-31 09:29:52 +02:00
Andreas Pehrson
577b207b43 Bug 1274221 - Make FindOwnedDOMTrack look for (optionally) unique tracks. r=ctai
MozReview-Commit-ID: 1y8YuwJWIS5

--HG--
extra : rebase_source : eb5c6a4ddd2a3d2395870d1f94751e06991fe46f
extra : intermediate-source : 795bcfd6223de68845075d0987cb8f3268893918
extra : source : c2154e0e122ac3981d1c5c7e748633a64111cbf7
2016-05-24 13:26:25 +02:00
Andreas Pehrson
141eefc951 Bug 1208373 - Introduce a new blocking mode to MediaInputPort. r=jesup
This lets us notify about a created TrackUnionStream track (and since it was
created, we can notify when it ends), even though it has been blocked from main
thread.

MozReview-Commit-ID: HyopzISBfbb

--HG--
extra : rebase_source : a18be6b0fcb194c016ae06c62eb5cebbf86eb8d5
extra : intermediate-source : 38e3e48c8dd011a0503f1241c7b21a630738c6c0
extra : source : 690904309e169aa74f95163f0d796493ef882972
2016-06-07 16:20:29 +02:00
Andreas Pehrson
b69ab58f85 Bug 1208373 - Implement MediaStreamTrack.readyState. r=smaug,jib
MozReview-Commit-ID: EoMaG0R3Dpp

--HG--
extra : rebase_source : 47d0fedfc4701d2e629ba43b30b0a7fb95322660
extra : intermediate-source : 8cffa26910a860fafe49fd2c43e86ab4020e6cea
extra : source : eb945c96027405effd2138a069eabd68f192f15c
2016-05-10 17:03:37 +02:00
Sebastian Hengst
6d87e39b07 Backed out 9 changesets (bug 1208373) for frequent failures in test_peerConnection_addtrack_removetrack_events.html on Android 4.3 debug. r=backout
Backed out changeset 95412432bf10 (bug 1208373)
Backed out changeset 38e3e48c8dd0 (bug 1208373)
Backed out changeset 72cf70065470 (bug 1208373)
Backed out changeset 8cffa26910a8 (bug 1208373)
Backed out changeset 9a8c5a9bb9d5 (bug 1208373)
Backed out changeset bc120c9071bb (bug 1208373)
Backed out changeset fb8a0b464701 (bug 1208373)
Backed out changeset 5ddb73097cfd (bug 1208373)
Backed out changeset c4827087a333 (bug 1208373)
2016-06-14 11:06:51 +02:00
Sebastian Hengst
82d615aa16 Backed out 3 changesets (bug 1274221) for frequent failures in test_peerConnection_addtrack_removetrack_events.html on Android 4.3 debug. r=backout
Backed out changeset 80443106b263 (bug 1274221)
Backed out changeset 795bcfd6223d (bug 1274221)
Backed out changeset 30c253e762c6 (bug 1274221)
2016-06-14 11:05:33 +02:00
Sebastian Hengst
edb7a37036 Backed out 5 changesets (bug 1208328) for frequent failures in test_peerConnection_addtrack_removetrack_events.html on Android 4.3 debug. r=backout
Backed out changeset 3160ce8f8759 (bug 1208328)
Backed out changeset aa209325161f (bug 1208328)
Backed out changeset d48bc6eca9c3 (bug 1208328)
Backed out changeset 945141b1f8da (bug 1208328)
Backed out changeset 48da132353c7 (bug 1208328)
2016-06-14 11:04:28 +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
Andreas Pehrson
b6566cadf0 Bug 1208328 - Don't block ended tracks on removal from MediaStream. r=jesup
After ending the MediaInputPort (to the playback stream) gets removed if locked
to the track specifically. Trying to remove the track at this point would try to
block it in the same MediaInputPort - but since it doesn't exist would trigger
an NS_ERROR instead.

MozReview-Commit-ID: IpRL6FAGxPp

--HG--
extra : rebase_source : af67b8f8e0dfc340d50af7bcfe8e476159cefeac
extra : source : dbb4b83be583eacc401648c5c33091958c29c4c3
2016-05-31 14:55:51 +02:00
Andreas Pehrson
e93d5f7b7d Bug 1208328 - Implement MediaStream.onaddtrack. r=jib, r=smaug
MozReview-Commit-ID: JVZO5mlxvgW

--HG--
extra : rebase_source : 49b0ebaff593c28b727602d7b61bab5feea80485
extra : source : ba0529f6b0733534d50fa842dfebd52c6b477140
2016-05-31 09:29:52 +02:00
Andreas Pehrson
b116cbbb27 Bug 1274221 - Make FindOwnedDOMTrack look for (optionally) unique tracks. r=ctai
MozReview-Commit-ID: 1y8YuwJWIS5

--HG--
extra : rebase_source : 0baab5c71f5e935f69dd3430fc6ce0a7f6c866b3
extra : intermediate-source : ce89c5b1f32de13ca7128de14538eabcb749b925
extra : source : c2154e0e122ac3981d1c5c7e748633a64111cbf7
2016-05-24 13:26:25 +02:00
Andreas Pehrson
d551df2bcf Bug 1208373 - Introduce a new blocking mode to MediaInputPort. r=jesup
This lets us notify about a created TrackUnionStream track (and since it was
created, we can notify when it ends), even though it has been blocked from main
thread.

MozReview-Commit-ID: HyopzISBfbb

--HG--
extra : rebase_source : a3d676257473bba08190b8e2b24d027c42306621
extra : intermediate-source : 5454dcaa31ff8eb060b6f1531a376dcbc24ffb4d
extra : source : 690904309e169aa74f95163f0d796493ef882972
2016-06-07 16:20:29 +02:00
Andreas Pehrson
bc991593cb Bug 1208373 - Implement MediaStreamTrack.readyState. r=smaug,jib
MozReview-Commit-ID: EoMaG0R3Dpp

--HG--
extra : rebase_source : 96ffe09a577f951b1d960434aa3b2de9d4aa2c4b
extra : intermediate-source : 2b5684b6362e51af2e90115e2b855662358b51b4
extra : source : eb945c96027405effd2138a069eabd68f192f15c
2016-05-10 17:03:37 +02:00
Carsten "Tomcat" Book
51b3fd3c7d Backed out changeset 2b5684b6362e (bug 1208373) 2016-06-09 15:18:45 +02:00
Carsten "Tomcat" Book
79d88f89e8 Backed out changeset 5454dcaa31ff (bug 1208373) 2016-06-09 15:18:42 +02:00
Carsten "Tomcat" Book
60e86b393e Backed out changeset ce89c5b1f32d (bug 1274221) 2016-06-09 15:18:38 +02:00
Carsten "Tomcat" Book
89552f5055 Backed out changeset ba0529f6b073 (bug 1208328) 2016-06-09 15:18:32 +02:00
Carsten "Tomcat" Book
7be668f681 Backed out changeset dbb4b83be583 (bug 1208328) 2016-06-09 15:18:31 +02:00
Andreas Pehrson
17d61f9da4 Bug 1208328 - Don't block ended tracks on removal from MediaStream. r=jesup
After ending the MediaInputPort (to the playback stream) gets removed if locked
to the track specifically. Trying to remove the track at this point would try to
block it in the same MediaInputPort - but since it doesn't exist would trigger
an NS_ERROR instead.

MozReview-Commit-ID: IpRL6FAGxPp

--HG--
extra : rebase_source : 81c7b6356e5f43b39b1c3fd9c70e14059cae7e63
2016-05-31 14:55:51 +02:00
Andreas Pehrson
2597c73af2 Bug 1208328 - Implement MediaStream.onaddtrack. r=jib, r=smaug
MozReview-Commit-ID: JVZO5mlxvgW

--HG--
extra : rebase_source : b2ec734dc408e96c9a9f265c11c7308895c3b6ce
2016-05-31 09:29:52 +02:00
Andreas Pehrson
9c625f8d0f Bug 1274221 - Make FindOwnedDOMTrack look for (optionally) unique tracks. r=ctai
MozReview-Commit-ID: 1y8YuwJWIS5

--HG--
extra : rebase_source : fbf328d1ea7ba94d0cf5f4c9bf2e0e4738cf5f42
extra : source : c2154e0e122ac3981d1c5c7e748633a64111cbf7
2016-05-24 13:26:25 +02:00
Andreas Pehrson
5b155d5add Bug 1208373 - Introduce a new blocking mode to MediaInputPort. r=jesup
This lets us notify about a created TrackUnionStream track (and since it was
created, we can notify when it ends), even though it has been blocked from main
thread.

MozReview-Commit-ID: HyopzISBfbb

--HG--
extra : rebase_source : 55d6dd5d6a34a0b499b45e0b72f900fc37cff1bf
extra : source : 690904309e169aa74f95163f0d796493ef882972
2016-06-07 16:20:29 +02:00
Andreas Pehrson
74fadc45ab Bug 1208373 - Implement MediaStreamTrack.readyState. r=smaug,jib
MozReview-Commit-ID: EoMaG0R3Dpp

--HG--
extra : rebase_source : 162ed3922e0ab664f3cf02b2af996ba3e9759ba5
extra : source : eb945c96027405effd2138a069eabd68f192f15c
2016-05-10 17:03:37 +02:00
Andreas Pehrson
05c6dff3b5 Bug 1208390 - Implement MediaStream.getTrackById(). r=jib, r=smaug
MozReview-Commit-ID: 5a90ZOx7eUE

--HG--
extra : rebase_source : b2fcb6aa7bc0a442cc80ecf3b9dce81415245b41
2016-05-20 13:01:30 +02:00
Carsten "Tomcat" Book
54853544b8 Backed out changeset ee525e8953bd (bug 1208373) 2016-05-13 13:51:34 +02:00
Andreas Pehrson
11e0c929f7 Bug 1208373 - Implement MediaStreamTrack.readyState. r=jib,smaug
MozReview-Commit-ID: EoMaG0R3Dpp

--HG--
extra : rebase_source : e329085837c597610d32823c6c5b6efad23f27a1
extra : source : eb945c96027405effd2138a069eabd68f192f15c
2016-05-10 17:03:37 +02:00
Kyle Huey
941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book
ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey
48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00