diff options
-rw-r--r-- | chromecast/browser/media/cast_renderer.cc | 2 | ||||
-rw-r--r-- | media/mojo/interfaces/demuxer_stream.mojom | 4 | ||||
-rw-r--r-- | media/mojo/services/mojo_demuxer_stream_adapter.cc | 2 | ||||
-rw-r--r-- | media/mojo/services/mojo_demuxer_stream_impl.cc | 4 | ||||
-rw-r--r-- | media/mojo/services/mojo_demuxer_stream_impl.h | 1 |
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, |