| 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,
|
|
|