Commit a31e844b authored by Li Lin's avatar Li Lin Committed by Commit Bot

Add STREAM_MP3 in GetSupportedStreamEncodings to unblock open media in browser...

Add STREAM_MP3 in GetSupportedStreamEncodings to unblock open media in browser before decoder is ready.

Bug: b:112162166
Change-Id: I7cbc3a753742ac9626877b8b76acc052328c90a1
Reviewed-on: https://chromium-review.googlesource.com/1164164Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Reviewed-by: default avatarTao Wu <wutao@chromium.org>
Commit-Queue: Li Lin <llin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581303}
parent 5f7fe46e
...@@ -181,6 +181,7 @@ AudioOutputProviderImpl::GetSupportedStreamEncodings() { ...@@ -181,6 +181,7 @@ AudioOutputProviderImpl::GetSupportedStreamEncodings() {
assistant_client::OutputStreamEncoding::STREAM_PCM_S16, assistant_client::OutputStreamEncoding::STREAM_PCM_S16,
assistant_client::OutputStreamEncoding::STREAM_PCM_S32, assistant_client::OutputStreamEncoding::STREAM_PCM_S32,
assistant_client::OutputStreamEncoding::STREAM_PCM_F32, assistant_client::OutputStreamEncoding::STREAM_PCM_F32,
assistant_client::OutputStreamEncoding::STREAM_MP3,
}; };
} }
...@@ -216,14 +217,20 @@ void AudioDeviceOwner::StartOnMainThread( ...@@ -216,14 +217,20 @@ void AudioDeviceOwner::StartOnMainThread(
DCHECK(!output_device_); DCHECK(!output_device_);
DCHECK(main_thread_task_runner_->RunsTasksInCurrentSequence()); DCHECK(main_thread_task_runner_->RunsTasksInCurrentSequence());
delegate_ = delegate;
format_ = format; format_ = format;
// TODO(wutao): Remove this after supporting mp3 encoding.
if (format_.encoding == assistant_client::OutputStreamEncoding::STREAM_MP3) {
delegate_->OnEndOfStream();
return;
}
audio_param_ = GetAudioParametersFromBufferFormat(format_); audio_param_ = GetAudioParametersFromBufferFormat(format_);
// |audio_fifo_| contains 3x the number of frames to render. // |audio_fifo_| contains 3x the number of frames to render.
audio_fifo_ = std::make_unique<media::AudioBlockFifo>( audio_fifo_ = std::make_unique<media::AudioBlockFifo>(
format.pcm_num_channels, audio_param_.frames_per_buffer(), 3); format.pcm_num_channels, audio_param_.frames_per_buffer(), 3);
audio_data_.resize(GetBufferSizeInBytesFromBufferFormat(format_)); audio_data_.resize(GetBufferSizeInBytesFromBufferFormat(format_));
delegate_ = delegate;
ScheduleFillLocked(base::TimeTicks::Now()); ScheduleFillLocked(base::TimeTicks::Now());
// |connector| is null in unittest. // |connector| is null in unittest.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment