#ifndef CHROMECAST_MEDIA_SERVICE_CREATE_MOJO_MEDIA_CLIENT_H_
#define CHROMECAST_MEDIA_SERVICE_CREATE_MOJO_MEDIA_CLIENT_H_
#include "base/functional/callback.h"
#include "media/mojo/services/mojo_media_client.h"
namespace media {
namespace mojom {
class FrameInterfaceFactory;
}
class CdmFactory;
}
namespace chromecast {
namespace media {
class CmaBackendFactory;
class VideoGeometrySetterService;
class VideoModeSwitcher;
class VideoResolutionPolicy;
using CreateCdmFactoryCB =
base::RepeatingCallback<std::unique_ptr<::media::CdmFactory>(
::media::mojom::FrameInterfaceFactory*)>;
using EnableBufferingCB = base::RepeatingCallback<bool()>;
std::unique_ptr<::media::MojoMediaClient> CreateMojoMediaClientForCast(
CmaBackendFactory* backend_factory,
CreateCdmFactoryCB create_cdm_factory_cb,
VideoModeSwitcher* video_mode_switcher,
VideoResolutionPolicy* video_resolution_policy,
VideoGeometrySetterService* video_geometry_setter,
EnableBufferingCB enable_buffering_cb);
}
}
#endif