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 IsAudioInputMediaType(MediaStreamType type) { 12 return (type == 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 == 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 MediaStreamDevices::MediaStreamDevices() {} 71 72 MediaStreamDevices::MediaStreamDevices(size_t count, 73 const MediaStreamDevice& value) 74 : std::vector<MediaStreamDevice>(count, value) { 75 } 76 77 const MediaStreamDevice* MediaStreamDevices::FindById( 78 const std::string& device_id) const { 79 for (const_iterator iter = begin(); iter != end(); ++iter) { 80 if (iter->id == device_id) 81 return &(*iter); 82 } 83 return NULL; 84 } 85 86 MediaStreamRequest::MediaStreamRequest( 87 int render_process_id, 88 int render_view_id, 89 int page_request_id, 90 const GURL& security_origin, 91 bool user_gesture, 92 MediaStreamRequestType request_type, 93 const std::string& requested_audio_device_id, 94 const std::string& requested_video_device_id, 95 MediaStreamType audio_type, 96 MediaStreamType video_type) 97 : render_process_id(render_process_id), 98 render_view_id(render_view_id), 99 page_request_id(page_request_id), 100 security_origin(security_origin), 101 user_gesture(user_gesture), 102 request_type(request_type), 103 requested_audio_device_id(requested_audio_device_id), 104 requested_video_device_id(requested_video_device_id), 105 audio_type(audio_type), 106 video_type(video_type) { 107 } 108 109 MediaStreamRequest::~MediaStreamRequest() {} 110 111 } // namespace content 112