video_capture_device.cc revision 68043e1e95eeb07d5cae7aca370b26518b0867d6
1// Copyright 2013 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 "media/video/capture/video_capture_device.h"
6#include "base/strings/string_util.h"
7
8namespace media {
9
10const std::string VideoCaptureDevice::Name::GetNameAndModel() const {
11  const std::string model_id = GetModel();
12  if (model_id.empty())
13    return device_name_;
14  const std::string suffix = " (" + model_id + ")";
15  if (EndsWith(device_name_, suffix, true))  // |true| means case-sensitive.
16    return device_name_;
17  return device_name_ + suffix;
18}
19
20VideoCaptureDevice::Name*
21VideoCaptureDevice::Names::FindById(const std::string& id) {
22  for (iterator it = begin(); it != end(); ++it) {
23    if (it->id() == id)
24      return &(*it);
25  }
26  return NULL;
27}
28
29VideoCaptureDevice::~VideoCaptureDevice() {}
30
31VideoCaptureDevice1::VideoCaptureDevice1() {}
32
33VideoCaptureDevice1::~VideoCaptureDevice1() {}
34
35void VideoCaptureDevice1::AllocateAndStart(
36    const VideoCaptureCapability& capture_format,
37    scoped_ptr<Client> client) {
38  client_ = client.Pass();
39  Allocate(capture_format, client_.get());
40  Start();
41}
42
43void VideoCaptureDevice1::StopAndDeAllocate() {
44  Stop();
45  DeAllocate();
46  client_.reset();
47};
48
49
50}  // namespace media
51