AudioDestination::create() needs extra device identification information for live/local input streams
https://bugs.webkit.org/show_bug.cgi?id=109494

Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebMediaStreamSource.h:
(WebMediaStreamSource):

Source/WebCore:

AudioDestination::create() supports live/local audio input.  But, since there may be multiple
audio input devices available, an identifier for the requested input device needs to be
passed in.  The embedder may then use this information so that the proper audio hardware is
accessed.

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createMediaStreamSource):
* Modules/webaudio/AudioDestinationNode.h:
(AudioDestinationNode):
* Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::initialize):
(WebCore::DefaultAudioDestinationNode::createDestination):
(WebCore::DefaultAudioDestinationNode::enableInput):
* Modules/webaudio/DefaultAudioDestinationNode.h:
(DefaultAudioDestinationNode):
* Modules/webaudio/OfflineAudioDestinationNode.h:
* platform/audio/AudioDestination.h:
(AudioDestination):
* platform/audio/chromium/AudioDestinationChromium.cpp:
(WebCore::AudioDestination::create):
(WebCore::AudioDestinationChromium::AudioDestinationChromium):
* platform/audio/chromium/AudioDestinationChromium.h:
(AudioDestinationChromium):
* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestination::create):
* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestination::create):
* platform/chromium/support/WebMediaStreamSource.cpp:
(WebKit::WebMediaStreamSource::deviceId):
(WebKit):
(WebKit::WebMediaStreamSource::setDeviceId):
* platform/mediastream/MediaStreamSource.h:
(WebCore::MediaStreamSource::deviceId):
(WebCore::MediaStreamSource::setDeviceId):
(MediaStreamSource):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk/Source/Platform/chromium/public@143781 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 file changed
tree: ac2949631aa9d7aba24aef65ac57ae12c4c18dda
  1. android/
  2. default/
  3. linux/
  4. mac/
  5. win/
  6. Platform.h
  7. WebAnimation.h
  8. WebAnimationCurve.h
  9. WebAnimationDelegate.h
  10. WebAudioBus.h
  11. WebAudioDestinationConsumer.h
  12. WebAudioDevice.h
  13. WebBlobData.h
  14. WebBlobRegistry.h
  15. WebCanvas.h
  16. WebClipboard.h
  17. WebColor.h
  18. WebCommon.h
  19. WebCompositorOutputSurface.h
  20. WebCompositorSupport.h
  21. WebContentLayer.h
  22. WebContentLayerClient.h
  23. WebCookie.h
  24. WebCookieJar.h
  25. WebCString.h
  26. WebData.h
  27. WebDiscardableMemory.h
  28. WebDragData.h
  29. WebExternalTextureLayer.h
  30. WebExternalTextureLayerClient.h
  31. WebFileInfo.h
  32. WebFileSystem.h
  33. WebFileUtilities.h
  34. WebFilterOperation.h
  35. WebFilterOperations.h
  36. WebFlingAnimator.h
  37. WebFloatAnimationCurve.h
  38. WebFloatKeyframe.h
  39. WebFloatPoint.h
  40. WebFloatQuad.h
  41. WebFloatRect.h
  42. WebGamepad.h
  43. WebGamepads.h
  44. WebGestureCurve.h
  45. WebGestureCurveTarget.h
  46. WebGraphicsContext3D.h
  47. WebGraphicsMemoryAllocation.h
  48. WebGraphicsMemoryStats.h
  49. WebHTTPBody.h
  50. WebHTTPHeaderVisitor.h
  51. WebHTTPLoadInfo.h
  52. WebImage.h
  53. WebImageLayer.h
  54. WebInputHandler.h
  55. WebInputHandlerClient.h
  56. WebIOSurfaceLayer.h
  57. WebLayer.h
  58. WebLayerScrollClient.h
  59. WebLayerTreeView.h
  60. WebLayerTreeViewClient.h
  61. WebLocalizedString.h
  62. WebMediaConstraints.h
  63. WebMediaStream.h
  64. WebMediaStreamCenter.h
  65. WebMediaStreamCenterClient.h
  66. WebMediaStreamSource.h
  67. WebMediaStreamSourcesRequest.h
  68. WebMediaStreamTrack.h
  69. WebMessagePortChannel.h
  70. WebMessagePortChannelClient.h
  71. WebMimeRegistry.h
  72. WebNonCopyable.h
  73. WebPluginListBuilder.h
  74. WebPoint.h
  75. WebPrerender.h
  76. WebPrerenderingSupport.h
  77. WebPrivateOwnPtr.h
  78. WebPrivatePtr.h
  79. WebRect.h
  80. WebReferrerPolicy.h
  81. WebRenderingStats.h
  82. WebRTCConfiguration.h
  83. WebRTCDataChannelHandler.h
  84. WebRTCDataChannelHandlerClient.h
  85. WebRTCDTMFSenderHandler.h
  86. WebRTCDTMFSenderHandlerClient.h
  87. WebRTCICECandidate.h
  88. WebRTCPeerConnectionHandler.h
  89. WebRTCPeerConnectionHandlerClient.h
  90. WebRTCSessionDescription.h
  91. WebRTCSessionDescriptionRequest.h
  92. WebRTCStatsRequest.h
  93. WebRTCStatsResponse.h
  94. WebRTCVoidRequest.h
  95. WebScreenInfo.h
  96. WebScrollbar.h
  97. WebScrollbarLayer.h
  98. WebScrollbarThemeGeometry.h
  99. WebScrollbarThemePainter.h
  100. WebSharedGraphicsContext3D.h
  101. WebSize.h
  102. WebSocketStreamError.h
  103. WebSocketStreamHandle.h
  104. WebSocketStreamHandleClient.h
  105. WebSolidColorLayer.h
  106. WebStorageArea.h
  107. WebStorageNamespace.h
  108. WebString.h
  109. WebThread.h
  110. WebThreadSafeData.h
  111. WebTransformAnimationCurve.h
  112. WebTransformationMatrix.h
  113. WebTransformKeyframe.h
  114. WebTransformOperations.h
  115. WebUnitTestSupport.h
  116. WebURL.h
  117. WebURLError.h
  118. WebURLLoader.h
  119. WebURLLoaderClient.h
  120. WebURLLoadTiming.h
  121. WebURLRequest.h
  122. WebURLResponse.h
  123. WebVector.h
  124. WebVideoFrame.h
  125. WebVideoFrameProvider.h
  126. WebVideoLayer.h
  127. WebWorkerRunLoop.h