diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2015-03-22 08:53:03 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2015-03-22 08:53:03 +0000 |
commit | aa12bbd2550b13534175638634b9fda117bca99e (patch) | |
tree | 0f840d7bc7f85b69854b92cd604cfa5f8ac2e098 /pjsip-apps/src/swig | |
parent | 60bb4a1226ebae37c761c208d4edd02174ccf92a (diff) |
Re #1790:
- Removed android_opengl_get_surface() for renderer view setup, Java application can directly supply Surface object as renderer window.
- Added renderer view on pjsua CLI app sample.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5014 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src/swig')
3 files changed, 20 insertions, 7 deletions
diff --git a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java index 9a057778..ff81b026 100644 --- a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java +++ b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java @@ -79,7 +79,7 @@ public class CallActivity extends Activity if (holder == null) vidWH.getHandle().setWindow(null); else - vidWH.getHandle().setWindow(pjsua2.android_opengl_get_surface(holder.getSurface())); + vidWH.getHandle().setWindow(holder.getSurface()); try { MainActivity.currentCall.vidWin.setWindow(vidWH); } catch (Exception e) {} diff --git a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java index 92cc66bb..fbc3cedf 100644 --- a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java +++ b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java @@ -20,6 +20,7 @@ package org.pjsip.pjsua2.app; import java.io.File; import java.util.ArrayList; + import org.pjsip.pjsua2.*; @@ -243,6 +244,14 @@ class MyAccountConfig { class MyApp { static { + try{ + System.loadLibrary("openh264"); + System.loadLibrary("yuv"); + } catch (UnsatisfiedLinkError e) { + System.out.println("UnsatisfiedLinkError: " + e.getMessage()); + System.out.println("This could be safely ignored if you " + + "don't need video."); + } System.loadLibrary("pjsua2"); System.out.println("Library loaded"); } diff --git a/pjsip-apps/src/swig/pjsua2.i b/pjsip-apps/src/swig/pjsua2.i index 91f91916..4e58e21e 100644 --- a/pjsip-apps/src/swig/pjsua2.i +++ b/pjsip-apps/src/swig/pjsua2.i @@ -101,16 +101,20 @@ using namespace pj; %template(AudioDevInfoVector) std::vector<pj::AudioDevInfo*>; %template(CodecInfoVector) std::vector<pj::CodecInfo*>; -%include "pjsua2/media.hpp" -// Create an interface for android_opengl_get_surface() +/* pj::WindowHandle::setWindow() receives Surface object */ #if defined(SWIGJAVA) && defined(__ANDROID__) -%inline %{ -extern "C" { - void* android_opengl_get_surface(jobject surface); +%{#include <android/native_window_jni.h>%} +%ignore pj::WindowHandle::display; +%ignore pj::WindowHandle::window; +%typemap(in) jobject surface { + $1 = (jobject)ANativeWindow_fromSurface(jenv, $input); +} +%extend pj::WindowHandle { + void setWindow(jobject surface) { $self->window = surface; } } -%} #endif +%include "pjsua2/media.hpp" %include "pjsua2/presence.hpp" %include "pjsua2/account.hpp" %include "pjsua2/call.hpp" |