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

Unified Diff: remoting/client/plugin/chromoting_instance.cc

Issue 136763009: Add VideoProcessor interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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
« no previous file with comments | « remoting/client/plugin/chromoting_instance.h ('k') | remoting/client/plugin/pepper_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/client/plugin/chromoting_instance.cc
diff --git a/remoting/client/plugin/chromoting_instance.cc b/remoting/client/plugin/chromoting_instance.cc
index 49c52102ec2693879e996829740aae53fdfc0ffd..b94c20762cd45ce197f1d49d34da3b44bdd26537 100644
--- a/remoting/client/plugin/chromoting_instance.cc
+++ b/remoting/client/plugin/chromoting_instance.cc
@@ -39,7 +39,7 @@
#include "remoting/client/plugin/pepper_port_allocator.h"
#include "remoting/client/plugin/pepper_token_fetcher.h"
#include "remoting/client/plugin/pepper_view.h"
-#include "remoting/client/rectangle_update_decoder.h"
+#include "remoting/client/software_video_renderer.h"
#include "remoting/protocol/connection_to_host.h"
#include "remoting/protocol/host_stub.h"
#include "remoting/protocol/libjingle_transport_factory.h"
@@ -634,23 +634,27 @@ void ChromotingInstance::ConnectWithConfig(const ClientConfig& config,
view_weak_factory_.reset(
new base::WeakPtrFactory<FrameConsumer>(view_.get()));
- // RectangleUpdateDecoder runs on a separate thread so for now we wrap
+ // SoftwareVideoRenderer runs on a separate thread so for now we wrap
// PepperView with a ref-counted proxy object.
scoped_refptr<FrameConsumerProxy> consumer_proxy =
new FrameConsumerProxy(plugin_task_runner_,
view_weak_factory_->GetWeakPtr());
+ SoftwareVideoRenderer* decoder =
+ new SoftwareVideoRenderer(context_.main_task_runner(),
+ context_.decode_task_runner(),
+ consumer_proxy);
+ view_->Initialize(decoder);
+ video_renderer_.reset(decoder);
+
host_connection_.reset(new protocol::ConnectionToHost(true));
scoped_ptr<AudioPlayer> audio_player(new PepperAudioPlayer(this));
- client_.reset(new ChromotingClient(config, &context_,
- host_connection_.get(), this,
- consumer_proxy, audio_player.Pass()));
-
- view_->Initialize(client_->GetFrameProducer());
+ client_.reset(new ChromotingClient(config, &context_, host_connection_.get(),
+ this, video_renderer_.get(),
+ audio_player.Pass()));
- if (!plugin_view_.is_null()) {
+ if (!plugin_view_.is_null())
view_->SetView(plugin_view_);
- }
// Connect the input pipeline to the protocol stub & initialize components.
mouse_input_filter_.set_input_stub(host_connection_->input_stub());
@@ -906,9 +910,9 @@ void ChromotingInstance::HandleAllowMouseLockMessage() {
}
ChromotingStats* ChromotingInstance::GetStats() {
- if (!client_.get())
+ if (!video_renderer_.get())
return NULL;
- return client_->GetStats();
+ return video_renderer_->GetStats();
}
void ChromotingInstance::PostChromotingMessage(
@@ -937,7 +941,7 @@ void ChromotingInstance::SendOutgoingIq(const std::string& iq) {
}
void ChromotingInstance::SendPerfStats() {
- if (!client_.get()) {
+ if (!video_renderer_.get()) {
return;
}
@@ -947,7 +951,7 @@ void ChromotingInstance::SendPerfStats() {
base::TimeDelta::FromMilliseconds(kPerfStatsIntervalMs));
scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue());
- ChromotingStats* stats = client_->GetStats();
+ ChromotingStats* stats = video_renderer_->GetStats();
data->SetDouble("videoBandwidth", stats->video_bandwidth()->Rate());
data->SetDouble("videoFrameRate", stats->video_frame_rate()->Rate());
data->SetDouble("captureLatency", stats->video_capture_ms()->Average());
« no previous file with comments | « remoting/client/plugin/chromoting_instance.h ('k') | remoting/client/plugin/pepper_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698