New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 387740 link

Starred by 19 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature


Sign in to add a comment

WebRTC does not support srcObject = stream

Project Member Reported by phoglund@chromium.org, Jun 23 2014

Issue description

Version: Current
OS: All

What steps will reproduce the problem?
1. Run for instance mediacapture-streams/stream-api/introduction/disabled-video-black.html from https://github.com/w3c/web-platform-tests and accept user media.

What is the expected output? What do you see instead?
The test should succeed, but times out because Chrome doesn't support the videoTag.srcObject = stream; syntax. According to the standard, this is how it should work (see http://dev.w3.org/2011/webrtc/editor/getusermedia.html#direct-assignment-to-media-elements).

w3c/web-platform-tests/mediacapture-streams/stream-api/introduction/disabled-audio-silence.html
w3c/web-platform-tests/mediacapture-streams/stream-api/introduction/disabled-video-black.html
w3c/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-id-manual.html
w3c/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-end.html
w3c/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-init.html
w3c/web-platform-tests/mediacapture-streams/stream-api/video-and-audio-tracks/audiostreamtrack.html
w3c/web-platform-tests/mediacapture-streams/stream-api/video-and-audio-tracks/videostreamtrack.html

This also affects the following web-platform-tests:

Please use labels and text to provide additional information.

 
Cc: tnakamura@chromium.org
Owner: juberti@chromium.org
Status: Assigned
Justin or Niklas, this was one of the bugs phoglund called out in the offline conformance test thread. Could one of you help find an owner for this issue?
Cc: juberti@chromium.org vrk@chromium.org
Owner: perkj@chromium.org
Giving this to Per. Victoria, feel free to redirect if you have another suggestion.

Comment 3 by perkj@chromium.org, Aug 25 2014

Cc: tommi@chromium.org

Comment 4 by perkj@chromium.org, Sep 4 2014

Status: Started

Comment 5 by perkj@chromium.org, Sep 9 2014

Cl uploaded that implements HTMLMediaElement.srcObject for review but there is an architectural question ongoing on how to implement this. Also, this is my first blink cl so I expect many iterations before it is landed.

https://codereview.chromium.org/545933002/


In parallell - I have started looking at other reasons why these tests are failing.

Comment 6 by perkj@chromium.org, Sep 9 2014

Blocking: chromium:405520

Comment 8 by perkj@chromium.org, Sep 9 2014

Blocking: -chromium:405520

Comment 9 by perkj@chromium.org, Sep 9 2014

Blocking: chromium:412381

Comment 10 by vrk@chromium.org, Sep 24 2014

Labels: -Cr-Blink-WebRTC Cr-Blink-GetUserMedia
Owner: tommyw@chromium.org
I don't know about this. But I reassign it to Tommy W for now? 
Please do, this would be great to get in!

Comment 13 by hta@google.com, Apr 22 2015

Spec update: HTML 5.1 has the srcObject defined as part of the HTML spec, with a list of objects that can act as the source for the content.

This makes a difference to the scoping discussion, I think (makes it seem more obvious to me that srcObject should be implemented in core/ and the other objects that can act as source objects should subclass off that interface).

Comment 14 by hta@webrtc.org, May 26 2015

Blocking: webrtc:4707
Labels: Hotlist-Recharge
This issue likely requires triage.  The current issue owner may be inactive (i.e. hasn't fixed an issue in the last 30 days or commented in this particular issue in the last 90 days).  Thanks for helping out!

-Anthony
Owner: ----
Status: Available
Owner: hta@chromium.org
To Harald to assign.

Comment 18 by hta@chromium.org, Nov 6 2015

Blocking: chromium:412342

Comment 19 by hta@chromium.org, Nov 6 2015

Blockedon: -chromium:412342
Owner: guidou@chromium.org
Status: Started

Comment 21 by hta@chromium.org, Mar 3 2016

Blocking: 591719
Project Member

Comment 22 by bugdroid1@chromium.org, Apr 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70

commit 9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70
Author: guidou <guidou@chromium.org>
Date: Sat Apr 09 08:31:19 2016

Add srcObject attribute of type MediaStream to HTMLMediaElement.

Intent to implement: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/D20_5X-2nCk

BUG= 387740 

Review URL: https://codereview.chromium.org/1815033003

Cr-Commit-Position: refs/heads/master@{#386294}

[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/content_renderer.gypi
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/public/renderer/media_stream_renderer_factory.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/android/webmediaplayer_android.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/android/webmediaplayer_android.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/html_video_element_capturer_source_unittest.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/media_stream_renderer_factory_impl.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/media_stream_renderer_factory_impl.h
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/web_media_element_source_utils.cc
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/web_media_element_source_utils.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/webmediaplayer_ms.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/webmediaplayer_ms.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/webmediaplayer_ms_compositor.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/webmediaplayer_ms_compositor.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/media/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/renderer/render_frame_impl.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/shell/renderer/layout_test/test_media_stream_renderer_factory.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/content/shell/renderer/layout_test/test_media_stream_renderer_factory.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/media/blink/webmediaplayer_impl.h
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/LayoutTests/media/video-move-to-new-document-srcobject.html
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/LayoutTests/media/video-srcobject-mediastream-src-file.html
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/LayoutTests/media/video-srcobject-mediastream.html
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/core/html/HTMLMediaElement.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/core/html/HTMLVideoElementTest.cpp
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/core/loader/EmptyClients.cpp
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/core/loader/EmptyClients.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/core/loader/FrameLoaderClient.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/modules/mediastream/MediaStream.cpp
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/modules/mediastream/MediaStream.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/modules/modules.gypi
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/modules/srcobject/HTMLMediaElementSrcObject.cpp
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/modules/srcobject/HTMLMediaElementSrcObject.h
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/modules/srcobject/HTMLMediaElementSrcObject.idl
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/modules/srcobject/OWNERS
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/platform/blink_platform.gypi
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/platform/exported/WebMediaPlayerSource.cpp
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/Source/web/FrameLoaderClientImpl.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/public/blink_headers.gypi
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/public/platform/WebMediaPlayer.h
[add] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/public/platform/WebMediaPlayerSource.h
[modify] https://crrev.com/9bfe4e2f473b01d5039dd31c9b04cc8c78ff5c70/third_party/WebKit/public/web/WebFrameClient.h

Blocking: -webrtc:4707 webrtc:4707
Status: Fixed (was: Started)
There are multiple references still to this bug in TestExpectations : is this because GUM requires secure context? I tried one out:

--enable-wptserve imported/web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.html
-->
CONSOLE WARNING: getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.
This is a testharness.js-based test.
Harness Error. harness_status.status = 2 , harness_status.message = null
Harness: the test ran to completion.



Comment 25 by hta@chromium.org, Apr 22 2016

Yes, we haven't started looking at the imported W3C tests seriously yet; there are too many things that we knew needed fixing before it made sense to start.

Obviously these notes need to be re-linked to a bug saying "web-platform-tests need to be run from a secure origin" instead. Thanks for the heads-up!

guys, I recently updated the media device API tests (media streams and tracks) in the w3c test suite. They should be reflecting the latest specs. It was validated by harald. I think it s safe for you to go and try them now. Any problem, or anything wrong, let me know.
Any update on these tests?  I see they're still all disabled against this long-fixed bug.

Comment 28 by hta@chromium.org, Jun 23 2016

I have recently updated these tests in the wpt suite to be called "https.html", because with getUserMedia only available on secure origins, they were failing for that reason.

I've not gotten around to figuring out the instructions for updating the wpt tests, and it seems that this change hasn't been imported yet. With summer vacations coming up, I'm afraid I won't do anything about it soon either.

Comment 29 by hta@chromium.org, Jun 23 2016

https://github.com/w3c/web-platform-tests/pull/3127 was the pull that did the rename.

Sign in to add a comment