// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_CAST_STREAMING_RENDERER_FRAME_FRAME_INJECTING_DEMUXER_H_ #define COMPONENTS_CAST_STREAMING_RENDERER_FRAME_FRAME_INJECTING_DEMUXER_H_ #include <optional> #include "base/memory/raw_ptr.h" #include "base/task/sequenced_task_runner.h" #include "components/cast_streaming/common/public/mojom/demuxer_connector.mojom.h" #include "media/base/demuxer.h" namespace cast_streaming { class StreamTimestampOffsetTracker; class FrameInjectingAudioDemuxerStream; class FrameInjectingVideoDemuxerStream; class DemuxerConnector; // media::Demuxer implementation for a Cast Streaming Receiver. // This object is instantiated on the main thread, whose task runner is stored // as |original_task_runner_|. OnStreamsInitialized() is the only method called // on the main thread. Every other method is called on the media thread, whose // task runner is |media_task_runner_|. // TODO(crbug.com/40131115): Simplify the FrameInjectingDemuxer initialization // sequence when the DemuxerConnector Component has been implemented. class FrameInjectingDemuxer final : public media::Demuxer { … }; } // namespace cast_streaming #endif // COMPONENTS_CAST_STREAMING_RENDERER_FRAME_FRAME_INJECTING_DEMUXER_H_