Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1028)

Unified Diff: content/renderer/media/media_stream_impl.cc

Issue 348443002: Revert 274823 "Support for audio output devices for getMediaDevi..." (Closed) Base URL: svn://svn.chromium.org/chrome/branches/2057/src/
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/media_stream_impl.cc
===================================================================
--- content/renderer/media/media_stream_impl.cc (revision 278170)
+++ content/renderer/media/media_stream_impl.cc (working copy)
@@ -6,9 +6,7 @@
#include <utility>
-#include "base/hash.h"
#include "base/logging.h"
-#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
@@ -59,26 +57,20 @@
struct MediaStreamImpl::MediaDevicesRequestInfo {
MediaDevicesRequestInfo(const blink::WebMediaDevicesRequest& request,
int audio_input_request_id,
- int video_input_request_id,
- int audio_output_request_id)
+ int video_input_request_id)
: request(request),
audio_input_request_id(audio_input_request_id),
video_input_request_id(video_input_request_id),
- audio_output_request_id(audio_output_request_id),
has_audio_input_returned(false),
- has_video_input_returned(false),
- has_audio_output_returned(false) {}
+ has_video_input_returned(false) {}
blink::WebMediaDevicesRequest request;
int audio_input_request_id;
int video_input_request_id;
- int audio_output_request_id;
bool has_audio_input_returned;
bool has_video_input_returned;
- bool has_audio_output_returned;
StreamDeviceInfoArray audio_input_devices;
StreamDeviceInfoArray video_input_devices;
- StreamDeviceInfoArray audio_output_devices;
};
MediaStreamImpl::MediaStreamImpl(
@@ -205,7 +197,6 @@
int audio_input_request_id = g_next_request_id++;
int video_input_request_id = g_next_request_id++;
- int audio_output_request_id = g_next_request_id++;
// |media_devices_request| can't be mocked, so in tests it will be empty (the
// underlying pointer is null). In order to use this function in a test we
@@ -215,14 +206,11 @@
security_origin = GURL(media_devices_request.securityOrigin().toString());
DVLOG(1) << "MediaStreamImpl::requestMediaDevices(" << audio_input_request_id
- << ", " << video_input_request_id << ", " << audio_output_request_id
- << ", " << security_origin.spec() << ")";
+ << ", " << video_input_request_id << ", "
+ << security_origin.spec() << ")";
media_devices_requests_.push_back(new MediaDevicesRequestInfo(
- media_devices_request,
- audio_input_request_id,
- video_input_request_id,
- audio_output_request_id));
+ media_devices_request, audio_input_request_id, video_input_request_id));
media_stream_dispatcher_->EnumerateDevices(
audio_input_request_id,
@@ -235,12 +223,6 @@
AsWeakPtr(),
MEDIA_DEVICE_VIDEO_CAPTURE,
security_origin);
-
- media_stream_dispatcher_->EnumerateDevices(
- audio_output_request_id,
- AsWeakPtr(),
- MEDIA_DEVICE_AUDIO_OUTPUT,
- security_origin);
}
void MediaStreamImpl::cancelMediaDevicesRequest(
@@ -258,9 +240,6 @@
media_stream_dispatcher_->StopEnumerateDevices(
request->video_input_request_id,
AsWeakPtr());
- media_stream_dispatcher_->StopEnumerateDevices(
- request->audio_output_request_id,
- AsWeakPtr());
DeleteMediaDevicesRequestInfo(request);
}
@@ -521,65 +500,42 @@
request->has_audio_input_returned = true;
DCHECK(request->audio_input_devices.empty());
request->audio_input_devices = device_array;
- } else if (request_id == request->video_input_request_id) {
+ } else {
+ DCHECK(request_id == request->video_input_request_id);
request->has_video_input_returned = true;
DCHECK(request->video_input_devices.empty());
request->video_input_devices = device_array;
- } else {
- DCHECK_EQ(request->audio_output_request_id, request_id);
- request->has_audio_output_returned = true;
- DCHECK(request->audio_output_devices.empty());
- request->audio_output_devices = device_array;
}
if (!request->has_audio_input_returned ||
- !request->has_video_input_returned ||
- !request->has_audio_output_returned) {
+ !request->has_video_input_returned) {
// Wait for the rest of the devices to complete.
return;
}
- // All devices are ready for copying. We use a hashed audio output device id
- // as the group id for input and output audio devices. If an input device
- // doesn't have an associated output device, we use the input device's own id.
- // We don't support group id for video devices, that's left empty.
+ // Both audio and video devices are ready for copying.
+ // TODO(grunell): Add support for output devices and group id.
blink::WebVector<blink::WebMediaDeviceInfo>
devices(request->audio_input_devices.size() +
- request->video_input_devices.size() +
- request->audio_output_devices.size());
+ request->video_input_devices.size());
for (size_t i = 0; i < request->audio_input_devices.size(); ++i) {
const MediaStreamDevice& device = request->audio_input_devices[i].device;
DCHECK_EQ(device.type, MEDIA_DEVICE_AUDIO_CAPTURE);
- std::string group_id = base::UintToString(base::Hash(
- !device.matched_output_device_id.empty() ?
- device.matched_output_device_id :
- device.id));
- devices[i].initialize(
- blink::WebString::fromUTF8(device.id),
- blink::WebMediaDeviceInfo::MediaDeviceKindAudioInput,
- blink::WebString::fromUTF8(device.name),
- blink::WebString::fromUTF8(group_id));
+ devices[i].initialize(blink::WebString::fromUTF8(device.id),
+ blink::WebMediaDeviceInfo::MediaDeviceKindAudioInput,
+ blink::WebString::fromUTF8(device.name),
+ blink::WebString());
}
- size_t offset = request->audio_input_devices.size();
+ size_t audio_size = request->audio_input_devices.size();
for (size_t i = 0; i < request->video_input_devices.size(); ++i) {
const MediaStreamDevice& device = request->video_input_devices[i].device;
DCHECK_EQ(device.type, MEDIA_DEVICE_VIDEO_CAPTURE);
- devices[offset + i].initialize(
+ devices[audio_size + i].initialize(
blink::WebString::fromUTF8(device.id),
blink::WebMediaDeviceInfo::MediaDeviceKindVideoInput,
blink::WebString::fromUTF8(device.name),
blink::WebString());
}
- offset += request->video_input_devices.size();
- for (size_t i = 0; i < request->audio_output_devices.size(); ++i) {
- const MediaStreamDevice& device = request->audio_output_devices[i].device;
- DCHECK_EQ(device.type, MEDIA_DEVICE_AUDIO_OUTPUT);
- devices[offset + i].initialize(
- blink::WebString::fromUTF8(device.id),
- blink::WebMediaDeviceInfo::MediaDeviceKindAudioOutput,
- blink::WebString::fromUTF8(device.name),
- blink::WebString::fromUTF8(base::UintToString(base::Hash(device.id))));
- }
EnumerateDevicesSucceded(&request->request, devices);
@@ -590,9 +546,6 @@
media_stream_dispatcher_->StopEnumerateDevices(
request->video_input_request_id,
AsWeakPtr());
- media_stream_dispatcher_->StopEnumerateDevices(
- request->audio_output_request_id,
- AsWeakPtr());
DeleteMediaDevicesRequestInfo(request);
}
@@ -720,8 +673,7 @@
MediaDevicesRequests::iterator it = media_devices_requests_.begin();
for (; it != media_devices_requests_.end(); ++it) {
if ((*it)->audio_input_request_id == request_id ||
- (*it)->video_input_request_id == request_id ||
- (*it)->audio_output_request_id == request_id) {
+ (*it)->video_input_request_id == request_id) {
return (*it);
}
}
« no previous file with comments | « content/renderer/media/media_stream_dispatcher_unittest.cc ('k') | content/renderer/media/media_stream_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698