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

Issue 768131 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

peerConnection.onaddstream can not been called after renegotiation

Reported by mmzh...@gmail.com, Sep 23 2017

Issue description

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

Example URL:
all

Steps to reproduce the problem:
1. use peerconnection to make a call
2. renegotiation the sdp

What is the expected behavior?
After re-negotiation, onaddstream can trigger twice

What went wrong?
When the re-consultation is initiated, the onaddstream is punished only once

The sdp file is in the attachment

Did this work before? N/A 

Is it a problem with Flash or HTML5? N/A

Does this work in other browsers? N/A

Chrome version: 60.0.3112.78  Channel: n/a
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: 

Contents of chrome://gpu: 
Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
CheckerImaging: Disabled
Flash: Software only, hardware acceleration unavailable
Flash Stage3D: Software only, hardware acceleration unavailable
Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable
Compositing: Software only, hardware acceleration unavailable
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only, hardware acceleration unavailable
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Software only, hardware acceleration unavailable
WebGL: Hardware accelerated but at reduced performance
WebGL2: Unavailable
Driver Bug Workarounds
clear_uniforms_before_first_program_use
decode_encode_srgb_for_generatemipmap
disable_accelerated_vpx_decode
disable_direct_composition
disable_discard_framebuffer
disable_dxgi_zero_copy_video
disable_framebuffer_cmaa
exit_on_context_lost
scalarize_vec_and_mat_constructor_args
Problems Detected
Drivers older than 2009-01 on Windows are possibly unreliable: 72979, 89802, 315205
Disabled Features: flash_stage3d, gpu_compositing, panel_fitting, flash3d, gpu_rasterization, accelerated_2d_canvas, accelerated_video_decode, webgl2, accelerated_webgl, flash_stage3d_baseline, accelerated_video_encode
GPU rasterization should only be enabled on NVIDIA and Intel DX11+, and AMD RX-R2 GPUs for now.: 643850
Disabled Features: gpu_rasterization
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Framebuffer discarding can hurt performance on non-tilers: 570897
Applied Workarounds: disable_discard_framebuffer
Direct composition flashes black initially on Win <10: 588588
Applied Workarounds: disable_direct_composition
Zero copy DXGI video hangs on shutdown on Win < 8.1: 621190
Applied Workarounds: disable_dxgi_zero_copy_video
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Decode and Encode before generateMipmap for srgb format textures on Windows: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
VPx decoding isn't supported before Windows 10 anniversary update.: 616318
Applied Workarounds: disable_accelerated_vpx_decode
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Checker-imaging has been disabled via finch trial or the command line.
Disabled Features: checker_imaging
Version Information
Data exported	2017/9/23 下午4:56:15
Chrome version	Chrome/60.0.3112.78
Operating system	Windows NT 6.1.7601 SP1
Software rendering list version	13.8
Driver bug list version	10.93
ANGLE commit id	3e6a61fecba9
2D graphics backend	Skia/60 a20ae70af542208b06c21413f13c4c86269c0b84-
Command Line	"C:\Users\zwx315269\AppData\Local\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	0
In-process GPU	true
Passthrough Command Decoder	false
Supports overlays	false
Sandboxed	false
GPU0	VENDOR = 0x0000, DEVICE= 0x0000
GPU1	VENDOR = 0x1013, DEVICE= 0x00b8
GPU2	VENDOR = 0x0000, DEVICE= 0x0000
Optimus	false
Optimus	false
AMD switchable	false
Desktop compositing	none
Driver vendor	Google Inc.
Driver version	3.3.0.2
Driver date	2017/04/07
Pixel shader version	3.0
Vertex shader version	3.0
Max. MSAA samples	4
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	Google SwiftShader
GL_VERSION	OpenGL ES 2.0 SwiftShader
GL_EXTENSIONS	
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering	Yes
Reset notification strategy	0x0000
GPU process crash count	0
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Diagnostics
... loading ...
 
sdp.txt
8.4 KB View Download
Cc: brajkumar@chromium.org
Labels: Needs-Milestone Needs-Feedback
Reporter@ Could you please let us know how to renegotiation the sdp? Tested this issue on Windows-10 using chrome latest stable #61.0.3163.100, by opening the apprtc.com but not sure how to reproduce this issue. Please provide step by step reproduction steps to check this issue from chrome-TE end.

Thanks!

Comment 2 by mmzh...@gmail.com, Sep 25 2017


First consultation result is:
audio:opuse
video:h264

then the peer cliend change the sdp and send offer to renegotiation and reulst is:
audio:PCMA
video:none

you can get the sdp in the attachment
can you tell me what the problem led to onaddstream is not triggered?
Project Member

Comment 3 by sheriffbot@chromium.org, Sep 25 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "brajkumar@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Components: -Internals>Media Blink>WebRTC
Owner: hbos@chromium.org
Status: Assigned (was: Unconfirmed)
hbos@: Can you take a look?

Comment 6 by hbos@chromium.org, Oct 9 2017

Status: WontFix (was: Assigned)
The onaddstream event should only fire when a new stream is added, i.e. when getLocalStreams() gets a new stream. When you renegotiate with the same ssrc the stream already exists, so the event should not fire.

I believe this is a WontFix for intended behavior. If I misunderstood something please let me know and I can re-open the bug.

Comment 7 by hbos@chromium.org, Oct 9 2017

I meant getRemoteStreams(), not getLocalStreams().

Comment 8 by mmzh...@gmail.com, Oct 16 2017

the first remote stream is audio and video,then remote stream become only audio and the ssrc is different

Comment 9 by hbos@chromium.org, Oct 16 2017

Cc: deadbeef@chromium.org
See related bug  https://crbug.com/773613 , title should be "pc.ontrack is not called during renegotiation", not MediaStream.onaddtrack.
That fixes the issue of adding a new track to an existing stream.

As for removing a track of an existing stream, the track should be removed from the stream and a muted event should fire. That's issue  https://crbug.com/773523 .

As for changing the ssrc, I'm not sure if this counts as the same or a new stream.
Is changing the SSRC intended, and is this correct behavior to do?
If you create an offer you must setLocalDescription() or else it may change the SSRCs, which you don't want to do if you want to re-negotiate with changes of the same stream.

mmzhw51@: Do you setLocalDescription?

deadbeef@: What is the expected behavior when the SSRC changes like in that SDP?
SSRC changes shouldn't result in new tracks. Though that may be what we've historically done, it will need to change; with unified plan SDP and the "transceiver" model, the only way to get a new track is to add a new m= section, or recycle one that was previously rejected (port value of 0).

Comment 11 by mmzh...@gmail.com, Oct 24 2017

yes I setlocaldescripiton during renegotiation.
i think stream should update to trigger onaddstream when ssrc is changed?

Sign in to add a comment