#ifndef COMPONENTS_CAST_STREAMING_BROWSER_FRAME_DEMUXER_STREAM_DATA_PROVIDER_H_
#define COMPONENTS_CAST_STREAMING_BROWSER_FRAME_DEMUXER_STREAM_DATA_PROVIDER_H_
#include "base/functional/callback_forward.h"
#include "base/memory/weak_ptr.h"
#include "base/sequence_checker.h"
#include "components/cast_streaming/browser/common/demuxer_stream_client.h"
#include "components/cast_streaming/common/frame/demuxer_stream_traits.h"
#include "components/cast_streaming/common/public/mojom/demuxer_connector.mojom.h"
#include "mojo/public/cpp/bindings/message.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace cast_streaming {
template <typename TMojoReceiverType>
class DemuxerStreamDataProvider;
using AudioDemuxerStreamDataProvider =
DemuxerStreamDataProvider<mojom::AudioBufferRequester>;
using VideoDemuxerStreamDataProvider =
DemuxerStreamDataProvider<mojom::VideoBufferRequester>;
template <typename TMojoReceiverType>
class DemuxerStreamDataProvider : public DemuxerStreamTraits<TMojoReceiverType>,
public TMojoReceiverType { … };
}
#endif