Move the SetAndroidObjects to VideoCaptureFactory so that ViE can get access to it.
Review URL: http://webrtc-codereview.appspot.com/244002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@852 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/src/modules/video_capture/main/interface/video_capture_factory.h b/src/modules/video_capture/main/interface/video_capture_factory.h
index 10a6afe..6cb7a77 100644
--- a/src/modules/video_capture/main/interface/video_capture_factory.h
+++ b/src/modules/video_capture/main/interface/video_capture_factory.h
@@ -36,6 +36,10 @@
static VideoCaptureModule::DeviceInfo* CreateDeviceInfo(
const WebRtc_Word32 id);
+#ifdef WEBRTC_ANDROID
+ static WebRtc_Word32 SetAndroidObjects(void* javaVM, void* javaContext);
+#endif
+
private:
~VideoCaptureFactory();
};
diff --git a/src/modules/video_capture/main/source/Android.mk b/src/modules/video_capture/main/source/Android.mk
index 72711df..1f65c47 100644
--- a/src/modules/video_capture/main/source/Android.mk
+++ b/src/modules/video_capture/main/source/Android.mk
@@ -21,6 +21,7 @@
video_capture_impl.cc \
vplib_conversions.cc \
device_info_impl.cc \
+ video_capture_factory.cc \
Android/video_capture_android.cc \
Android/device_info_android.cc
diff --git a/src/modules/video_capture/main/source/video_capture_factory.cc b/src/modules/video_capture/main/source/video_capture_factory.cc
index 29c3fe2..ac0e641 100644
--- a/src/modules/video_capture/main/source/video_capture_factory.cc
+++ b/src/modules/video_capture/main/source/video_capture_factory.cc
@@ -10,6 +10,9 @@
#include "video_capture_factory.h"
#include "video_capture_impl.h"
+#ifdef WEBRTC_ANDROID
+#include "video_capture_android.h"
+#endif
namespace webrtc
{
@@ -29,4 +32,12 @@
return videocapturemodule::VideoCaptureImpl::CreateDeviceInfo(id);
}
+#ifdef WEBRTC_ANDROID
+WebRtc_Word32 VideoCaptureFactory::SetAndroidObjects(void* javaVM,
+ void* javaContext) {
+ return videocapturemodule::VideoCaptureAndroid::SetAndroidObjects(javaVM,
+ javaContext);
+}
+#endif
+
} // namespace webrtc
diff --git a/src/modules/video_capture/main/source/video_capture_impl.cc b/src/modules/video_capture/main/source/video_capture_impl.cc
index ba4f994..6530245 100644
--- a/src/modules/video_capture/main/source/video_capture_impl.cc
+++ b/src/modules/video_capture/main/source/video_capture_impl.cc
@@ -35,14 +35,6 @@
return implementation;
}
-#ifdef WEBRTC_ANDROID
-WebRtc_Word32 VideoCaptureImpl::SetAndroidObjects(void* javaVM,void* javaContext)
-{
- WEBRTC_TRACE(webrtc::kTraceModuleCall, webrtc::kTraceVideoCapture, 0, "SetAndroidObjects");
- return videocapturemodule::VideoCaptureAndroid::SetAndroidObjects(javaVM,javaContext);
-}
-#endif
-
WebRtc_Word32 VideoCaptureImpl::Version(WebRtc_Word8* version,
WebRtc_UWord32& remainingBufferInBytes,
WebRtc_UWord32& position) const
diff --git a/src/modules/video_capture/main/source/video_capture_impl.h b/src/modules/video_capture/main/source/video_capture_impl.h
index 454c4e0..7057f1d 100644
--- a/src/modules/video_capture/main/source/video_capture_impl.h
+++ b/src/modules/video_capture/main/source/video_capture_impl.h
@@ -50,10 +50,6 @@
static DeviceInfo* CreateDeviceInfo(const WebRtc_Word32 id);
-#ifdef WEBRTC_ANDROID
- static WebRtc_Word32 SetAndroidObjects(void* javaVM, void* javaContext);
-#endif
-
static WebRtc_Word32 GetVersion(WebRtc_Word8* version,
WebRtc_UWord32& remainingBufferInBytes,
WebRtc_UWord32& position);
diff --git a/src/video_engine/main/source/Android.mk b/src/video_engine/main/source/Android.mk
index 1bb4239..44743b7 100644
--- a/src/video_engine/main/source/Android.mk
+++ b/src/video_engine/main/source/Android.mk
@@ -65,6 +65,7 @@
$(LOCAL_PATH)/../../../modules/utility/interface \
$(LOCAL_PATH)/../../../modules/video_capture/main/interface \
$(LOCAL_PATH)/../../../modules/video_capture/main/source \
+ $(LOCAL_PATH)/../../../modules/video_capture/main/source/Android \
$(LOCAL_PATH)/../../../modules/video_coding/codecs/interface \
$(LOCAL_PATH)/../../../modules/video_coding/main/interface \
$(LOCAL_PATH)/../../../modules/video_mixer/main/interface \
diff --git a/src/video_engine/main/source/vie_impl.cc b/src/video_engine/main/source/vie_impl.cc
index 229667b..bfc6c7d 100644
--- a/src/video_engine/main/source/vie_impl.cc
+++ b/src/video_engine/main/source/vie_impl.cc
@@ -21,7 +21,7 @@
#endif
#ifdef WEBRTC_ANDROID
-#include "video_capture.h"
+#include "video_capture_factory.h"
#include "video_render.h"
#endif
@@ -281,7 +281,7 @@
"SetAndroidObjects()");
#ifdef WEBRTC_ANDROID
- if (videocapturemodule::VideoCaptureImpl::SetAndroidObjects(javaVM,javaContext) != 0)
+ if (VideoCaptureFactory::SetAndroidObjects(javaVM,javaContext) != 0)
{
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideo, gViEActiveInstanceCounter,
"Could not set capture module Android objects");
@@ -295,6 +295,8 @@
}
return 0;
#else
+ WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideo, gViEActiveInstanceCounter,
+ "WEBRTC_ANDROID not defined for VideoEngine::SetAndroidObjects");
return -1;
#endif
}