summaryrefslogtreecommitdiffstats
path: root/chromium/fuchsia/engine/renderer/web_engine_audio_renderer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/fuchsia/engine/renderer/web_engine_audio_renderer.cc')
-rw-r--r--chromium/fuchsia/engine/renderer/web_engine_audio_renderer.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/chromium/fuchsia/engine/renderer/web_engine_audio_renderer.cc b/chromium/fuchsia/engine/renderer/web_engine_audio_renderer.cc
index 16ee1138c2c..3a004bb8438 100644
--- a/chromium/fuchsia/engine/renderer/web_engine_audio_renderer.cc
+++ b/chromium/fuchsia/engine/renderer/web_engine_audio_renderer.cc
@@ -219,7 +219,8 @@ void WebEngineAudioRenderer::OnBuffersAcquired(
SendInputPacket(std::move(packet));
}
- if (is_at_end_of_stream_) {
+ if (has_delayed_end_of_stream_) {
+ has_delayed_end_of_stream_ = false;
OnSysmemBufferStreamEndOfStream();
}
}
@@ -781,9 +782,11 @@ void WebEngineAudioRenderer::OnSysmemBufferStreamEndOfStream() {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
DCHECK(is_at_end_of_stream_);
- // Stream sink is not bound yet, don't send EOS.
- if (!stream_sink_)
+ // Stream sink is not bound yet, queue EOS request until then.
+ if (!stream_sink_) {
+ has_delayed_end_of_stream_ = true;
return;
+ }
stream_sink_->EndOfStream();