summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chromecast/browser/media/cast_renderer.cc2
-rw-r--r--media/mojo/interfaces/demuxer_stream.mojom4
-rw-r--r--media/mojo/services/mojo_demuxer_stream_adapter.cc2
-rw-r--r--media/mojo/services/mojo_demuxer_stream_impl.cc4
-rw-r--r--media/mojo/services/mojo_demuxer_stream_impl.h1
5 files changed, 12 insertions, 1 deletions
diff --git a/chromecast/browser/media/cast_renderer.cc b/chromecast/browser/media/cast_renderer.cc
index badc7cb..0e0512f 100644
--- a/chromecast/browser/media/cast_renderer.cc
+++ b/chromecast/browser/media/cast_renderer.cc
@@ -98,6 +98,7 @@ void CastRenderer::Initialize(
init_cb.Run(status);
return;
}
+ audio_stream->EnableBitstreamConverter();
}
// Initialize video.
@@ -124,6 +125,7 @@ void CastRenderer::Initialize(
init_cb.Run(status);
return;
}
+ video_stream->EnableBitstreamConverter();
}
ended_cb_ = ended_cb;
diff --git a/media/mojo/interfaces/demuxer_stream.mojom b/media/mojo/interfaces/demuxer_stream.mojom
index 5b880b7..039888d 100644
--- a/media/mojo/interfaces/demuxer_stream.mojom
+++ b/media/mojo/interfaces/demuxer_stream.mojom
@@ -53,4 +53,8 @@ interface DemuxerStream {
DecoderBuffer? buffer,
AudioDecoderConfig? audio_config,
VideoDecoderConfig? video_config);
+
+ // Enables converting bitstream to a format that is expected by the decoder.
+ // For example, H.264/AAC bitstream based packets into H.264 Annex B format.
+ EnableBitstreamConverter();
};
diff --git a/media/mojo/services/mojo_demuxer_stream_adapter.cc b/media/mojo/services/mojo_demuxer_stream_adapter.cc
index 006f2f8..4b50594 100644
--- a/media/mojo/services/mojo_demuxer_stream_adapter.cc
+++ b/media/mojo/services/mojo_demuxer_stream_adapter.cc
@@ -58,7 +58,7 @@ DemuxerStream::Type MojoDemuxerStreamAdapter::type() const {
}
void MojoDemuxerStreamAdapter::EnableBitstreamConverter() {
- NOTIMPLEMENTED();
+ demuxer_stream_->EnableBitstreamConverter();
}
bool MojoDemuxerStreamAdapter::SupportsConfigChanges() {
diff --git a/media/mojo/services/mojo_demuxer_stream_impl.cc b/media/mojo/services/mojo_demuxer_stream_impl.cc
index f7af949..b564cb6 100644
--- a/media/mojo/services/mojo_demuxer_stream_impl.cc
+++ b/media/mojo/services/mojo_demuxer_stream_impl.cc
@@ -75,6 +75,10 @@ void MojoDemuxerStreamImpl::Read(const ReadCallback& callback) {
weak_factory_.GetWeakPtr(), callback));
}
+void MojoDemuxerStreamImpl::EnableBitstreamConverter() {
+ stream_->EnableBitstreamConverter();
+}
+
void MojoDemuxerStreamImpl::OnBufferReady(
const ReadCallback& callback,
media::DemuxerStream::Status status,
diff --git a/media/mojo/services/mojo_demuxer_stream_impl.h b/media/mojo/services/mojo_demuxer_stream_impl.h
index 5049eed..fa54226 100644
--- a/media/mojo/services/mojo_demuxer_stream_impl.h
+++ b/media/mojo/services/mojo_demuxer_stream_impl.h
@@ -30,6 +30,7 @@ class MojoDemuxerStreamImpl : public interfaces::DemuxerStream {
// interfaces::DemuxerStream.
void Initialize(const InitializeCallback& callback) override;
void Read(const ReadCallback& callback) override;
+ void EnableBitstreamConverter() override;
private:
void OnBufferReady(const ReadCallback& callback,