Index: media/cast/test/sender.cc |
diff --git a/media/cast/test/sender.cc b/media/cast/test/sender.cc |
index 603b2de847c0124afda6e6dec1ff6becb689b513..b75bef947b2bf83f06d1c657d0a569d92cb3006f 100644 |
--- a/media/cast/test/sender.cc |
+++ b/media/cast/test/sender.cc |
@@ -184,11 +184,13 @@ class SendProcess { |
SendProcess(scoped_refptr<base::SingleThreadTaskRunner> thread_proxy, |
base::TickClock* clock, |
const VideoSenderConfig& video_config, |
- FrameInput* frame_input) |
+ scoped_refptr<AudioFrameInput> audio_frame_input, |
+ scoped_refptr<VideoFrameInput> video_frame_input) |
: test_app_thread_proxy_(thread_proxy), |
video_config_(video_config), |
audio_diff_(kFrameTimerMs), |
- frame_input_(frame_input), |
+ audio_frame_input_(audio_frame_input), |
+ video_frame_input_(video_frame_input), |
synthetic_count_(0), |
clock_(clock), |
start_time_(), |
@@ -224,7 +226,7 @@ class SendProcess { |
scoped_ptr<AudioBus> audio_bus(audio_bus_factory_->NextAudioBus( |
base::TimeDelta::FromMilliseconds(10) * num_10ms_blocks)); |
AudioBus* const audio_bus_ptr = audio_bus.get(); |
- frame_input_->InsertAudio( |
+ audio_frame_input_->InsertAudio( |
audio_bus_ptr, |
clock_->NowTicks(), |
base::Bind(&OwnThatAudioBus, base::Passed(&audio_bus))); |
@@ -256,21 +258,21 @@ class SendProcess { |
test_app_thread_proxy_->PostDelayedTask( |
FROM_HERE, |
base::Bind(&SendProcess::SendVideoFrameOnTime, |
- base::Unretained(this), |
+ weak_factory_.GetWeakPtr(), |
video_frame), |
video_frame_time - elapsed_time); |
} else { |
test_app_thread_proxy_->PostTask( |
FROM_HERE, |
base::Bind(&SendProcess::SendVideoFrameOnTime, |
- base::Unretained(this), |
+ weak_factory_.GetWeakPtr(), |
video_frame)); |
} |
} |
void SendVideoFrameOnTime(scoped_refptr<media::VideoFrame> video_frame) { |
send_time_ = clock_->NowTicks(); |
- frame_input_->InsertRawVideoFrame(video_frame, send_time_); |
+ video_frame_input_->InsertRawVideoFrame(video_frame, send_time_); |
test_app_thread_proxy_->PostTask( |
FROM_HERE, base::Bind(&SendProcess::SendFrame, base::Unretained(this))); |
} |
@@ -279,7 +281,8 @@ class SendProcess { |
scoped_refptr<base::SingleThreadTaskRunner> test_app_thread_proxy_; |
const VideoSenderConfig video_config_; |
int audio_diff_; |
- const scoped_refptr<FrameInput> frame_input_; |
+ const scoped_refptr<AudioFrameInput> audio_frame_input_; |
+ const scoped_refptr<VideoFrameInput> video_frame_input_; |
FILE* video_file_; |
uint8 synthetic_count_; |
base::TickClock* const clock_; // Not owned by this class. |
@@ -297,8 +300,9 @@ void UpdateCastTransportStatus( |
media::cast::transport::CastTransportStatus status) {} |
void InitializationResult(media::cast::CastInitializationStatus result) { |
- CHECK_EQ(result, media::cast::STATUS_INITIALIZED); |
- VLOG(1) << "Cast Sender initialized"; |
+ bool end_result = result == media::cast::STATUS_AUDIO_INITIALIZED || |
+ result == media::cast::STATUS_VIDEO_INITIALIZED; |
+ CHECK(end_result); |
} |
net::IPEndPoint CreateUDPAddress(std::string ip_str, int port) { |
@@ -311,7 +315,6 @@ net::IPEndPoint CreateUDPAddress(std::string ip_str, int port) { |
int main(int argc, char** argv) { |
base::AtExitManager at_exit; |
- VLOG(1) << "Cast Sender"; |
base::Thread test_thread("Cast sender test app thread"); |
base::Thread audio_thread("Cast audio encoder thread"); |
base::Thread video_thread("Cast video encoder thread"); |
@@ -342,12 +345,12 @@ int main(int argc, char** argv) { |
config.audio_rtp_config = audio_config.rtp_config; |
config.video_rtp_config = video_config.rtp_config; |
- scoped_ptr<media::cast::transport::CastTransportSender> transport_sender( |
- media::cast::transport::CastTransportSender::CreateCastTransportSender( |
+ scoped_ptr<media::cast::transport::CastTransportSender> transport_sender = |
+ media::cast::transport::CastTransportSender::Create( |
clock.get(), |
config, |
base::Bind(&UpdateCastTransportStatus), |
- io_message_loop.message_loop_proxy())); |
+ io_message_loop.message_loop_proxy()); |
// Enable main and send side threads only. Disable logging. |
// Running transport on the main thread. |
@@ -362,23 +365,26 @@ int main(int argc, char** argv) { |
io_message_loop.message_loop_proxy(), |
media::cast::GetDefaultCastSenderLoggingConfig())); |
- scoped_ptr<media::cast::CastSender> cast_sender( |
- media::cast::CastSender::CreateCastSender( |
- cast_environment, |
- &audio_config, |
- &video_config, |
- NULL, // gpu_factories. |
- base::Bind(&InitializationResult), |
- transport_sender.get())); |
+ scoped_ptr<media::cast::CastSender> cast_sender = |
+ media::cast::CastSender::Create(cast_environment, |
+ base::Bind(&InitializationResult), |
+ transport_sender.get()); |
+ |
+ cast_sender->InitializeVideo(video_config, NULL); |
+ cast_sender->InitializeAudio(audio_config); |
transport_sender->SetPacketReceiver(cast_sender->packet_receiver()); |
- media::cast::FrameInput* frame_input = cast_sender->frame_input(); |
+ scoped_refptr<media::cast::AudioFrameInput> audio_frame_input = |
+ cast_sender->audio_frame_input(); |
+ scoped_refptr<media::cast::VideoFrameInput> video_frame_input = |
+ cast_sender->video_frame_input(); |
scoped_ptr<media::cast::SendProcess> send_process( |
new media::cast::SendProcess(test_thread.message_loop_proxy(), |
cast_environment->Clock(), |
video_config, |
- frame_input)); |
+ audio_frame_input, |
+ video_frame_input)); |
test_thread.message_loop_proxy()->PostTask( |
FROM_HERE, |