Changeset 189982 in webkit
- Timestamp:
- Sep 18, 2015 2:05:37 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 2 deleted
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r189980 r189982 1 2015-09-18 Eric Carlson <eric.carlson@apple.com> 2 3 [MediaStream] Finish implementing MediaDevices.enumerateDevices 4 https://bugs.webkit.org/show_bug.cgi?id=149322 5 <rdar://problem/22750866> 6 7 Reviewed by Brent Fulgham. 8 9 * fast/mediastream/MediaDevices-enumerateDevices-expected.txt: Added. 10 * fast/mediastream/MediaDevices-enumerateDevices.html: Added. 11 1 12 2015-09-18 Jake Nielsen <jacob_nielsen@apple.com> 2 13 -
trunk/Source/WebCore/CMakeLists.txt
r189969 r189982 913 913 Modules/mediastream/MediaDeviceInfo.cpp 914 914 Modules/mediastream/MediaDevices.cpp 915 Modules/mediastream/MediaDevicesRequest.cpp 915 916 Modules/mediastream/MediaSourceStates.cpp 916 917 Modules/mediastream/MediaStream.cpp … … 2257 2258 platform/graphics/transforms/TranslateTransformOperation.cpp 2258 2259 2259 platform/mediastream/MediaDevicesPrivate.cpp2260 2260 platform/mediastream/MediaStreamPrivate.cpp 2261 2261 platform/mediastream/MediaStreamTrackPrivate.cpp -
trunk/Source/WebCore/ChangeLog
r189979 r189982 1 2015-09-18 Eric Carlson <eric.carlson@apple.com> 2 3 [MediaStream] Finish implementing MediaDevices.enumerateDevices 4 https://bugs.webkit.org/show_bug.cgi?id=149322 5 <rdar://problem/22750866> 6 7 Reviewed by Brent Fulgham. 8 9 Test: fast/mediastream/MediaDevices-enumerateDevices.html 10 11 * CMakeLists.txt: Add MediaDevicesRequest.cpp 12 13 * Modules/mediastream/MediaDeviceInfo.h: Add MediaDeviceInfoVector typedef. 14 15 * Modules/mediastream/MediaDevices.cpp: 16 (WebCore::MediaDevices::enumerateDevices): Use MediaDevicesRequest. 17 * Modules/mediastream/MediaDevices.h: EnumerateDevicePromise -> EnumerateDevicesPromise. 18 * Modules/mediastream/MediaDevices.idl: 19 20 * Modules/mediastream/MediaDevicesRequest.cpp: Added. 21 (WebCore::MediaDevicesRequest::create): 22 (WebCore::MediaDevicesRequest::MediaDevicesRequest): 23 (WebCore::MediaDevicesRequest::~MediaDevicesRequest): 24 (WebCore::MediaDevicesRequest::securityOrigin): 25 (WebCore::MediaDevicesRequest::contextDestroyed): 26 (WebCore::MediaDevicesRequest::start): 27 (WebCore::MediaDevicesRequest::didCompleteRequest): 28 (WebCore::MediaDevicesRequest::requestOrigin): 29 * Modules/mediastream/MediaDevicesRequest.h: Added. 30 31 * Modules/mediastream/MediaStreamTrackSourcesRequest.cpp: 32 (WebCore::MediaStreamTrackSourcesRequest::MediaStreamTrackSourcesRequest): 33 (WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest): 34 * Modules/mediastream/MediaStreamTrackSourcesRequest.h: 35 36 * Modules/mediastream/UserMediaRequest.cpp: 37 (WebCore::UserMediaRequest::enumerateDevices): Deleted. 38 * Modules/mediastream/UserMediaRequest.h: 39 40 * WebCore.xcodeproj/project.pbxproj: Add MediaDevicesRequest.cpp 41 42 * platform/mediastream/MediaDevicesPrivate.cpp: Removed. 43 * platform/mediastream/MediaDevicesPrivate.h: Removed. 44 45 * platform/mediastream/MediaStreamCreationClient.h: 46 * platform/mediastream/MediaStreamTrackSourcesRequestClient.h: 47 (WebCore::MediaStreamTrackSourcesRequestClient::~MediaStreamTrackSourcesRequestClient): 48 49 * platform/mediastream/mac/AVCaptureDeviceManager.h: 50 * platform/mediastream/mac/AVCaptureDeviceManager.mm: 51 (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType): Optionally take an 52 AVCaptureSession instead of always allocating one. 53 (WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints): Pass the AVCaptureSession 54 to verifyConstraintsForMediaType. 55 56 * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp: 57 (WebCore::RealtimeMediaSourceCenterMac::getMediaStreamTrackSources): 58 59 * platform/mock/MockRealtimeMediaSourceCenter.cpp: 60 (WebCore::MockRealtimeMediaSourceCenter::getMediaStreamTrackSources): 61 1 62 2015-09-18 Chris Dumez <cdumez@apple.com> 2 63 -
trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.h
r186608 r189982 39 39 public: 40 40 static Ref<MediaDeviceInfo> create(ScriptExecutionContext*, const String&, const String&, const String&, const String&); 41 42 41 43 42 virtual ~MediaDeviceInfo() { } 44 43 … … 61 60 }; 62 61 62 typedef Vector<RefPtr<MediaDeviceInfo>> MediaDeviceInfoVector; 63 63 64 } 64 65 -
trunk/Source/WebCore/Modules/mediastream/MediaDevices.cpp
r188356 r189982 36 36 #include "Dictionary.h" 37 37 #include "Document.h" 38 #include "MediaDevicesRequest.h" 38 39 #include "MediaStream.h" 39 40 #include "UserMediaController.h" … … 66 67 } 67 68 68 void MediaDevices::enumerateDevices(EnumerateDevice Promise&& promise, ExceptionCode& ec) const69 void MediaDevices::enumerateDevices(EnumerateDevicesPromise&& promise, ExceptionCode& ec) const 69 70 { 70 UserMediaRequest::enumerateDevices(document(), WTF::move(promise), ec); 71 RefPtr<MediaDevicesRequest> request = MediaDevicesRequest::create(document(), WTF::move(promise), ec); 72 if (request) 73 request->start(); 71 74 } 72 75 -
trunk/Source/WebCore/Modules/mediastream/MediaDevices.h
r188356 r189982 36 36 #include "ContextDestructionObserver.h" 37 37 #include "JSDOMPromise.h" 38 #include "MediaDeviceInfo.h" 38 39 #include "ScriptWrappable.h" 39 40 #include <functional> … … 45 46 class Dictionary; 46 47 class Document; 47 class MediaDeviceInfo;48 48 class MediaStream; 49 49 class NavigatorUserMediaError; … … 59 59 60 60 typedef DOMPromiseWithCallback<RefPtr<MediaStream>, RefPtr<NavigatorUserMediaError>> Promise; 61 typedef DOMPromiseWithCallback<Vector<RefPtr<MediaDeviceInfo>>, RefPtr<NavigatorUserMediaError>> EnumerateDevicePromise; 61 typedef DOMPromiseWithCallback<MediaDeviceInfoVector, ExceptionCode> EnumerateDevicesPromise; 62 62 63 void getUserMedia(const Dictionary&, Promise&&, ExceptionCode&) const; 63 void enumerateDevices(EnumerateDevice Promise&&, ExceptionCode&) const;64 void enumerateDevices(EnumerateDevicesPromise&&, ExceptionCode&) const; 64 65 65 66 private: -
trunk/Source/WebCore/Modules/mediastream/MediaDevices.idl
r185873 r189982 34 34 ] interface MediaDevices { 35 35 [RaisesException] Promise getUserMedia(Dictionary options); 36 [RaisesException] Promise enumerateDevices(); 36 37 }; -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesRequest.cpp
r185101 r189982 49 49 } 50 50 51 void MediaStreamTrackSourcesRequest::didCompleteRequest(const Vector<RefPtr<TrackSourceInfo>>& requestSourceInfos)51 void MediaStreamTrackSourcesRequest::didCompleteRequest(const TrackSourceInfoVector& requestSourceInfos) 52 52 { 53 53 ASSERT(m_callback); -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesRequest.h
r184940 r189982 50 50 // MediaStreamTrackSourcesRequestClient 51 51 virtual const String& requestOrigin() const override { return m_origin; } 52 virtual void didCompleteRequest(const Vector<RefPtr<TrackSourceInfo>>&) override;52 virtual void didCompleteRequest(const TrackSourceInfoVector&) override; 53 53 54 54 String m_origin; -
trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp
r188493 r189982 2 2 * Copyright (C) 2011 Ericsson AB. All rights reserved. 3 3 * Copyright (C) 2012 Google Inc. All rights reserved. 4 * Copyright (C) 2013 Apple Inc. All rights reserved.4 * Copyright (C) 2013-2015 Apple Inc. All rights reserved. 5 5 * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies). 6 6 * … … 46 46 #include "JSNavigatorUserMediaError.h" 47 47 #include "MediaConstraintsImpl.h" 48 #include "MediaDevicesPrivate.h"49 48 #include "MediaStream.h" 50 49 #include "MediaStreamPrivate.h" … … 71 70 } 72 71 73 void UserMediaRequest::enumerateDevices(Document* document, MediaDevices::EnumerateDevicePromise&& promise, ExceptionCode&)74 {75 RefPtr<MediaDevicesPrivate> deviceClient = MediaDevicesPrivate::create();76 RealtimeMediaSourceCenter::singleton().getMediaStreamTrackSources(deviceClient);77 promise.resolve(deviceClient->availableMediaDevices(*document));78 }79 80 72 void UserMediaRequest::start(Document* document, const Dictionary& options, MediaDevices::Promise&& promise, ExceptionCode& ec) 81 73 { -
trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.h
r188385 r189982 60 60 public: 61 61 static void start(Document*, const Dictionary&, MediaDevices::Promise&&, ExceptionCode&); 62 static void enumerateDevices(Document*, MediaDevices::EnumerateDevicePromise&&, ExceptionCode&);63 62 64 63 ~UserMediaRequest(); -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r189971 r189982 165 165 073794FD19F5864E00E5A045 /* RTCNotifiersMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073794F719F5864E00E5A045 /* RTCNotifiersMock.cpp */; }; 166 166 073794FE19F5864E00E5A045 /* RTCNotifiersMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 073794F819F5864E00E5A045 /* RTCNotifiersMock.h */; }; 167 07394EC81BAB2CCD00BE99CD /* MediaDevicesRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07394EC71BAB2CCD00BE99CD /* MediaDevicesRequest.cpp */; }; 168 07394ECA1BAB2CD700BE99CD /* MediaDevicesRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 07394EC91BAB2CD700BE99CD /* MediaDevicesRequest.h */; }; 167 169 073AB4B317F8BACA006E0D6F /* AllVideoCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 073AB4B017F8BACA006E0D6F /* AllVideoCapabilities.h */; }; 168 170 073AB4B717F92ECF006E0D6F /* JSCapabilityRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073AB4B517F92ECF006E0D6F /* JSCapabilityRange.cpp */; }; … … 644 646 150524F61B712FFC00696AA9 /* MediaStreamPrivateAVFObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 150524F21B712FF000696AA9 /* MediaStreamPrivateAVFObjC.h */; }; 645 647 150524F71B712FFF00696AA9 /* MediaStreamPrivateAVFObjC.mm in Sources */ = {isa = PBXBuildFile; fileRef = 150524F31B712FF000696AA9 /* MediaStreamPrivateAVFObjC.mm */; }; 646 15145B901B3A1CE000662BF7 /* MediaDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 15145B8F1B3A1B3E00662BF7 /* MediaDeviceInfo.h */; }; 647 152A29B41B4EF5B700B52AE0 /* MediaDevicesPrivate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 152A29B21B4EF59600B52AE0 /* MediaDevicesPrivate.cpp */; }; 648 152A29B51B4EF5BA00B52AE0 /* MediaDevicesPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 152A29B31B4EF59600B52AE0 /* MediaDevicesPrivate.h */; }; 648 15145B901B3A1CE000662BF7 /* MediaDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 15145B8F1B3A1B3E00662BF7 /* MediaDeviceInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; 649 649 15739BBA1B42012A00D258C1 /* JSMediaDevices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 15739BB81B42012200D258C1 /* JSMediaDevices.cpp */; }; 650 650 15739BBB1B42012D00D258C1 /* JSMediaDevices.h in Headers */ = {isa = PBXBuildFile; fileRef = 15739BB91B42012200D258C1 /* JSMediaDevices.h */; }; … … 7368 7368 073794F719F5864E00E5A045 /* RTCNotifiersMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCNotifiersMock.cpp; sourceTree = "<group>"; }; 7369 7369 073794F819F5864E00E5A045 /* RTCNotifiersMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCNotifiersMock.h; sourceTree = "<group>"; }; 7370 07394EC71BAB2CCD00BE99CD /* MediaDevicesRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaDevicesRequest.cpp; sourceTree = "<group>"; }; 7371 07394EC91BAB2CD700BE99CD /* MediaDevicesRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaDevicesRequest.h; sourceTree = "<group>"; }; 7370 7372 073AB4B017F8BACA006E0D6F /* AllVideoCapabilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllVideoCapabilities.h; sourceTree = "<group>"; }; 7371 7373 073AB4B517F92ECF006E0D6F /* JSCapabilityRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCapabilityRange.cpp; sourceTree = "<group>"; }; … … 7825 7827 15145B8F1B3A1B3E00662BF7 /* MediaDeviceInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaDeviceInfo.h; sourceTree = "<group>"; }; 7826 7828 15145B911B3A1D4C00662BF7 /* MediaDeviceInfo.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaDeviceInfo.idl; sourceTree = "<group>"; }; 7827 152A29B21B4EF59600B52AE0 /* MediaDevicesPrivate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaDevicesPrivate.cpp; sourceTree = "<group>"; };7828 152A29B31B4EF59600B52AE0 /* MediaDevicesPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaDevicesPrivate.h; sourceTree = "<group>"; };7829 7829 15739BB81B42012200D258C1 /* JSMediaDevices.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaDevices.cpp; sourceTree = "<group>"; }; 7830 7830 15739BB91B42012200D258C1 /* JSMediaDevices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaDevices.h; sourceTree = "<group>"; }; … … 14831 14831 07221B4A17CEC32700848E51 /* MediaConstraintsImpl.cpp */, 14832 14832 07221B4B17CEC32700848E51 /* MediaConstraintsImpl.h */, 14833 07394EC71BAB2CCD00BE99CD /* MediaDevicesRequest.cpp */, 14834 07394EC91BAB2CD700BE99CD /* MediaDevicesRequest.h */, 14833 14835 159AE82A1B3A402F0037478B /* MediaDeviceInfo.cpp */, 14834 14836 15145B8F1B3A1B3E00662BF7 /* MediaDeviceInfo.h */, … … 14946 14948 0729B14D17CFCCA0004F1D60 /* mac */, 14947 14949 07221B9917CF0AD400848E51 /* MediaConstraints.h */, 14948 152A29B21B4EF59600B52AE0 /* MediaDevicesPrivate.cpp */,14949 152A29B31B4EF59600B52AE0 /* MediaDevicesPrivate.h */,14950 14950 070F549717F12F6B00169E04 /* MediaStreamConstraintsValidationClient.h */, 14951 14951 07221BA017CF0AD400848E51 /* MediaStreamCreationClient.h */, … … 24357 24357 26F0C8A01A2EC3BE002794F8 /* ContentExtensionsBackend.h in Headers */, 24358 24358 262391361A648CEE007251A3 /* ContentExtensionsDebugging.h in Headers */, 24359 07394ECA1BAB2CD700BE99CD /* MediaDevicesRequest.h in Headers */, 24359 24360 51FB67DC1AE6B82F00D06C5A /* ContentExtensionStyleSheet.h in Headers */, 24360 24361 A149786F1ABAF33800CEF7E4 /* ContentFilter.h in Headers */, … … 24455 24456 A80E6CFD0A1989CA007FB8C5 /* CSSFontFaceRule.h in Headers */, 24456 24457 BC64B4D80CB4298A005F2B62 /* CSSFontFaceSource.h in Headers */, 24457 152A29B51B4EF5BA00B52AE0 /* MediaDevicesPrivate.h in Headers */,24458 24458 BC64B4DA0CB4298A005F2B62 /* CSSFontFaceSrcValue.h in Headers */, 24459 24459 83520C7E1A71BFCC006BD2AA /* CSSFontFamily.h in Headers */, … … 28251 28251 A80E6CFE0A1989CA007FB8C5 /* CSSImageValue.cpp in Sources */, 28252 28252 A80E6CEB0A1989CA007FB8C5 /* CSSImportRule.cpp in Sources */, 28253 07394EC81BAB2CCD00BE99CD /* MediaDevicesRequest.cpp in Sources */, 28253 28254 A80E6CF00A1989CA007FB8C5 /* CSSInheritedValue.cpp in Sources */, 28254 28255 A80E6D020A1989CA007FB8C5 /* CSSInitialValue.cpp in Sources */, … … 29445 29446 BC98A27D0C0C9950004BEBF7 /* JSStyleSheetCustom.cpp in Sources */, 29446 29447 A84EBD840CB8C97700079609 /* JSStyleSheetList.cpp in Sources */, 29447 152A29B41B4EF5B700B52AE0 /* MediaDevicesPrivate.cpp in Sources */,29448 29448 A84EBD780CB8C89200079609 /* JSStyleSheetListCustom.cpp in Sources */, 29449 29449 E1FF8F64180745D800132674 /* JSSubtleCrypto.cpp in Sources */, -
trunk/Source/WebCore/platform/mediastream/MediaStreamCreationClient.h
r187168 r189982 1 1 /* 2 * Copyright (C) 2013 Apple Inc. All rights reserved.2 * Copyright (C) 2013-2015 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 29 29 #if ENABLE(MEDIA_STREAM) 30 30 31 #include "MediaDevices.h" 31 32 #include "RealtimeMediaSource.h" 32 33 #include <wtf/PassRefPtr.h> -
trunk/Source/WebCore/platform/mediastream/MediaStreamTrackSourcesRequestClient.h
r186608 r189982 80 80 }; 81 81 82 typedef Vector<RefPtr<TrackSourceInfo>> TrackSourceInfoVector; 83 82 84 class MediaStreamTrackSourcesRequestClient : public RefCounted<MediaStreamTrackSourcesRequestClient> { 83 85 public: … … 85 87 86 88 virtual const String& requestOrigin() const = 0; 87 virtual void didCompleteRequest(const Vector<RefPtr<TrackSourceInfo>>&) = 0;89 virtual void didCompleteRequest(const TrackSourceInfoVector&) = 0; 88 90 89 91 }; 92 90 93 91 94 } // namespace WebCore -
trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h
r187282 r189982 48 48 static bool isAvailable(); 49 49 50 Vector<RefPtr<TrackSourceInfo>>getSourcesInfo(const String&);51 bool verifyConstraintsForMediaType( RealtimeMediaSource::Type, MediaConstraints*, String&);50 TrackSourceInfoVector getSourcesInfo(const String&); 51 bool verifyConstraintsForMediaType(AVCaptureSession *, RealtimeMediaSource::Type, MediaConstraints*, String&); 52 52 Vector<RefPtr<RealtimeMediaSource>> bestSourcesForTypeAndConstraints(RealtimeMediaSource::Type, PassRefPtr<MediaConstraints>); 53 53 RefPtr<RealtimeMediaSource> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*); -
trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm
r189913 r189982 344 344 } 345 345 346 bool AVCaptureDeviceManager::verifyConstraintsForMediaType( RealtimeMediaSource::Type type, MediaConstraints* constraints, String& invalidConstraint)346 bool AVCaptureDeviceManager::verifyConstraintsForMediaType(AVCaptureSessionType *session, RealtimeMediaSource::Type type, MediaConstraints* constraints, String& invalidConstraint) 347 347 { 348 348 if (!isAvailable()) … … 356 356 if (mandatoryConstraints.size()) { 357 357 358 // FIXME: this method should take an AVCaptureDevice and use its AVCaptureSession instead of creating a new one. 359 RetainPtr<AVCaptureSessionType> session = adoptNS([allocAVCaptureSessionInstance() init]); 358 RetainPtr<AVCaptureSessionType> captureSession = session ? session : adoptNS([allocAVCaptureSessionInstance() init]); 360 359 for (size_t i = 0; i < mandatoryConstraints.size(); ++i) { 361 360 const MediaConstraint& constraint = mandatoryConstraints[i]; 362 if (!sessionSupportsConstraint( session.get(), type, constraint.m_name, constraint.m_value)) {361 if (!sessionSupportsConstraint(captureSession.get(), type, constraint.m_name, constraint.m_value)) { 363 362 invalidConstraint = constraint.m_name; 364 363 return false; … … 426 425 if (captureDevice.m_captureDeviceID != deviceUID) 427 426 continue; 427 428 428 if (constraints) { 429 429 String invalidConstraints; 430 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType(type, constraints, invalidConstraints); 430 AVCaptureSessionType *session = nil; 431 432 if (type == RealtimeMediaSource::Video && captureDevice.m_videoAVMediaCaptureSource) 433 captureDevice.m_videoAVMediaCaptureSource->session(); 434 else if (type == RealtimeMediaSource::Audio && captureDevice.m_audioAVMediaCaptureSource) 435 captureDevice.m_audioAVMediaCaptureSource->session(); 436 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType(session, type, constraints, invalidConstraints); 437 431 438 if (!invalidConstraints.isEmpty()) 432 439 continue; … … 435 442 AVCaptureDeviceType *device = [AVCaptureDevice deviceWithUniqueID:captureDevice.m_captureDeviceID]; 436 443 ASSERT(device); 437 if (type == RealtimeMediaSource:: Type::Audio && !captureDevice.m_audioSourceId.isEmpty()) {444 if (type == RealtimeMediaSource::Audio && !captureDevice.m_audioSourceId.isEmpty()) { 438 445 if (!captureDevice.m_audioAVMediaCaptureSource) 439 446 captureDevice.m_audioAVMediaCaptureSource = AVAudioCaptureSource::create(device, captureDevice.m_audioSourceId, constraints); 440 447 return captureDevice.m_audioAVMediaCaptureSource; 441 448 } 442 if (type == RealtimeMediaSource:: Type::Video && !captureDevice.m_videoSourceId.isEmpty()) {449 if (type == RealtimeMediaSource::Video && !captureDevice.m_videoSourceId.isEmpty()) { 443 450 if (!captureDevice.m_videoAVMediaCaptureSource) 444 451 captureDevice.m_videoAVMediaCaptureSource = AVVideoCaptureSource::create(device, captureDevice.m_videoSourceId, constraints); -
trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp
r187282 r189982 65 65 if (audioConstraints) { 66 66 String invalidConstraint; 67 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType( RealtimeMediaSource::Audio, audioConstraints.get(), invalidConstraint);67 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType(nil, RealtimeMediaSource::Audio, audioConstraints.get(), invalidConstraint); 68 68 if (!invalidConstraint.isEmpty()) { 69 69 client->constraintsInvalid(invalidConstraint); … … 74 74 if (videoConstraints) { 75 75 String invalidConstraint; 76 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType( RealtimeMediaSource::Video, videoConstraints.get(), invalidConstraint);76 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType(nil, RealtimeMediaSource::Video, videoConstraints.get(), invalidConstraint); 77 77 if (!invalidConstraint.isEmpty()) { 78 78 client->constraintsInvalid(invalidConstraint); … … 96 96 if (audioConstraints) { 97 97 String invalidConstraint; 98 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType( RealtimeMediaSource::Audio, audioConstraints.get(), invalidConstraint);98 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType(nil, RealtimeMediaSource::Audio, audioConstraints.get(), invalidConstraint); 99 99 if (!invalidConstraint.isEmpty()) { 100 100 client->failedToCreateStreamWithConstraintsError(invalidConstraint); … … 111 111 if (videoConstraints) { 112 112 String invalidConstraint; 113 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType( RealtimeMediaSource::Video, videoConstraints.get(), invalidConstraint);113 AVCaptureDeviceManager::singleton().verifyConstraintsForMediaType(nil, RealtimeMediaSource::Video, videoConstraints.get(), invalidConstraint); 114 114 if (!invalidConstraint.isEmpty()) { 115 115 client->failedToCreateStreamWithConstraintsError(invalidConstraint); … … 131 131 RefPtr<MediaStreamTrackSourcesRequestClient> requestClient = prpClient; 132 132 133 Vector<RefPtr<TrackSourceInfo>>sources = AVCaptureDeviceManager::singleton().getSourcesInfo(requestClient->requestOrigin());133 TrackSourceInfoVector sources = AVCaptureDeviceManager::singleton().getSourcesInfo(requestClient->requestOrigin()); 134 134 135 requestClient->didCompleteRequest(sources); 135 callOnMainThread([this, requestClient, sources] { 136 requestClient->didCompleteRequest(sources); 137 }); 138 136 139 return true; 137 140 } -
trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp
r187282 r189982 199 199 { 200 200 RefPtr<MediaStreamTrackSourcesRequestClient> requestClient = prpClient; 201 Vector<RefPtr<TrackSourceInfo>>sources;201 TrackSourceInfoVector sources; 202 202 203 203 MockSourceMap& map = mockSourceMap();
Note: See TracChangeset
for help on using the changeset viewer.