peerConnection.onaddstream can not been called after renegotiation
Reported by
mmzh...@gmail.com,
Sep 23 2017
|
||||||
Issue descriptionUserAgent: 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 ...
,
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?
,
Sep 25 2017
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
,
Oct 4 2017
,
Oct 5 2017
hbos@: Can you take a look?
,
Oct 9 2017
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.
,
Oct 9 2017
I meant getRemoteStreams(), not getLocalStreams().
,
Oct 16 2017
the first remote stream is audio and video,then remote stream become only audio and the ssrc is different
,
Oct 16 2017
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?
,
Oct 16 2017
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).
,
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 |
||||||
Comment 1 by brajkumar@chromium.org
, Sep 25 2017Labels: Needs-Milestone Needs-Feedback