#include "media/mojo/services/mojo_demuxer_stream_adapter.h"
#include <stdint.h>
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/numerics/safe_conversions.h"
#include "media/base/decoder_buffer.h"
#include "media/base/demuxer_stream.h"
#include "media/mojo/common/media_type_converters.h"
#include "media/mojo/common/mojo_decoder_buffer_converter.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace media {
MojoDemuxerStreamAdapter::MojoDemuxerStreamAdapter(
mojo::PendingRemote<mojom::DemuxerStream> demuxer_stream,
base::OnceClosure stream_ready_cb)
: … { … }
MojoDemuxerStreamAdapter::~MojoDemuxerStreamAdapter() { … }
void MojoDemuxerStreamAdapter::Read(uint32_t count, ReadCB read_cb) { … }
AudioDecoderConfig MojoDemuxerStreamAdapter::audio_decoder_config() { … }
VideoDecoderConfig MojoDemuxerStreamAdapter::video_decoder_config() { … }
DemuxerStream::Type MojoDemuxerStreamAdapter::type() const { … }
void MojoDemuxerStreamAdapter::EnableBitstreamConverter() { … }
bool MojoDemuxerStreamAdapter::SupportsConfigChanges() { … }
void MojoDemuxerStreamAdapter::OnStreamReady(
Type type,
mojo::ScopedDataPipeConsumerHandle consumer_handle,
const std::optional<AudioDecoderConfig>& audio_config,
const std::optional<VideoDecoderConfig>& video_config) { … }
void MojoDemuxerStreamAdapter::OnBufferReady(
Status status,
std::vector<mojom::DecoderBufferPtr> batch_buffers,
const std::optional<AudioDecoderConfig>& audio_config,
const std::optional<VideoDecoderConfig>& video_config) { … }
void MojoDemuxerStreamAdapter::OnBufferRead(
scoped_refptr<DecoderBuffer> buffer) { … }
void MojoDemuxerStreamAdapter::UpdateConfig(
const std::optional<AudioDecoderConfig>& audio_config,
const std::optional<VideoDecoderConfig>& video_config) { … }
}