From 6df330a6b4f6d45a651fd3d27a25d686f752a186 Mon Sep 17 00:00:00 2001 From: Guillaume Beraudo Date: Fri, 3 Dec 2010 16:13:01 +0100 Subject: [PATCH] Add video codecs preference. Integrate JNI code for getting list of available video codecs. --- LinphoneCoreImpl.java | 16 +++++++++++++++- PayloadTypeImpl.java | 13 ++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/LinphoneCoreImpl.java b/LinphoneCoreImpl.java index 745c8c358..62741c7ef 100644 --- a/LinphoneCoreImpl.java +++ b/LinphoneCoreImpl.java @@ -85,9 +85,10 @@ class LinphoneCoreImpl implements LinphoneCore { private native void setDownloadBandwidth(long nativePtr, int bw); private native void setPreferredVideoSize(long nativePtr, int width, int heigth); private native int[] getPreferredVideoSize(long nativePtr); - private native void setRing(long nativePtr, String path); private native String getRing(long nativePtr); + private native long[] listVideoPayloadTypes(long nativePtr); + private static String TAG = "LinphoneCore"; @@ -415,4 +416,17 @@ class LinphoneCoreImpl implements LinphoneCore { // TODO Auto-generated method stub return false; } + + public PayloadType[] listVideoCodecs() { + long[] typesPtr = listVideoPayloadTypes(nativePtr); + if (typesPtr == null) return null; + + PayloadType[] codecs = new PayloadType[typesPtr.length]; + + for (int i=0; i < codecs.length; i++) { + codecs[i] = new PayloadTypeImpl(typesPtr[i]); + } + + return codecs; + } } diff --git a/PayloadTypeImpl.java b/PayloadTypeImpl.java index 28c206786..864b094ff 100644 --- a/PayloadTypeImpl.java +++ b/PayloadTypeImpl.java @@ -24,10 +24,21 @@ class PayloadTypeImpl implements PayloadType { protected final long nativePtr; private native String toString(long ptr); - + private native String getMime(long ptr); + private native int getRate(long ptr); + protected PayloadTypeImpl(long aNativePtr) { nativePtr = aNativePtr; } + + public int getRate() { + return getRate(nativePtr); + } + + public String getMime() { + return getMime(nativePtr); + } + public String toString() { return toString(nativePtr); }