media_stream_request.cc revision 68043e1e95eeb07d5cae7aca370b26518b0867d6
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/common/media_stream_request.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/logging.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content { 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool IsAudioMediaType(MediaStreamType type) { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return (type == content::MEDIA_DEVICE_AUDIO_CAPTURE || 13a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) type == content::MEDIA_TAB_AUDIO_CAPTURE || 1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) type == content::MEDIA_LOOPBACK_AUDIO_CAPTURE); 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool IsVideoMediaType(MediaStreamType type) { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return (type == content::MEDIA_DEVICE_VIDEO_CAPTURE || 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) type == content::MEDIA_TAB_VIDEO_CAPTURE || 20ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch type == content::MEDIA_DESKTOP_VIDEO_CAPTURE); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)MediaStreamDevice::MediaStreamDevice() 2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) : type(MEDIA_NO_SERVICE), 2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) video_facing(MEDIA_VIDEO_FACING_NONE) { 2668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)} 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MediaStreamDevice::MediaStreamDevice( 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MediaStreamType type, 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& id, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& name) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : type(type), 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) id(id), 3468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) video_facing(MEDIA_VIDEO_FACING_NONE), 3558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) name(name) { 3668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#if defined(OS_ANDROID) 3768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) if (name.find("front") != std::string::npos) { 3868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) video_facing = MEDIA_VIDEO_FACING_USER; 3968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) } else if (name.find("back") != std::string::npos) { 4068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) video_facing = MEDIA_VIDEO_FACING_ENVIRONMENT; 4168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) } 4268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#endif 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MediaStreamDevice::MediaStreamDevice( 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MediaStreamType type, 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& id, 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& name, 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int sample_rate, 5058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int channel_layout, 5158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int frames_per_buffer) 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) : type(type), 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) id(id), 5468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) video_facing(MEDIA_VIDEO_FACING_NONE), 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) name(name), 5658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) input(sample_rate, channel_layout, frames_per_buffer) { 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MediaStreamDevice::~MediaStreamDevice() {} 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MediaStreamRequest::MediaStreamRequest( 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int render_process_id, 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int render_view_id, 647dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch int page_request_id, 657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch const std::string& tab_capture_device_id, 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const GURL& security_origin, 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MediaStreamRequestType request_type, 687dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch const std::string& requested_audio_device_id, 697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch const std::string& requested_video_device_id, 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MediaStreamType audio_type, 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MediaStreamType video_type) 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : render_process_id(render_process_id), 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) render_view_id(render_view_id), 747dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch page_request_id(page_request_id), 757dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch tab_capture_device_id(tab_capture_device_id), 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) security_origin(security_origin), 772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) request_type(request_type), 787dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch requested_audio_device_id(requested_audio_device_id), 797dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch requested_video_device_id(requested_video_device_id), 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) audio_type(audio_type), 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) video_type(video_type) { 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MediaStreamRequest::~MediaStreamRequest() {} 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace content 87