diff options
Diffstat (limited to 'chromium/media/cast/cast_receiver_impl.h')
-rw-r--r-- | chromium/media/cast/cast_receiver_impl.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/chromium/media/cast/cast_receiver_impl.h b/chromium/media/cast/cast_receiver_impl.h new file mode 100644 index 00000000000..d34a3de6514 --- /dev/null +++ b/chromium/media/cast/cast_receiver_impl.h @@ -0,0 +1,50 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef MEDIA_CAST_CAST_RECEIVER_IMPL_H_ +#define MEDIA_CAST_CAST_RECEIVER_IMPL_H_ + +#include "base/memory/ref_counted.h" +#include "base/memory/scoped_ptr.h" +#include "media/cast/audio_receiver/audio_receiver.h" +#include "media/cast/cast_config.h" +#include "media/cast/cast_environment.h" +#include "media/cast/cast_receiver.h" +#include "media/cast/net/pacing/paced_sender.h" +#include "media/cast/video_receiver/video_receiver.h" + +namespace media { +namespace cast { + +// This calls is a pure owner class that group all required receive objects +// together such as pacer, packet receiver, frame receiver, audio and video +// receivers. +class CastReceiverImpl : public CastReceiver { + public: + CastReceiverImpl(scoped_refptr<CastEnvironment> cast_environment, + const AudioReceiverConfig& audio_config, + const VideoReceiverConfig& video_config, + PacketSender* const packet_sender); + + virtual ~CastReceiverImpl(); + + // All received RTP and RTCP packets for the call should be inserted to this + // PacketReceiver. + virtual scoped_refptr<PacketReceiver> packet_receiver() OVERRIDE; + + // Interface to get audio and video frames from the CastReceiver. + virtual scoped_refptr<FrameReceiver> frame_receiver() OVERRIDE; + + private: + PacedSender pacer_; + AudioReceiver audio_receiver_; + VideoReceiver video_receiver_; + scoped_refptr<FrameReceiver> frame_receiver_; + scoped_refptr<PacketReceiver> packet_receiver_; +}; + +} // namespace cast +} // namespace media + +#endif // MEDIA_CAST_CAST_RECEIVER_IMPL_ |