OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 #ifndef MEDIA_CAST_CAST_SENDER_IMPL_H_ | 4 #ifndef MEDIA_CAST_CAST_SENDER_IMPL_H_ |
5 #define MEDIA_CAST_CAST_SENDER_IMPL_H_ | 5 #define MEDIA_CAST_CAST_SENDER_IMPL_H_ |
6 | 6 |
7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "media/cast/audio_sender/audio_sender.h" | 9 #include "media/cast/audio_sender/audio_sender.h" |
10 #include "media/cast/cast_config.h" | 10 #include "media/cast/cast_config.h" |
11 #include "media/cast/cast_environment.h" | 11 #include "media/cast/cast_environment.h" |
12 #include "media/cast/cast_sender.h" | 12 #include "media/cast/cast_sender.h" |
13 #include "media/cast/net/pacing/paced_sender.h" | 13 #include "media/cast/transport/pacing/paced_sender.h" |
14 #include "media/cast/video_sender/video_sender.h" | 14 #include "media/cast/video_sender/video_sender.h" |
15 | 15 |
16 namespace media { | 16 namespace media { |
17 class VideoFrame; | 17 class VideoFrame; |
18 } | 18 } |
19 | 19 |
20 namespace media { | 20 namespace media { |
21 namespace cast { | 21 namespace cast { |
22 | 22 |
23 class AudioSender; | 23 class AudioSender; |
24 class PacedSender; | 24 class PacedSender; |
25 class VideoSender; | 25 class VideoSender; |
26 | 26 |
27 // This calls is a pure owner class that group all required sending objects | 27 // This calls is a pure owner class that group all required sending objects |
28 // together such as pacer, packet receiver, frame input, audio and video sender. | 28 // together such as pacer, packet receiver, frame input, audio and video sender. |
29 class CastSenderImpl : public CastSender { | 29 class CastSenderImpl : public CastSender { |
30 public: | 30 public: |
31 CastSenderImpl(scoped_refptr<CastEnvironment> cast_environment, | 31 CastSenderImpl(scoped_refptr<CastEnvironment> cast_environment, |
32 const AudioSenderConfig& audio_config, | 32 const AudioSenderConfig& audio_config, |
33 const VideoSenderConfig& video_config, | 33 const VideoSenderConfig& video_config, |
34 VideoEncoderController* const video_encoder_controller, | 34 VideoEncoderController* const video_encoder_controller, |
35 PacketSender* const packet_sender); | 35 PacketSender* const packet_sender); |
36 | 36 |
37 virtual ~CastSenderImpl(); | 37 virtual ~CastSenderImpl(); |
38 | 38 |
39 virtual scoped_refptr<FrameInput> frame_input() OVERRIDE; | 39 virtual scoped_refptr<FrameInput> frame_input() OVERRIDE; |
40 virtual scoped_refptr<PacketReceiver> packet_receiver() OVERRIDE; | 40 virtual scoped_refptr<PacketReceiver> packet_receiver() OVERRIDE; |
41 | 41 |
42 private: | 42 private: |
43 PacedSender pacer_; | 43 transport::PacedSender pacer_; |
44 AudioSender audio_sender_; | 44 AudioSender audio_sender_; |
45 VideoSender video_sender_; | 45 VideoSender video_sender_; |
46 scoped_refptr<FrameInput> frame_input_; | 46 scoped_refptr<FrameInput> frame_input_; |
47 scoped_refptr<PacketReceiver> packet_receiver_; | 47 scoped_refptr<PacketReceiver> packet_receiver_; |
48 }; | 48 }; |
49 | 49 |
50 } // namespace cast | 50 } // namespace cast |
51 } // namespace media | 51 } // namespace media |
52 | 52 |
53 #endif // MEDIA_CAST_CAST_SENDER_IMPL_H_ | 53 #endif // MEDIA_CAST_CAST_SENDER_IMPL_H_ |
54 | 54 |
OLD | NEW |