1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "remoting/protocol/host_video_dispatcher.h"
8 #include "net/socket/stream_socket.h"
9 #include "remoting/base/constants.h"
10 #include "remoting/protocol/message_serialization.h"
11 #include "remoting/protocol/video_feedback_stub.h"
16 HostVideoDispatcher::HostVideoDispatcher()
17 : ChannelDispatcherBase(kVideoChannelName
),
19 base::Bind(&HostVideoDispatcher::OnVideoAck
, base::Unretained(this)),
21 video_feedback_stub_(nullptr) {
24 HostVideoDispatcher::~HostVideoDispatcher() {
27 void HostVideoDispatcher::ProcessVideoPacket(scoped_ptr
<VideoPacket
> packet
,
28 const base::Closure
& done
) {
29 writer()->Write(SerializeAndFrameMessage(*packet
), done
);
32 void HostVideoDispatcher::OnVideoAck(scoped_ptr
<VideoAck
> ack
,
33 const base::Closure
& done
) {
34 if (video_feedback_stub_
)
35 video_feedback_stub_
->ProcessVideoAck(ack
.Pass());
40 } // namespace protocol
41 } // namespace remoting