Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1241)

Unified Diff: media/cast/test/sender.cc

Issue 163553006: Cast: Refactoring Cast API's (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Refactoring and responding to review Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698