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

Unified Diff: content/renderer/media/video_capture_message_filter.cc

Issue 16320005: Define EncodedVideoSource and RtcCapturedEncodingVideoCapturer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased at 209707. Fix compile warnings. Created 7 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/video_capture_message_filter.cc
diff --git a/content/renderer/media/video_capture_message_filter.cc b/content/renderer/media/video_capture_message_filter.cc
index 4d59729ba75b1854f680113db4c65fffa9c89940..0a4bb619a92c7042b7b6b376938cbc5fcea7c0c1 100644
--- a/content/renderer/media/video_capture_message_filter.cc
+++ b/content/renderer/media/video_capture_message_filter.cc
@@ -4,6 +4,7 @@
#include "content/renderer/media/video_capture_message_filter.h"
+#include "content/common/media/encoded_video_capture_messages.h"
#include "content/common/media/video_capture_messages.h"
#include "content/common/view_messages.h"
@@ -61,7 +62,17 @@ bool VideoCaptureMessageFilter::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(VideoCaptureMsg_StateChanged, OnDeviceStateChanged)
IPC_MESSAGE_HANDLER(VideoCaptureMsg_NewBuffer, OnBufferCreated)
IPC_MESSAGE_HANDLER(VideoCaptureMsg_DeviceInfo, OnDeviceInfoReceived)
- IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_MESSAGE_HANDLER(EncodedVideoCaptureMsg_CapabilitiesAvailable,
+ OnCapabilitiesAvailable)
+ IPC_MESSAGE_HANDLER(EncodedVideoCaptureMsg_BitstreamOpened,
+ OnBitstreamOpened)
+ IPC_MESSAGE_HANDLER(EncodedVideoCaptureMsg_BitstreamClosed,
+ OnBitstreamClosed)
+ IPC_MESSAGE_HANDLER(EncodedVideoCaptureMsg_BitstreamConfigChanged,
+ OnBitstreamConfigChanged)
+ IPC_MESSAGE_HANDLER(EncodedVideoCaptureMsg_BitstreamReady,
+ OnBitstreamReady);
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
}
@@ -90,15 +101,18 @@ void VideoCaptureMessageFilter::OnChannelClosing() {
VideoCaptureMessageFilter::~VideoCaptureMessageFilter() {}
+VideoCaptureMessageFilter::Delegate* VideoCaptureMessageFilter::find_delegate(
+ int device_id) const {
+ Delegates::const_iterator i = delegates_.find(device_id);
+ return i != delegates_.end() ? i->second : NULL;
+}
+
void VideoCaptureMessageFilter::OnBufferCreated(
int device_id,
base::SharedMemoryHandle handle,
int length,
int buffer_id) {
- Delegate* delegate = NULL;
- if (delegates_.find(device_id) != delegates_.end())
- delegate = delegates_.find(device_id)->second;
-
+ Delegate* delegate = find_delegate(device_id);
if (!delegate) {
DLOG(WARNING) << "OnBufferCreated: Got video frame buffer for a "
"non-existent or removed video capture.";
@@ -117,10 +131,7 @@ void VideoCaptureMessageFilter::OnBufferReceived(
int device_id,
int buffer_id,
base::Time timestamp) {
- Delegate* delegate = NULL;
- if (delegates_.find(device_id) != delegates_.end())
- delegate = delegates_.find(device_id)->second;
-
+ Delegate* delegate = find_delegate(device_id);
if (!delegate) {
DLOG(WARNING) << "OnBufferReceived: Got video frame buffer for a "
"non-existent or removed video capture.";
@@ -137,9 +148,7 @@ void VideoCaptureMessageFilter::OnBufferReceived(
void VideoCaptureMessageFilter::OnDeviceStateChanged(
int device_id,
VideoCaptureState state) {
- Delegate* delegate = NULL;
- if (delegates_.find(device_id) != delegates_.end())
- delegate = delegates_.find(device_id)->second;
+ Delegate* delegate = find_delegate(device_id);
if (!delegate) {
DLOG(WARNING) << "OnDeviceStateChanged: Got video capture event for a "
"non-existent or removed video capture.";
@@ -151,9 +160,7 @@ void VideoCaptureMessageFilter::OnDeviceStateChanged(
void VideoCaptureMessageFilter::OnDeviceInfoReceived(
int device_id,
const media::VideoCaptureParams& params) {
- Delegate* delegate = NULL;
- if (delegates_.find(device_id) != delegates_.end())
- delegate = delegates_.find(device_id)->second;
+ Delegate* delegate = find_delegate(device_id);
if (!delegate) {
DLOG(WARNING) << "OnDeviceInfoReceived: Got video capture event for a "
"non-existent or removed video capture.";
@@ -162,4 +169,64 @@ void VideoCaptureMessageFilter::OnDeviceInfoReceived(
delegate->OnDeviceInfoReceived(params);
}
+void VideoCaptureMessageFilter::OnCapabilitiesAvailable(
+ int device_id,
+ media::VideoEncodingCapabilities capabilities) {
+ Delegate* delegate = find_delegate(device_id);
+ if (!delegate) {
+ DLOG(WARNING) << "OnCapabilitiesAvailable: Got video capture event for a "
+ "non-existent or removed video capture.";
+ return;
+ }
+ delegate->OnEncodingCapabilitiesAvailable(capabilities);
+}
+
+void VideoCaptureMessageFilter::OnBitstreamOpened(
+ int device_id,
+ media::VideoEncodingParameters params,
+ std::vector<base::SharedMemoryHandle> buffers,
+ uint32 buffer_size) {
+ Delegate* delegate = find_delegate(device_id);
+ if (!delegate) {
+ DLOG(WARNING) << "OnBitstreamOpened: Got video capture event for a "
+ "non-existent or removed video capture.";
+ return;
+ }
+ delegate->OnEncodedBitstreamOpened(params, buffers, buffer_size);
+}
+
+void VideoCaptureMessageFilter::OnBitstreamClosed(int device_id) {
+ Delegate* delegate = find_delegate(device_id);
+ if (!delegate) {
+ DLOG(WARNING) << "OnBitstreamClosed: Got video capture event for a "
+ "non-existent or removed video capture.";
+ return;
+ }
+ delegate->OnEncodedBitstreamClosed();
+}
+
+void VideoCaptureMessageFilter::OnBitstreamConfigChanged(
+ int device_id,
+ media::RuntimeVideoEncodingParameters params) {
+ Delegate* delegate = find_delegate(device_id);
+ if (!delegate) {
+ DLOG(WARNING) << "OnBitstreamConfigChanged: Got video capture event for a "
+ "non-existent or removed video capture.";
+ return;
+ }
+ delegate->OnEncodingConfigChanged(params);
+}
+
+void VideoCaptureMessageFilter::OnBitstreamReady(
+ int device_id, int buffer_id, uint32 size,
+ media::BufferEncodingMetadata metadata) {
+ Delegate* delegate = find_delegate(device_id);
+ if (!delegate) {
+ DLOG(WARNING) << "OnBitstreamReady: Got video capture event for a "
+ "non-existent or removed video capture.";
+ return;
+ }
+ delegate->OnEncodedBufferReady(buffer_id, size, metadata);
+}
+
} // namespace content
« no previous file with comments | « content/renderer/media/video_capture_message_filter.h ('k') | content/renderer/media/video_capture_message_filter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698