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

Issue 718341 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 731679
Owner: ----
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Media stream does not end properly.

Reported by onury...@gmail.com, May 4 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36

Steps to reproduce the problem:
1.Start screen sharing with local user.
2.See the new stream in remote user.
3.Stop screen sharing with local user.
4.See the stream as frozen and not ended properly.

What is the expected behavior?
After stopping the screen sharing stream in local user, the stream should be stopped on all remote users' screens and new camera stream should be started.
'onended' of screen share stream should be triggered. 'onaddstream' should be triggered for new camera stream.

What went wrong?
After stopping the screen sharing stream in local user, the stream does not stop on remote users' screens. 'Failed to set remote offer sdp: Session error code: ERROR_CONTENT. Session error description: Failed to set remote video description streams..' is logged after a fail case.

Did this work before? Yes Chrome 57

Does this work in other browsers? N/A

Chrome version: 58.0.3029.96  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: 

In the attachment files there is logs for a success and a fail case of stopping screen share stream. SSRC of the screen share stream for success case is '2515828785' and for fail case is '1666394796'. The error can occur for every participant and in every session. Error can also occur with re-doing the steps right after a success case.
 
success_case_stoping_screen_share_stream.txt
1.4 MB View Download
fail_case_stoping_screen_share_stream.txt
1.3 MB View Download

Comment 1 by onury...@gmail.com, May 8 2017

Additional Information:
 - success case: after ending the screen share, peerconnection.onaddstream triggers for camera feed stream then peerconnection.onremovestream triggers for screen share stream.
 - fail case: after ending the screen share, peerconnection.onaddstream and .onremovestream does not trigger.
Components: Blink>WebRTC
Components: -Blink>WebRTC Blink>WebRTC>Network Blink>GetUserMedia>Desktop
Labels: TE-NeedsTriageHelp
Mergedinto: 731679
Status: Duplicate (was: Unconfirmed)
See linked issue. Fixed in canary, and is going to be fixed in M60.

Comment 6 by onury...@gmail.com, Jun 16 2017

I retested the issue in canary M61 and beta M60 again and it doesnt seems to be fixed. I will try to give more information soon.
Huh. The "fail_case" log indicates that it's the same issue, though.

1. Packet received from SSRC 1666394796 before the remote description containing the SSRC is set. "Default receive stream" created.

[4100:7280:0503/091946.708:INFO:webrtcvideoengine2.cc(433)] Creating default receive stream for SSRC=1666394796.
[4100:7280:0503/091946.708:INFO:webrtcvideoengine2.cc(1146)] AddRecvStream (default stream): {ssrcs:[1666394796];ssrc_groups:;}
...
[4100:7280:0503/091946.708:INFO:rtp_stream_receiver.cc(346)] Packet received on SSRC: 1666394796 with payload type: 100, timestamp: 3395617778, sequence number: 26407, arrival time: 62468808, abs send time: 8716597
[4100:7280:0503/091946.708:INFO:rtp_receiver_video.cc(74)] Received first video RTP packet

2. Remote description set. "Default receive stream" upgraded to a normal stream, and re-created.

[4100:7280:0503/091946.720:INFO:channel.cc(2112)] Setting remote video description
[4100:7280:0503/091946.720:INFO:webrtcvideoengine2.cc(1146)] AddRecvStream: {id:3bd0169e-1e07-49de-8c7f-fda0df906f9f;ssrcs:[1666394796];ssrc_groups:;cname:98LuJJ/qfuA5B4Oe;sync_label:d126491b-7e31-4e99-8673-dad51ceeef2a}

3. Packet received from SSRC 2297682562; the receive stream for 1666394796 is destroyed (here's where the problem occurs):

[4100:7280:0503/091956.036:INFO:video_receive_stream.cc(236)] ~VideoReceiveStream: {decoders: [{decoder: (VideoDecoder), payload_type: 100, payload_name: VP8, codec_params: {}}], rtp: {remote_ssrc: 1666394796, local_ssrc: 1919582465, rtcp_mode: RtcpMode::kCompound, rtcp_xr: {receiver_reference_time_report: off}, remb: on, transport_cc: off, nack: {rtp_history_ms: 1000}, ulpfec: {ulpfec_payload_type: -1, red_payload_type: -1, red_rtx_payload_type: -1}, rtx_ssrc: 0, rtx_payload_types: {100 (apt) -> -1 (pt), }, extensions: [{uri: http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 3}, {uri: urn:ietf:params:rtp-hdrext:toffset, id: 2}]}, renderer: (renderer), render_delay_ms: 10, sync_group: d126491b-7e31-4e99-8673-dad51ceeef2a, pre_decode_callback: nullptr, target_delay_ms: 0}
[4100:7280:0503/091956.036:INFO:webrtcvideoengine2.cc(433)] Creating default receive stream for SSRC=2297682562.
[4100:7280:0503/091956.036:INFO:webrtcvideoengine2.cc(1146)] AddRecvStream (default stream): {ssrcs:[2297682562];ssrc_groups:;}
[4100:7280:0503/091956.036:INFO:video_receive_stream.cc(206)] VideoReceiveStream: {decoders: [{decoder: (VideoDecoder), payload_type: 100, payload_name: VP8, codec_params: {}}], rtp: {remote_ssrc: 2297682562, local_ssrc: 1919582465, rtcp_mode: RtcpMode::kCompound, rtcp_xr: {receiver_reference_time_report: off}, remb: on, transport_cc: off, nack: {rtp_history_ms: 1000}, ulpfec: {ulpfec_payload_type: -1, red_payload_type: -1, red_rtx_payload_type: -1}, rtx_ssrc: 0, rtx_payload_types: {100 (apt) -> -1 (pt), }, extensions: [{uri: http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 3}, {uri: urn:ietf:params:rtp-hdrext:toffset, id: 2}]}, renderer: (renderer), render_delay_ms: 10, pre_decode_callback: nullptr, target_delay_ms: 0}

4. Remote description set with SSRC 1666394796 removed. Receive stream removed a second time, but it's already removed, which causes the error:

[4100:7280:0503/091956.167:INFO:webrtcvideoengine2.cc(1239)] RemoveRecvStream: 1666394796
[4100:7280:0503/091956.168:ERROR:webrtcvideoengine2.cc(1249)] Stream not found for ssrc: 1666394796
[4100:2788:0503/091956.168:ERROR:channel.cc(934)] Failure in SetRemoteContent with action 0
[4100:2788:0503/091956.168:ERROR:webrtcsession.cc(334)] Failed to set remote offer sdp: Session error code: ERROR_CONTENT. Session error description: Failed to set remote video description streams..

Comment 8 by guidou@chromium.org, Jun 16 2017

I haven't analyzed this bug carefully, but the MediaStream "ended" does not exist. It does not exist in the spec and it was removed from Chrome about a year ago, so expecting that event is never going to work.
It's tracks that can end.

Comment 9 by guidou@chromium.org, Jun 16 2017

I meant "ended" event in #8.

Sign in to add a comment