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

Issue 657532 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug-Regression

Blocking:
issue 535198



Sign in to add a comment

Regression: Playback of mediaStream recording shows blank video

Project Member Reported by srnarayanan@chromium.org, Oct 19 2016

Issue description

Version: 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

 
Screen Shot 2016-10-19 at 11.03.55 AM.png
514 KB View Download
test (1).webm
674 KB View Download
Similar behavior in 
https://webrtc.github.io/samples/src/content/devices/multi/ - Local video file when played is blank, but audio is heard
Owner: mcasas@chromium.org
Status: Assigned (was: Untriaged)
Miguel can you take a look or is emircan@ the right person?

Comment 4 by mcasas@chromium.org, Oct 24 2016

Cc: mcasas@chromium.org
Owner: w...@chromium.org
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.

Comment 5 by w...@chromium.org, Oct 24 2016

Owner: ccameron@chromium.org
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?

Comment 6 by w...@chromium.org, Oct 24 2016

Cc: sande...@chromium.org

Comment 7 by w...@chromium.org, Oct 24 2016

Owner: mcasas@chromium.org
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.
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.


Comment 9 by mcasas@chromium.org, Oct 24 2016

#8 ccameron, your bet is right, reverting that CL did the trick.
Owner: dongseong.hwang@chromium.org

Comment 11 by kbr@chromium.org, Oct 24 2016

Blocking: 535198

Comment 12 by zmo@chromium.org, Oct 25 2016

Labels: -Pri-3 Pri-2
Is there a way to add a test to avoid such regression sneak into Chrome?
Project Member

Comment 13 by bugdroid1@chromium.org, 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

Cc: msrchandra@chromium.org
Labels: Needs-Feedback
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.
657532.mp4
5.2 MB View Download
Project Member

Comment 15 by bugdroid1@chromium.org, 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

Please help to verify if this issue disappears on ToT chromium.
Verified in M56 Canary 56.0.2907.o in Mac
The recorded mediaStream is played back with both audio and video

Labels: -Needs-Feedback TE-Verified-56.0.2913.3 TE-Verified-M56
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.
Are we happy to close this issue based on #17 and #18?
Status: Verified (was: Assigned)
Closing this as "Verified" 
Components: Blink>MediaRecording
Components: -Blink>MediaStream>Recording

Sign in to add a comment