| Index: remoting/protocol/host_video_dispatcher.h
|
| diff --git a/remoting/protocol/host_video_dispatcher.h b/remoting/protocol/host_video_dispatcher.h
|
| index c1a957397c0ab6a018f12b8414df98a84b55bc9d..2c41bc567dcfce1806154f9e8ca6cd333f06cc5b 100644
|
| --- a/remoting/protocol/host_video_dispatcher.h
|
| +++ b/remoting/protocol/host_video_dispatcher.h
|
| @@ -5,11 +5,13 @@
|
| #ifndef REMOTING_PROTOCOL_HOST_VIDEO_DISPATCHER_H_
|
| #define REMOTING_PROTOCOL_HOST_VIDEO_DISPATCHER_H_
|
|
|
| +#include <deque>
|
| #include <string>
|
|
|
| #include "base/compiler_specific.h"
|
| -#include "remoting/protocol/buffered_socket_writer.h"
|
| +#include "remoting/proto/video.pb.h"
|
| #include "remoting/protocol/channel_dispatcher_base.h"
|
| +#include "remoting/protocol/protobuf_message_parser.h"
|
| #include "remoting/protocol/video_stub.h"
|
|
|
| namespace remoting {
|
| @@ -22,9 +24,25 @@ class HostVideoDispatcher : public ChannelDispatcherBase, public VideoStub {
|
|
|
| // VideoStub interface.
|
| void ProcessVideoPacket(scoped_ptr<VideoPacket> packet,
|
| - const base::Closure& done) override;
|
| + const ProgressCallback& progress_callback) override;
|
| + bool SupportsAcks() override;
|
|
|
| private:
|
| + struct PendingFrame {
|
| + PendingFrame(int frame_id, const ProgressCallback& progress_callback);
|
| +
|
| + int32_t frame_id;
|
| + ProgressCallback progress_callback;
|
| + };
|
| +
|
| + void OnPacketSent(const ProgressCallback& progress_callback);
|
| + void OnVideoAck(scoped_ptr<VideoAck> ack, const base::Closure& done);
|
| +
|
| + int32_t frame_id_;
|
| + ProtobufMessageParser<VideoAck> parser_;
|
| +
|
| + std::deque<PendingFrame> pending_frames_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(HostVideoDispatcher);
|
| };
|
|
|
|
|