Issue metadata
Sign in to add a comment
|
Regression: Playback of mediaStream recording shows blank video |
||||||||||||||||||||||
Issue descriptionVersion: M56 Canary 56.0.2895.0 OS: Mac What steps will reproduce the problem? (1) Open https://webrtc.github.io/samples/src/content/getusermedia/record/ (2) Click 'Start Recording' and scratch the mic for audio/make some movements over the camera (3) Clicl 'Stop Recording' (4) Click 'Play' to playback the recorded mediaStream (5) Click 'Download' to download the mediaStream What is the expected output? The recorded mediaStream should be played back with both audio and video What do you see instead? While the audio from the recorded mediaStream is heard on playback, video is not seen Please use labels and text to provide additional information. 1. This is a regression from M55 2. Attached screenshot and downloaded mediaStream 3. Last known good build that I tested in M56 is version 56.0.2890.0 Bisect info - You are probably looking for a change made after 425681 (known good), but no later than 425690 (first known bad). CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/d4a881d7db8465f5d900586ebde359f762e4cee1..3dd16db91769ac33489a5e6e3a68a9c532cd360a
,
Oct 19 2016
Similar behavior in https://webrtc.github.io/samples/src/content/devices/multi/ - Local video file when played is blank, but audio is heard
,
Oct 20 2016
Miguel can you take a look or is emircan@ the right person?
,
Oct 24 2016
VLC can reproduce correctly both my local recording (using 56.0.2897.0) and the uploaded videos in #1, so the issue seems to be with the playback, and concretely with the play, since the downloaded video is correctly played back inside Chrome. I ran a debug build: ./out/gn/Chromium.app/Contents/MacOS/Chromium -vmodule="*video*=0,*ffmpeg*=1,*media*=1" https://webrtc.github.io/samples/src/content/getusermedia/record/ and these are the relevant logs. watk@ could you help triage what's happening here? [6658:1295:1024/133940:VERBOSE1:media_router_mojo_impl.cc(850)] MR #0ff7f75b-aa3b-4083-aec2-98faa623f2be: Extension ID not known yet. [6662:1295:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: PIPELINE_STATE_CHANGED {"pipeline_state":"kCreated"} [6662:1295:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: WEBMEDIAPLAYER_CREATED {} [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(543)] setVolume(1) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(573)] setPreload(2) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(300)] load(0, blob:https://webrtc.github.io/c5bc9614-f225-43dd-961c-6ff9ea70ccc7, 0) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(357)] DoLoad [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(1563)] SetNetworkState(2) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(1571)] SetReadyState(0) [6662:1295:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: LOAD {"url":"blob:https://webrtc.github.io/c5bc9614-f225-43dd-961c-6ff9ea70ccc7"} [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(1411)] DataSourceInitialized [6662:32515:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: PIPELINE_STATE_CHANGED {"pipeline_state":"kStarting"} [6662:32515:1024/133940:VERBOSE1:ffmpeg_common.cc(289)] Unknown AVSampleFormat: -1 [6662:32515:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: MEDIA_INFO_LOG_ENTRY {"info":"FFmpegDemuxer: created audio stream, config codec: opus bytes_per_channel: 4 channel_layout: 2 samples_per_second: 48000 sample_format: 4 bytes_per_frame: 4 seek_preroll: 0ms codec_delay: 0 has extra data? true encrypted? false"} [6662:32515:1024/133940:VERBOSE1:ffmpeg_common.cc(674)] Unsupported AVPixelFormat: -1 [6662:32515:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: MEDIA_INFO_LOG_ENTRY {"info":"FFmpegDemuxer: created video stream, config codec: vp9 format: 2 profile: vp9 profile0 coded size: [640,480] visible rect: [0,0,640,480] natural size: [640,480] has extra data? false encrypted? false"} [6662:32515:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: DURATION_SET {"duration":"unknown"} [6662:32515:1024/133940:ERROR:ffmpeg_audio_decoder.cc(408)] Could not initialize audio decoder: 86077 [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(1116)] OnMetadata [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(1571)] SetReadyState(1) [6662:32515:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: PIPELINE_STATE_CHANGED {"pipeline_state":"kPlaying"} [6662:32515:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"Failed to reconcile encoded audio times with decoded output."} [6661:1295:1024/133940:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133940:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(1148)] OnBufferingStateChange(1) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(1571)] SetReadyState(4) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(1563)] SetNetworkState(3) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(518)] setRate(1) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(543)] setVolume(1) [6662:1295:1024/133940:VERBOSE1:webmediaplayer_impl.cc(396)] play [6662:1295:1024/133940:VERBOSE1:render_media_log.cc(30)] MediaEvent: PLAY {} [6661:1295:1024/133940:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133940:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133940:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133940:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [6661:1295:1024/133941:ERROR:gles2_cmd_decoder.cc(9395)] [.DisplayCompositor-0x7f94d4165a00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
,
Oct 24 2016
Hmm, certainly seems to be a rendering issue and not a media issue. This is VP9, so we're not using VTVDA. I'm not aware of recent changes to how we're uploading vp9 frames. ccameron@: any ideas?
,
Oct 24 2016
,
Oct 24 2016
Just discovered that deleting the media stream video makes the recorded video visible. I'm not sure how they could be interacting. Maybe we should be looking for webmediaplayerms changes. A bisect is probably the way to go.
,
Oct 24 2016
This bug has a bisect to a very narrow range, so it is a much better use of time to find the offending CL and revert it, rather than debug it from scratch. If you can reproduce this issue with a debug build, please verify the bisect range and then manually revert the patches in the range (I would bet r425684). Sending this back to mcasas@, since he already got a repro of it.
,
Oct 24 2016
#8 ccameron, your bet is right, reverting that CL did the trick.
,
Oct 24 2016
,
Oct 24 2016
,
Oct 25 2016
Is there a way to add a test to avoid such regression sneak into Chrome?
,
Oct 25 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/460cac969e2e9ac38a2611be1a32db0361d88bfb commit 460cac969e2e9ac38a2611be1a32db0361d88bfb Author: dongseong.hwang <dongseong.hwang@intel.com> Date: Tue Oct 25 21:16:41 2016 Reland of gpu: Clarify sized texture format is available (https://codereview.chromium.org/2117183006) Reason for revert: r425684 causes blank video of mediaStream playback in MacOSX, because MacOSX relies on the hack, which the CL removed. This CL remains the hack only in MacOSX. BUG= 535198 , 657532 > Revert of gpu: Clarify sized texture format is available only if ES3 context or immutable texture is supported (patchset #7 id:160001 of https://codereview.chromium.org/2117183006/ ) > > Reason for revert: > Broke playing back recorded data as detailed > in https://crbug.com/657532 . The bug has > step-by-step notes on how to repro (see also #4 > in there). > > Locally reverting of this CL restores the functionality. > > Original issue's description: > > gpu: Clarify the sized texture format is available only if ES3 context or immutable texture is supported. > > > > This clarification makes it possible that gles2 decoder tracks true internal format of immutable texture. So this CL removes internal_format hack in GLES2DecoderImpl::TexStorageImpl() > > > > In addition, it makes CMAA skip redundant copy path because CMAA can know true internal format. > > > > BUG= 535198 > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > > > > Committed: https://crrev.com/730f8089f791fa31a3ee2a7f5059a1052b129d21 > > Cr-Commit-Position: refs/heads/master@{#425684} > > TBR=dongseong.hwang@chromium.org,zmo@chromium.org,kbr@chromium.org,dongseong.hwang@intel.com > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG= 535198 > > Review-Url: https://codereview.chromium.org/2443123004 > Cr-Commit-Position: refs/heads/master@{#427229} CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2448083003 Cr-Commit-Position: refs/heads/master@{#427473} [modify] https://crrev.com/460cac969e2e9ac38a2611be1a32db0361d88bfb/gpu/command_buffer/service/feature_info.cc [modify] https://crrev.com/460cac969e2e9ac38a2611be1a32db0361d88bfb/gpu/command_buffer/service/feature_info.h [modify] https://crrev.com/460cac969e2e9ac38a2611be1a32db0361d88bfb/gpu/command_buffer/service/framebuffer_manager_unittest.cc [modify] https://crrev.com/460cac969e2e9ac38a2611be1a32db0361d88bfb/gpu/command_buffer/service/gles2_cmd_decoder.cc [modify] https://crrev.com/460cac969e2e9ac38a2611be1a32db0361d88bfb/gpu/command_buffer/service/texture_manager.cc [modify] https://crrev.com/460cac969e2e9ac38a2611be1a32db0361d88bfb/gpu/command_buffer/service/texture_manager.h [modify] https://crrev.com/460cac969e2e9ac38a2611be1a32db0361d88bfb/gpu/command_buffer/tests/gl_texture_storage_unittest.cc
,
Oct 27 2016
Tested the issue on Mac OS X 10.11.6 using Chrome Dev# 56.0.2902.0 and below are the observation. (i) Navigated to the URL and Started Recording. (ii) Stopped Recording and clicked on Play. Only Audio is heard but video is not played. (iii) Downloaded the recorded video and observe that both video is seen and audio is heard. Attaching a screen cast for reference. Please let me know if i have missed anything. Thank You.
,
Nov 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cbdb34d5124364d85882f4f75d6b43377bfda0c0 commit cbdb34d5124364d85882f4f75d6b43377bfda0c0 Author: qiankun.miao <qiankun.miao@intel.com> Date: Tue Nov 01 03:55:30 2016 Add supported sized formats by CHROMIUM_ycbcr_420v/422_image BUG= 657532 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2458423002 Cr-Commit-Position: refs/heads/master@{#428930} [modify] https://crrev.com/cbdb34d5124364d85882f4f75d6b43377bfda0c0/gpu/command_buffer/service/gles2_cmd_decoder.cc [modify] https://crrev.com/cbdb34d5124364d85882f4f75d6b43377bfda0c0/gpu/command_buffer/service/texture_manager.cc
,
Nov 1 2016
Please help to verify if this issue disappears on ToT chromium.
,
Nov 2 2016
Verified in M56 Canary 56.0.2907.o in Mac The recorded mediaStream is played back with both audio and video
,
Nov 8 2016
Tested the issue on Latest Chrome Dev# 56.0.2913.3 on Mac OS X 10.11.6 and is not reproducible. Able to record and play the video and listen to the audio properly. Hence adding TE-Verified Labels. Thank You.
,
Nov 15 2016
Are we happy to close this issue based on #17 and #18?
,
Nov 15 2016
Closing this as "Verified"
,
Jan 18 2017
,
Jan 18 2017
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by srnarayanan@chromium.org
, Oct 19 2016514 KB
514 KB View Download
674 KB
674 KB View Download