| Index: services/media/factory_service/media_sink_impl.h
|
| diff --git a/services/media/factory_service/media_sink_impl.h b/services/media/factory_service/media_sink_impl.h
|
| index 1eec79b3f329ea0f20487bba120855e6976e7b7b..8b842f10caba06676577c43b9f9f96751cb6ea9a 100644
|
| --- a/services/media/factory_service/media_sink_impl.h
|
| +++ b/services/media/factory_service/media_sink_impl.h
|
| @@ -10,7 +10,6 @@
|
| #include "mojo/public/cpp/bindings/binding.h"
|
| #include "mojo/services/media/control/interfaces/media_sink.mojom.h"
|
| #include "mojo/services/media/core/interfaces/timeline_controller.mojom.h"
|
| -#include "services/media/factory_service/audio_track_controller.h"
|
| #include "services/media/factory_service/factory_service.h"
|
| #include "services/media/framework/graph.h"
|
| #include "services/media/framework/parts/decoder.h"
|
| @@ -27,7 +26,7 @@ class MediaSinkImpl : public MediaFactoryService::Product<MediaSink>,
|
| public MediaSink {
|
| public:
|
| static std::shared_ptr<MediaSinkImpl> Create(
|
| - const String& destination_url,
|
| + InterfaceHandle<MediaRenderer> renderer,
|
| MediaTypePtr media_type,
|
| InterfaceRequest<MediaSink> request,
|
| MediaFactoryService* owner);
|
| @@ -41,7 +40,37 @@ class MediaSinkImpl : public MediaFactoryService::Product<MediaSink>,
|
| InterfaceRequest<MediaTimelineControlSite> req) override;
|
|
|
| private:
|
| - MediaSinkImpl(const String& destination_url,
|
| + class NullTimelineControlSite : public MediaTimelineControlSite,
|
| + public TimelineConsumer {
|
| + public:
|
| + NullTimelineControlSite(
|
| + InterfaceRequest<MediaTimelineControlSite> control_site_request);
|
| +
|
| + ~NullTimelineControlSite() override;
|
| +
|
| + // MediaTimelineControlSite implementation.
|
| + void GetStatus(uint64_t version_last_seen,
|
| + const GetStatusCallback& callback) override;
|
| +
|
| + void GetTimelineConsumer(
|
| + InterfaceRequest<TimelineConsumer> timeline_consumer) override;
|
| +
|
| + // TimelineConsumer implementation.
|
| + void SetTimelineTransform(
|
| + int64_t subject_time,
|
| + uint32_t reference_delta,
|
| + uint32_t subject_delta,
|
| + int64_t effective_reference_time,
|
| + int64_t effective_subject_time,
|
| + const SetTimelineTransformCallback& callback) override;
|
| +
|
| + private:
|
| + Binding<MediaTimelineControlSite> control_site_binding_;
|
| + Binding<TimelineConsumer> consumer_binding_;
|
| + GetStatusCallback get_status_callback_;
|
| + };
|
| +
|
| + MediaSinkImpl(InterfaceHandle<MediaRenderer> renderer,
|
| MediaTypePtr media_type,
|
| InterfaceRequest<MediaSink> request,
|
| MediaFactoryService* owner);
|
| @@ -50,7 +79,10 @@ class MediaSinkImpl : public MediaFactoryService::Product<MediaSink>,
|
| Graph graph_;
|
| std::shared_ptr<MojoConsumer> consumer_;
|
| std::shared_ptr<MojoProducer> producer_;
|
| - std::unique_ptr<AudioTrackController> controller_;
|
| + MediaRendererPtr renderer_;
|
| + // The following fields are just temporaries used to solve lambda capture
|
| + // problems.
|
| + std::unique_ptr<StreamType> input_stream_type_;
|
| };
|
|
|
| } // namespace media
|
|
|