| Index: content/renderer/media/media_stream_dependency_factory.h
|
| diff --git a/content/renderer/media/media_stream_dependency_factory.h b/content/renderer/media/media_stream_dependency_factory.h
|
| deleted file mode 100644
|
| index 304a401df53d3b10222eafe4adaa5dba8f79c7f1..0000000000000000000000000000000000000000
|
| --- a/content/renderer/media/media_stream_dependency_factory.h
|
| +++ /dev/null
|
| @@ -1,218 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_
|
| -#define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/files/file.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/threading/thread.h"
|
| -#include "content/common/content_export.h"
|
| -#include "content/public/renderer/render_process_observer.h"
|
| -#include "content/renderer/p2p/socket_dispatcher.h"
|
| -#include "ipc/ipc_platform_file.h"
|
| -#include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h"
|
| -#include "third_party/libjingle/source/talk/app/webrtc/videosourceinterface.h"
|
| -
|
| -namespace base {
|
| -class WaitableEvent;
|
| -}
|
| -
|
| -namespace talk_base {
|
| -class NetworkManager;
|
| -class PacketSocketFactory;
|
| -class Thread;
|
| -}
|
| -
|
| -namespace blink {
|
| -class WebFrame;
|
| -class WebMediaConstraints;
|
| -class WebMediaStream;
|
| -class WebMediaStreamSource;
|
| -class WebMediaStreamTrack;
|
| -class WebRTCPeerConnectionHandler;
|
| -class WebRTCPeerConnectionHandlerClient;
|
| -}
|
| -
|
| -namespace content {
|
| -
|
| -class IpcNetworkManager;
|
| -class IpcPacketSocketFactory;
|
| -class MediaStreamAudioSource;
|
| -class RTCMediaConstraints;
|
| -class WebAudioCapturerSource;
|
| -class WebRtcAudioCapturer;
|
| -class WebRtcAudioDeviceImpl;
|
| -class WebRtcLocalAudioTrack;
|
| -class WebRtcLoggingHandlerImpl;
|
| -class WebRtcLoggingMessageFilter;
|
| -class WebRtcVideoCapturerAdapter;
|
| -struct StreamDeviceInfo;
|
| -
|
| -// Object factory for RTC MediaStreams and RTC PeerConnections.
|
| -class CONTENT_EXPORT MediaStreamDependencyFactory
|
| - : NON_EXPORTED_BASE(public base::NonThreadSafe),
|
| - public RenderProcessObserver {
|
| - public:
|
| - // MediaSourcesCreatedCallback is used in CreateNativeMediaSources.
|
| - typedef base::Callback<void(blink::WebMediaStream* web_stream,
|
| - bool live)> MediaSourcesCreatedCallback;
|
| - MediaStreamDependencyFactory(
|
| - P2PSocketDispatcher* p2p_socket_dispatcher);
|
| - virtual ~MediaStreamDependencyFactory();
|
| -
|
| - // Create a RTCPeerConnectionHandler object that implements the
|
| - // WebKit WebRTCPeerConnectionHandler interface.
|
| - blink::WebRTCPeerConnectionHandler* CreateRTCPeerConnectionHandler(
|
| - blink::WebRTCPeerConnectionHandlerClient* client);
|
| -
|
| - // Asks the PeerConnection factory to create a Local MediaStream object.
|
| - virtual scoped_refptr<webrtc::MediaStreamInterface>
|
| - CreateLocalMediaStream(const std::string& label);
|
| -
|
| - // InitializeMediaStreamAudioSource initialize a MediaStream source object
|
| - // for audio input.
|
| - bool InitializeMediaStreamAudioSource(
|
| - int render_view_id,
|
| - const blink::WebMediaConstraints& audio_constraints,
|
| - MediaStreamAudioSource* source_data);
|
| -
|
| - // Creates an implementation of a cricket::VideoCapturer object that can be
|
| - // used when creating a libjingle webrtc::VideoSourceInterface object.
|
| - virtual WebRtcVideoCapturerAdapter* CreateVideoCapturer(
|
| - bool is_screen_capture);
|
| -
|
| - // Create an instance of WebRtcLocalAudioTrack and store it
|
| - // in the extraData field of |track|.
|
| - void CreateLocalAudioTrack(const blink::WebMediaStreamTrack& track);
|
| -
|
| - // Asks the PeerConnection factory to create a Local VideoTrack object.
|
| - virtual scoped_refptr<webrtc::VideoTrackInterface>
|
| - CreateLocalVideoTrack(const std::string& id,
|
| - webrtc::VideoSourceInterface* source);
|
| -
|
| - // Asks the PeerConnection factory to create a Video Source.
|
| - // The video source takes ownership of |capturer|.
|
| - virtual scoped_refptr<webrtc::VideoSourceInterface>
|
| - CreateVideoSource(cricket::VideoCapturer* capturer,
|
| - const blink::WebMediaConstraints& constraints);
|
| -
|
| - // Asks the libjingle PeerConnection factory to create a libjingle
|
| - // PeerConnection object.
|
| - // The PeerConnection object is owned by PeerConnectionHandler.
|
| - virtual scoped_refptr<webrtc::PeerConnectionInterface>
|
| - CreatePeerConnection(
|
| - const webrtc::PeerConnectionInterface::IceServers& ice_servers,
|
| - const webrtc::MediaConstraintsInterface* constraints,
|
| - blink::WebFrame* web_frame,
|
| - webrtc::PeerConnectionObserver* observer);
|
| -
|
| - // Creates a libjingle representation of a Session description. Used by a
|
| - // RTCPeerConnectionHandler instance.
|
| - virtual webrtc::SessionDescriptionInterface* CreateSessionDescription(
|
| - const std::string& type,
|
| - const std::string& sdp,
|
| - webrtc::SdpParseError* error);
|
| -
|
| - // Creates a libjingle representation of an ice candidate.
|
| - virtual webrtc::IceCandidateInterface* CreateIceCandidate(
|
| - const std::string& sdp_mid,
|
| - int sdp_mline_index,
|
| - const std::string& sdp);
|
| -
|
| - WebRtcAudioDeviceImpl* GetWebRtcAudioDevice();
|
| -
|
| - static void AddNativeAudioTrackToBlinkTrack(
|
| - webrtc::MediaStreamTrackInterface* native_track,
|
| - const blink::WebMediaStreamTrack& webkit_track,
|
| - bool is_local_track);
|
| -
|
| - scoped_refptr<base::MessageLoopProxy> GetWebRtcWorkerThread() const;
|
| -
|
| - protected:
|
| - // Asks the PeerConnection factory to create a Local Audio Source.
|
| - virtual scoped_refptr<webrtc::AudioSourceInterface>
|
| - CreateLocalAudioSource(
|
| - const webrtc::MediaConstraintsInterface* constraints);
|
| -
|
| - // Creates a media::AudioCapturerSource with an implementation that is
|
| - // specific for a WebAudio source. The created WebAudioCapturerSource
|
| - // instance will function as audio source instead of the default
|
| - // WebRtcAudioCapturer.
|
| - virtual scoped_refptr<WebAudioCapturerSource> CreateWebAudioSource(
|
| - blink::WebMediaStreamSource* source);
|
| -
|
| - // Asks the PeerConnection factory to create a Local VideoTrack object with
|
| - // the video source using |capturer|.
|
| - virtual scoped_refptr<webrtc::VideoTrackInterface>
|
| - CreateLocalVideoTrack(const std::string& id,
|
| - cricket::VideoCapturer* capturer);
|
| -
|
| - virtual const scoped_refptr<webrtc::PeerConnectionFactoryInterface>&
|
| - GetPcFactory();
|
| - virtual bool PeerConnectionFactoryCreated();
|
| -
|
| - // Returns a new capturer or existing capturer based on the |render_view_id|
|
| - // and |device_info|. When the |render_view_id| and |device_info| are valid,
|
| - // it reuses existing capture if any; otherwise it creates a new capturer.
|
| - virtual scoped_refptr<WebRtcAudioCapturer> CreateAudioCapturer(
|
| - int render_view_id, const StreamDeviceInfo& device_info,
|
| - const blink::WebMediaConstraints& constraints,
|
| - MediaStreamAudioSource* audio_source);
|
| -
|
| - // Adds the audio device as a sink to the audio track and starts the local
|
| - // audio track. This is virtual for test purposes since no real audio device
|
| - // exist in unit tests.
|
| - virtual void StartLocalAudioTrack(WebRtcLocalAudioTrack* audio_track);
|
| -
|
| - private:
|
| - // Creates |pc_factory_|, which in turn is used for
|
| - // creating PeerConnection objects.
|
| - void CreatePeerConnectionFactory();
|
| -
|
| - void InitializeWorkerThread(talk_base::Thread** thread,
|
| - base::WaitableEvent* event);
|
| -
|
| - void CreateIpcNetworkManagerOnWorkerThread(base::WaitableEvent* event);
|
| - void DeleteIpcNetworkManager();
|
| - void CleanupPeerConnectionFactory();
|
| -
|
| - // RenderProcessObserver implementation.
|
| - virtual bool OnControlMessageReceived(const IPC::Message& message) OVERRIDE;
|
| -
|
| - void OnAecDumpFile(IPC::PlatformFileForTransit file_handle);
|
| - void OnDisableAecDump();
|
| -
|
| - void StartAecDump(base::File aec_dump_file);
|
| -
|
| - // Helper method to create a WebRtcAudioDeviceImpl.
|
| - void EnsureWebRtcAudioDeviceImpl();
|
| -
|
| - // We own network_manager_, must be deleted on the worker thread.
|
| - // The network manager uses |p2p_socket_dispatcher_|.
|
| - IpcNetworkManager* network_manager_;
|
| - scoped_ptr<IpcPacketSocketFactory> socket_factory_;
|
| -
|
| - scoped_refptr<webrtc::PeerConnectionFactoryInterface> pc_factory_;
|
| -
|
| - scoped_refptr<P2PSocketDispatcher> p2p_socket_dispatcher_;
|
| - scoped_refptr<WebRtcAudioDeviceImpl> audio_device_;
|
| -
|
| - // PeerConnection threads. signaling_thread_ is created from the
|
| - // "current" chrome thread.
|
| - talk_base::Thread* signaling_thread_;
|
| - talk_base::Thread* worker_thread_;
|
| - base::Thread chrome_worker_thread_;
|
| -
|
| - base::File aec_dump_file_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MediaStreamDependencyFactory);
|
| -};
|
| -
|
| -} // namespace content
|
| -
|
| -#endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_
|
|
|