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 | 4 |
5 #include "media/cast/cast_receiver_impl.h" | 5 #include "media/cast/cast_receiver_impl.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 | 59 |
60 private: | 60 private: |
61 friend class base::RefCountedThreadSafe<LocalFrameReceiver>; | 61 friend class base::RefCountedThreadSafe<LocalFrameReceiver>; |
62 | 62 |
63 scoped_refptr<CastEnvironment> cast_environment_; | 63 scoped_refptr<CastEnvironment> cast_environment_; |
64 AudioReceiver* audio_receiver_; | 64 AudioReceiver* audio_receiver_; |
65 VideoReceiver* video_receiver_; | 65 VideoReceiver* video_receiver_; |
66 }; | 66 }; |
67 | 67 |
68 // The video and audio receivers should only be called from the main thread. | 68 // The video and audio receivers should only be called from the main thread. |
69 class LocalPacketReceiver : public transport::PacketReceiver { | 69 class LocalPacketReceiver : public PacketReceiver { |
70 public: | 70 public: |
71 LocalPacketReceiver(scoped_refptr<CastEnvironment> cast_environment, | 71 LocalPacketReceiver(scoped_refptr<CastEnvironment> cast_environment, |
72 AudioReceiver* audio_receiver, | 72 AudioReceiver* audio_receiver, |
73 VideoReceiver* video_receiver, | 73 VideoReceiver* video_receiver, |
74 uint32 ssrc_of_audio_sender, | 74 uint32 ssrc_of_audio_sender, |
75 uint32 ssrc_of_video_sender) | 75 uint32 ssrc_of_video_sender) |
76 : cast_environment_(cast_environment), | 76 : cast_environment_(cast_environment), |
77 audio_receiver_(audio_receiver), | 77 audio_receiver_(audio_receiver), |
78 video_receiver_(video_receiver), | 78 video_receiver_(video_receiver), |
79 ssrc_of_audio_sender_(ssrc_of_audio_sender), | 79 ssrc_of_audio_sender_(ssrc_of_audio_sender), |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 audio_config, | 142 audio_config, |
143 video_config, | 143 video_config, |
144 packet_sender); | 144 packet_sender); |
145 } | 145 } |
146 | 146 |
147 CastReceiverImpl::CastReceiverImpl( | 147 CastReceiverImpl::CastReceiverImpl( |
148 scoped_refptr<CastEnvironment> cast_environment, | 148 scoped_refptr<CastEnvironment> cast_environment, |
149 const AudioReceiverConfig& audio_config, | 149 const AudioReceiverConfig& audio_config, |
150 const VideoReceiverConfig& video_config, | 150 const VideoReceiverConfig& video_config, |
151 PacketSender* const packet_sender) | 151 PacketSender* const packet_sender) |
152 : pacer_(cast_environment->Clock(), packet_sender, | 152 : pacer_(cast_environment, packet_sender), |
153 cast_environment->GetMessageTaskRunnerForThread( | |
154 CastEnvironment::TRANSPORT)), | |
155 audio_receiver_(cast_environment, audio_config, &pacer_), | 153 audio_receiver_(cast_environment, audio_config, &pacer_), |
156 video_receiver_(cast_environment, video_config, &pacer_), | 154 video_receiver_(cast_environment, video_config, &pacer_), |
157 frame_receiver_(new LocalFrameReceiver(cast_environment, | 155 frame_receiver_(new LocalFrameReceiver(cast_environment, |
158 &audio_receiver_, | 156 &audio_receiver_, |
159 &video_receiver_)), | 157 &video_receiver_)), |
160 packet_receiver_(new LocalPacketReceiver(cast_environment, | 158 packet_receiver_(new LocalPacketReceiver(cast_environment, |
161 &audio_receiver_, | 159 &audio_receiver_, |
162 &video_receiver_, | 160 &video_receiver_, |
163 audio_config.incoming_ssrc, | 161 audio_config.incoming_ssrc, |
164 video_config.incoming_ssrc)) {} | 162 video_config.incoming_ssrc)) {} |
165 | 163 |
166 CastReceiverImpl::~CastReceiverImpl() {} | 164 CastReceiverImpl::~CastReceiverImpl() {} |
167 | 165 |
168 scoped_refptr<transport::PacketReceiver> CastReceiverImpl::packet_receiver() { | 166 scoped_refptr<PacketReceiver> CastReceiverImpl::packet_receiver() { |
169 return packet_receiver_; | 167 return packet_receiver_; |
170 } | 168 } |
171 | 169 |
172 scoped_refptr<FrameReceiver> CastReceiverImpl::frame_receiver() { | 170 scoped_refptr<FrameReceiver> CastReceiverImpl::frame_receiver() { |
173 return frame_receiver_; | 171 return frame_receiver_; |
174 } | 172 } |
175 | 173 |
176 } // namespace cast | 174 } // namespace cast |
177 } // namespace media | 175 } // namespace media |
OLD | NEW |