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. 4 5 #include "content/public/common/media_stream_request.h" 6 7 #include "base/logging.h" 8 9 namespace content { 10 11 bool IsAudioMediaType(MediaStreamType type) { 12 return (type == content::MEDIA_DEVICE_AUDIO_CAPTURE || 13 type == content::MEDIA_TAB_AUDIO_CAPTURE || 14 type == content::MEDIA_LOOPBACK_AUDIO_CAPTURE); 15 } 16 17 bool IsVideoMediaType(MediaStreamType type) { 18 return (type == content::MEDIA_DEVICE_VIDEO_CAPTURE || 19 type == content::MEDIA_TAB_VIDEO_CAPTURE || 20 type == content::MEDIA_DESKTOP_VIDEO_CAPTURE); 21 } 22 23 MediaStreamDevice::MediaStreamDevice() 24 : type(MEDIA_NO_SERVICE), 25 video_facing(MEDIA_VIDEO_FACING_NONE) { 26 } 27 28 MediaStreamDevice::MediaStreamDevice( 29 MediaStreamType type, 30 const std::string& id, 31 const std::string& name) 32 : type(type), 33 id(id), 34 video_facing(MEDIA_VIDEO_FACING_NONE), 35 name(name) { 36 #if defined(OS_ANDROID) 37 if (name.find("front") != std::string::npos) { 38 video_facing = MEDIA_VIDEO_FACING_USER; 39 } else if (name.find("back") != std::string::npos) { 40 video_facing = MEDIA_VIDEO_FACING_ENVIRONMENT; 41 } 42 #endif 43 } 44 45 MediaStreamDevice::MediaStreamDevice( 46 MediaStreamType type, 47 const std::string& id, 48 const std::string& name, 49 int sample_rate, 50 int channel_layout, 51 int frames_per_buffer) 52 : type(type), 53 id(id), 54 video_facing(MEDIA_VIDEO_FACING_NONE), 55 name(name), 56 input(sample_rate, channel_layout, frames_per_buffer) { 57 } 58 59 MediaStreamDevice::~MediaStreamDevice() {} 60 61 bool MediaStreamDevice::IsEqual(const MediaStreamDevice& second) const { 62 const AudioDeviceParameters& input_second = second.input; 63 return type == second.type && 64 name == second.name && 65 id == second.id && 66 input.sample_rate == input_second.sample_rate && 67 input.channel_layout == input_second.channel_layout; 68 } 69 70 MediaStreamRequest::MediaStreamRequest( 71 int render_process_id, 72 int render_view_id, 73 int page_request_id, 74 const GURL& security_origin, 75 MediaStreamRequestType request_type, 76 const std::string& requested_audio_device_id, 77 const std::string& requested_video_device_id, 78 MediaStreamType audio_type, 79 MediaStreamType video_type) 80 : render_process_id(render_process_id), 81 render_view_id(render_view_id), 82 page_request_id(page_request_id), 83 security_origin(security_origin), 84 request_type(request_type), 85 requested_audio_device_id(requested_audio_device_id), 86 requested_video_device_id(requested_video_device_id), 87 audio_type(audio_type), 88 video_type(video_type) { 89 } 90 91 MediaStreamRequest::~MediaStreamRequest() {} 92 93 } // namespace content 94