Title: [231304] trunk
- Revision
- 231304
- Author
- [email protected]
- Date
- 2018-05-03 08:08:48 -0700 (Thu, 03 May 2018)
Log Message
A MediaStream being played should allow removing some of its tracks
https://bugs.webkit.org/show_bug.cgi?id=185233
Reviewed by Eric Carlson.
Source/WebCore:
Update the tracks out of the for loop.
Test: fast/mediastream/change-tracks-media-stream-being-played.html
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::updateTracksOfType):
LayoutTests:
* fast/mediastream/change-tracks-media-stream-being-played-expected.txt: Added.
* fast/mediastream/change-tracks-media-stream-being-played.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (231303 => 231304)
--- trunk/LayoutTests/ChangeLog 2018-05-03 14:22:47 UTC (rev 231303)
+++ trunk/LayoutTests/ChangeLog 2018-05-03 15:08:48 UTC (rev 231304)
@@ -1,3 +1,13 @@
+2018-05-03 Youenn Fablet <[email protected]>
+
+ A MediaStream being played should allow removing some of its tracks
+ https://bugs.webkit.org/show_bug.cgi?id=185233
+
+ Reviewed by Eric Carlson.
+
+ * fast/mediastream/change-tracks-media-stream-being-played-expected.txt: Added.
+ * fast/mediastream/change-tracks-media-stream-being-played.html: Added.
+
2018-05-02 Said Abou-Hallawa <[email protected]>
Hiding then showing an <object> of type image makes the underlaying image disappear
Added: trunk/LayoutTests/fast/mediastream/change-tracks-media-stream-being-played-expected.txt (0 => 231304)
--- trunk/LayoutTests/fast/mediastream/change-tracks-media-stream-being-played-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/mediastream/change-tracks-media-stream-being-played-expected.txt 2018-05-03 15:08:48 UTC (rev 231304)
@@ -0,0 +1,3 @@
+
+PASS Remove tracks in a being played MediaStream
+
Added: trunk/LayoutTests/fast/mediastream/change-tracks-media-stream-being-played.html (0 => 231304)
--- trunk/LayoutTests/fast/mediastream/change-tracks-media-stream-being-played.html (rev 0)
+++ trunk/LayoutTests/fast/mediastream/change-tracks-media-stream-being-played.html 2018-05-03 15:08:48 UTC (rev 231304)
@@ -0,0 +1,36 @@
+<html>
+<head>
+ <script src=""
+ <script src=""
+</head>
+<body>
+<script type="application/_javascript_">
+function waitFor(duration)
+{
+ return new Promise((resolve) => setTimeout(resolve, duration));
+}
+
+promise_test(async () => {
+ const stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true });
+ const localTracks = stream.getTracks();
+ video = document.createElement('video');
+ video.autoplay = true;
+ video.playsInline = true;
+ const videoStream = new MediaStream();
+ localTracks.forEach(track => videoStream.addTrack(track));
+ video.srcObject = videoStream;
+ document.body.appendChild(video);
+ video.play();
+
+ await waitFor(100);
+
+ videoStream.getTracks().forEach(track => {
+ videoStream.removeTrack(track);
+ video.srcObject = videoStream;
+ });
+ video.srcObject = null;
+ video.remove();
+}, "Remove tracks in a being played MediaStream");
+</script>
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (231303 => 231304)
--- trunk/Source/WebCore/ChangeLog 2018-05-03 14:22:47 UTC (rev 231303)
+++ trunk/Source/WebCore/ChangeLog 2018-05-03 15:08:48 UTC (rev 231304)
@@ -1,3 +1,16 @@
+2018-05-03 Youenn Fablet <[email protected]>
+
+ A MediaStream being played should allow removing some of its tracks
+ https://bugs.webkit.org/show_bug.cgi?id=185233
+
+ Reviewed by Eric Carlson.
+
+ Update the tracks out of the for loop.
+ Test: fast/mediastream/change-tracks-media-stream-being-played.html
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
+ (WebCore::updateTracksOfType):
+
2018-05-03 Miguel Gomez <[email protected]>
WebCore::TextureMapperLayer object used after freed
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm (231303 => 231304)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm 2018-05-03 14:22:47 UTC (rev 231303)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm 2018-05-03 15:08:48 UTC (rev 231304)
@@ -935,8 +935,9 @@
continue;
removedTracks.append(track);
- trackMap.remove(streamTrack.id());
}
+ for (auto& track : removedTracks)
+ trackMap.remove(track->streamTrack().id());
for (auto& track : addedPrivateTracks) {
RefT newTrack = itemFactory(*track.get());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes