cleanup: pass string as const reference from c/b/extension
[chromium-blink-merge.git] / remoting / protocol / video_reader.cc
blob0dfa10ac02157f73661d5af103456fd40d224360
1 // Copyright (c) 2012 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/video_reader.h"
7 #include "remoting/protocol/session_config.h"
8 #include "remoting/protocol/protobuf_video_reader.h"
10 namespace remoting {
11 namespace protocol {
13 VideoReader::~VideoReader() { }
15 // static
16 scoped_ptr<VideoReader> VideoReader::Create(const SessionConfig& config) {
17 const ChannelConfig& video_config = config.video_config();
18 if (video_config.transport == ChannelConfig::TRANSPORT_STREAM) {
19 if (video_config.codec == ChannelConfig::CODEC_VP8) {
20 return scoped_ptr<VideoReader>(
21 new ProtobufVideoReader(VideoPacketFormat::ENCODING_VP8));
22 } else if (video_config.codec == ChannelConfig::CODEC_VP9) {
23 return scoped_ptr<VideoReader>(
24 new ProtobufVideoReader(VideoPacketFormat::ENCODING_VP9));
25 } else if (video_config.codec == ChannelConfig::CODEC_ZIP) {
26 return scoped_ptr<VideoReader>(
27 new ProtobufVideoReader(VideoPacketFormat::ENCODING_ZLIB));
28 } else if (video_config.codec == ChannelConfig::CODEC_VERBATIM) {
29 return scoped_ptr<VideoReader>(
30 new ProtobufVideoReader(VideoPacketFormat::ENCODING_VERBATIM));
33 NOTREACHED();
34 return scoped_ptr<VideoReader>();
37 } // namespace protocol
38 } // namespace remoting