video_capture_device.cc revision 558790d6acca3451cf3a6b497803a5f07d0bec58
1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file.
4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "media/video/capture/video_capture_device.h"
6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace media {
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
9558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochconst std::string VideoCaptureDevice::Name::GetNameAndModel() const {
10558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch// On Linux, the device name already includes the model identifier.
11558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch#if !defined(OS_LINUX)
12558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch  std::string model_id = GetModel();
13558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch  if (!model_id.empty())
14558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch    return device_name_ + " (" + model_id + ")";
15558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch#endif  // if !defined(OS_LINUX)
16558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch  return device_name_;
17558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch}
18558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochVideoCaptureDevice::Name*
20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochVideoCaptureDevice::Names::FindById(const std::string& id) {
21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  for (iterator it = begin(); it != end(); ++it) {
22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    if (it->id() == id)
23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      return &(*it);
24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  }
25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return NULL;
26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}  // namespace media
29