#include "base/logging.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
+#include "content/browser/browser_main_loop.h"
+#include "content/browser/renderer_host/media/media_stream_manager.h"
#include "crypto/hmac.h"
namespace content {
bool result = hmac.Init(security_origin.spec()) &&
hmac.Sign(raw_unique_id + salt, &digest[0], digest.size());
DCHECK(result);
- return StringToLowerASCII(base::HexEncode(&digest[0], digest.size()));
+ return base::StringToLowerASCII(base::HexEncode(&digest[0], digest.size()));
}
bool DoesMediaDeviceIDMatchHMAC(const ResourceContext::SaltCallback& sc,
return guid_from_raw_device_id == device_guid;
}
+bool GetMediaDeviceIDForHMAC(MediaStreamType stream_type,
+ const ResourceContext::SaltCallback& rc,
+ const GURL& security_origin,
+ const std::string& source_id,
+ std::string* device_id) {
+ content::MediaStreamManager* manager =
+ content::BrowserMainLoop::GetInstance()->media_stream_manager();
+
+ return manager->TranslateSourceIdToDeviceId(
+ content::MEDIA_DEVICE_VIDEO_CAPTURE,
+ rc,
+ security_origin,
+ source_id,
+ device_id);
+}
+
} // namespace content