// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/public/common/media_stream_request.h"
#include "base/logging.h"
namespace content {
bool IsAudioMediaType(MediaStreamType type) {
return (type == content::MEDIA_DEVICE_AUDIO_CAPTURE ||
type == content::MEDIA_TAB_AUDIO_CAPTURE ||
type == content::MEDIA_LOOPBACK_AUDIO_CAPTURE);
}
bool IsVideoMediaType(MediaStreamType type) {
return (type == content::MEDIA_DEVICE_VIDEO_CAPTURE ||
type == content::MEDIA_TAB_VIDEO_CAPTURE ||
type == content::MEDIA_DESKTOP_VIDEO_CAPTURE);
}
MediaStreamDevice::MediaStreamDevice()
: type(MEDIA_NO_SERVICE),
video_facing(MEDIA_VIDEO_FACING_NONE) {
}
MediaStreamDevice::MediaStreamDevice(
MediaStreamType type,
const std::string& id,
const std::string& name)
: type(type),
id(id),
video_facing(MEDIA_VIDEO_FACING_NONE),
name(name) {
#if defined(OS_ANDROID)
if (name.find("front") != std::string::npos) {
video_facing = MEDIA_VIDEO_FACING_USER;
} else if (name.find("back") != std::string::npos) {
video_facing = MEDIA_VIDEO_FACING_ENVIRONMENT;
}
#endif
}
MediaStreamDevice::MediaStreamDevice(
MediaStreamType type,
const std::string& id,
const std::string& name,
int sample_rate,
int channel_layout,
int frames_per_buffer)
: type(type),
id(id),
video_facing(MEDIA_VIDEO_FACING_NONE),
name(name),
input(sample_rate, channel_layout, frames_per_buffer) {
}
MediaStreamDevice::~MediaStreamDevice() {}
bool MediaStreamDevice::IsEqual(const MediaStreamDevice& second) const {
const AudioDeviceParameters& input_second = second.input;
return type == second.type &&
name == second.name &&
id == second.id &&
input.sample_rate == input_second.sample_rate &&
input.channel_layout == input_second.channel_layout;
}
MediaStreamRequest::MediaStreamRequest(
int render_process_id,
int render_view_id,
int page_request_id,
const GURL& security_origin,
MediaStreamRequestType request_type,
const std::string& requested_audio_device_id,
const std::string& requested_video_device_id,
MediaStreamType audio_type,
MediaStreamType video_type)
: render_process_id(render_process_id),
render_view_id(render_view_id),
page_request_id(page_request_id),
security_origin(security_origin),
request_type(request_type),
requested_audio_device_id(requested_audio_device_id),
requested_video_device_id(requested_video_device_id),
audio_type(audio_type),
video_type(video_type) {
}
MediaStreamRequest::~MediaStreamRequest() {}
} // namespace content