11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file.
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "remoting/protocol/client_video_dispatcher.h"
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/bind.h"
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "net/socket/stream_socket.h"
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "remoting/base/constants.h"
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "remoting/proto/video.pb.h"
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "remoting/protocol/video_stub.h"
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace remoting {
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace protocol {
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciClientVideoDispatcher::ClientVideoDispatcher(VideoStub* video_stub)
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    : ChannelDispatcherBase(kVideoChannelName),
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      video_stub_(video_stub) {
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciClientVideoDispatcher::~ClientVideoDispatcher() {
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid ClientVideoDispatcher::OnInitialized() {
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  reader_.Init(channel(), base::Bind(&VideoStub::ProcessVideoPacket,
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                     base::Unretained(video_stub_)));
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}  // namespace protocol
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}  // namespace remoting
31