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. 4 5#include "remoting/protocol/host_video_dispatcher.h" 6 7#include "base/bind.h" 8#include "net/socket/stream_socket.h" 9#include "remoting/base/constants.h" 10#include "remoting/proto/video.pb.h" 11#include "remoting/protocol/message_serialization.h" 12 13namespace remoting { 14namespace protocol { 15 16HostVideoDispatcher::HostVideoDispatcher() 17 : ChannelDispatcherBase(kVideoChannelName) { 18} 19 20HostVideoDispatcher::~HostVideoDispatcher() { 21} 22 23void HostVideoDispatcher::OnInitialized() { 24 // TODO(sergeyu): Provide WriteFailedCallback for the buffered writer. 25 writer_.Init(channel(), BufferedSocketWriter::WriteFailedCallback()); 26} 27 28void HostVideoDispatcher::ProcessVideoPacket(scoped_ptr<VideoPacket> packet, 29 const base::Closure& done) { 30 writer_.Write(SerializeAndFrameMessage(*packet), done); 31} 32 33} // namespace protocol 34} // namespace remoting 35