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

Issue 910449 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 14
Cc:
Components:
EstimatedDays: 4
NextAction: ----
OS: ----
Pri: 1
Type: Bug-Regression



Sign in to add a comment

OnMoreDataConverter::OnError() gets called while data converter is not started.

Project Member Reported by steinbock@google.com, Nov 30

Issue description

OS: android/chromecast

What steps will reproduce the problem?
(1) play lots of different audio streams (e.g. the blip sound on volume change, or the duo "call connected" SFX.
*Repro rate is relatively low, however I can hit the bug (maybe once/15-30mins) by casting Play Music from a phone, pausing the audio, and holding/dragging the volume slider.

What is the expected result?
Nobody should be able to call into the callback when not started.

What happens instead?
OnError() is called, which causes a segfault on source_callback_


Worked prior to c9c6de7f90cbe250211913db243bde16c857ea84, which is not directly to blame but merely affected audio stream timing which exacerbated this threading issue (at least on slow devices).


logging::LogMessage::~LogMessage()
media::OnMoreDataConverter::OnError()
chromecast::media::CastAudioOutputStream::CmaWrapper::Start(media::AudioOutputStream::AudioSourceCallback*)  

 
Components: -Internals>Cast Chromecast
Owner: awolter@chromium.org
Reassigning to appropriate owner based on regression information.
Status: Assigned (was: Untriaged)
Owner: steinbock@google.com
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1d67e05b8dfabce650b1dcae5f8404ee1cd83f30

commit 1d67e05b8dfabce650b1dcae5f8404ee1cd83f30
Author: Nathaniel Steinbock <steinbock@google.com>
Date: Thu Dec 13 23:51:43 2018

Prevent cast audio buffer pushes when the CmaWrapper is stopped.

When CmaWrapper is stopped, stop the timer for scheduled buffer pushes.
This prevents PushBuffer() from being called into an incorrect state.

changed blips using a connected device.

Bug:  910449 , internal b/119413496
Test: Get multiple calls to the media pipeline on a cast device by rapidly sending volume
Change-Id: Iac61963d74aefc4c241ef8905b106d4ce7e315df
Reviewed-on: https://chromium-review.googlesource.com/c/1351718
Commit-Queue: Nate Steinbock <steinbock@google.com>
Reviewed-by: Kenneth MacKay <kmackay@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616503}
[modify] https://crrev.com/1d67e05b8dfabce650b1dcae5f8404ee1cd83f30/chromecast/media/audio/cast_audio_manager_unittest.cc
[modify] https://crrev.com/1d67e05b8dfabce650b1dcae5f8404ee1cd83f30/chromecast/media/audio/cast_audio_output_stream.cc
[modify] https://crrev.com/1d67e05b8dfabce650b1dcae5f8404ee1cd83f30/chromecast/media/audio/cast_audio_output_stream_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment