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

Unified Diff: content/renderer/media/webrtc/peer_connection_dependency_factory.h

Issue 334743006: Support multiple files for AEC dump. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase again... 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/webrtc/peer_connection_dependency_factory.h
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.h b/content/renderer/media/webrtc/peer_connection_dependency_factory.h
index 969fb6b9d7588c6df622fa02b85353fdef423c74..51699359eb0502a72352fb85b53dc0b08362228e 100644
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.h
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.h
@@ -12,6 +12,7 @@
#include "base/threading/thread.h"
#include "content/common/content_export.h"
#include "content/public/renderer/render_process_observer.h"
+#include "content/renderer/media/aec_dump_message_filter.h"
#include "content/renderer/p2p/socket_dispatcher.h"
#include "ipc/ipc_platform_file.h"
#include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h"
@@ -55,7 +56,7 @@ struct StreamDeviceInfo;
// Object factory for RTC PeerConnections.
class CONTENT_EXPORT PeerConnectionDependencyFactory
: NON_EXPORTED_BASE(public base::NonThreadSafe),
- public RenderProcessObserver {
+ NON_EXPORTED_BASE(public AecDumpMessageFilter::AecDumpDelegate) {
public:
PeerConnectionDependencyFactory(
P2PSocketDispatcher* p2p_socket_dispatcher);
@@ -129,6 +130,14 @@ class CONTENT_EXPORT PeerConnectionDependencyFactory
scoped_refptr<base::MessageLoopProxy> GetWebRtcWorkerThread() const;
+ // AecDumpMessageFilter::AecDumpDelegate implementation.
+ // TODO(xians): Remove when option to disable audio track processing is
+ // removed.
+ virtual void OnAecDumpFile(
+ const IPC::PlatformFileForTransit& file_handle) OVERRIDE;
+ virtual void OnDisableAecDump() OVERRIDE;
+ virtual void OnIpcClosing() OVERRIDE;
+
protected:
// Asks the PeerConnection factory to create a Local Audio Source.
virtual scoped_refptr<webrtc::AudioSourceInterface>
@@ -177,14 +186,6 @@ class CONTENT_EXPORT PeerConnectionDependencyFactory
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();
@@ -198,14 +199,17 @@ class CONTENT_EXPORT PeerConnectionDependencyFactory
scoped_refptr<P2PSocketDispatcher> p2p_socket_dispatcher_;
scoped_refptr<WebRtcAudioDeviceImpl> audio_device_;
+ // This is only used if audio track processing is disabled.
+ // TODO(xians): Remove when option to disable audio track processing is
+ // removed.
+ scoped_refptr<AecDumpMessageFilter> aec_dump_message_filter_;
+
// 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(PeerConnectionDependencyFactory);
};

Powered by Google App Engine
This is Rietveld 408576698