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

Unified Diff: remoting/client/chromoting_client.h

Issue 10843031: Piping for audio decoding. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changed an #include to a forward declaration Created 8 years, 4 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: remoting/client/chromoting_client.h
diff --git a/remoting/client/chromoting_client.h b/remoting/client/chromoting_client.h
index 377badbf47ff47e7a843d9356c26c8b5439f53fa..8c78d0b3b3509c97332e515cf9c391a3826b68c7 100644
--- a/remoting/client/chromoting_client.h
+++ b/remoting/client/chromoting_client.h
@@ -15,7 +15,6 @@
#include "base/time.h"
#include "remoting/client/client_config.h"
#include "remoting/client/chromoting_stats.h"
-#include "remoting/protocol/audio_stub.h"
#include "remoting/protocol/client_stub.h"
#include "remoting/protocol/clipboard_stub.h"
#include "remoting/protocol/connection_to_host.h"
@@ -33,23 +32,24 @@ namespace protocol {
class TransportFactory;
} // namespace protocol
+class AudioDecodeScheduler;
class AudioPlayer;
+class ClientContext;
class ClientUserInterface;
class RectangleUpdateDecoder;
// TODO(sergeyu): Move VideoStub implementation to RectangleUpdateDecoder.
class ChromotingClient : public protocol::ConnectionToHost::HostEventCallback,
public protocol::ClientStub,
- public protocol::VideoStub,
- public protocol::AudioStub {
+ public protocol::VideoStub {
public:
// Objects passed in are not owned by this class.
ChromotingClient(const ClientConfig& config,
- scoped_refptr<base::SingleThreadTaskRunner> task_runner,
+ const ClientContext& client_context,
Sergey Ulanov 2012/08/03 17:59:55 It's better to pass context by pointer instead of
kxing 2012/08/03 20:55:13 Done.
protocol::ConnectionToHost* connection,
ClientUserInterface* user_interface,
RectangleUpdateDecoder* rectangle_decoder,
- AudioPlayer* audio_player);
+ scoped_ptr<AudioPlayer> audio_player);
virtual ~ChromotingClient();
@@ -80,10 +80,6 @@ class ChromotingClient : public protocol::ConnectionToHost::HostEventCallback,
const base::Closure& done) OVERRIDE;
virtual int GetPendingVideoPackets() OVERRIDE;
- // AudioStub implementation.
- virtual void ProcessAudioPacket(scoped_ptr<AudioPacket> packet,
- const base::Closure& done) OVERRIDE;
-
private:
struct QueuedVideoPacket {
QueuedVideoPacket(scoped_ptr<VideoPacket> packet,
@@ -112,8 +108,10 @@ class ChromotingClient : public protocol::ConnectionToHost::HostEventCallback,
scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
protocol::ConnectionToHost* connection_;
ClientUserInterface* user_interface_;
+ // TODO(kxing): Make ChromotingClient own RectangleUpdateDecoder.
RectangleUpdateDecoder* rectangle_decoder_;
- AudioPlayer* audio_player_;
+
+ scoped_ptr<AudioDecodeScheduler> audio_decode_scheduler_;
// If non-NULL, this is called when the client is done.
base::Closure client_done_;

Powered by Google App Engine
This is Rietveld 408576698