Support iMX6 and Pi with the same binary

This commit is contained in:
Iwan Timmer
2014-08-16 16:04:32 +02:00
parent 4c27ff8090
commit e53da5b2d5
3 changed files with 25 additions and 5 deletions

View File

@@ -4,8 +4,11 @@ import java.net.InetAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import com.limelight.binding.audio.AlsaAudioRenderer; import com.limelight.binding.audio.AlsaAudioRenderer;
import com.limelight.binding.video.ImxDecoder;
import com.limelight.binding.video.ImxDecoderRenderer; import com.limelight.binding.video.ImxDecoderRenderer;
import com.limelight.binding.crypto.PcCryptoProvider; import com.limelight.binding.crypto.PcCryptoProvider;
import com.limelight.binding.video.OmxDecoder;
import com.limelight.binding.video.OmxDecoderRenderer;
import com.limelight.nvstream.av.audio.AudioRenderer; import com.limelight.nvstream.av.audio.AudioRenderer;
import com.limelight.nvstream.av.video.VideoDecoderRenderer; import com.limelight.nvstream.av.video.VideoDecoderRenderer;
import com.limelight.nvstream.http.LimelightCryptoProvider; import com.limelight.nvstream.http.LimelightCryptoProvider;
@@ -21,7 +24,12 @@ public class PlatformBinding {
* @return a video decoder and renderer * @return a video decoder and renderer
*/ */
public static VideoDecoderRenderer getVideoDecoderRenderer() { public static VideoDecoderRenderer getVideoDecoderRenderer() {
return new ImxDecoderRenderer(); if (OmxDecoder.load())
return new OmxDecoderRenderer();
else if (ImxDecoder.load())
return new ImxDecoderRenderer();
return null;
} }
/** /**

View File

@@ -5,8 +5,14 @@ package com.limelight.binding.video;
* @author Iwan Timmer * @author Iwan Timmer
*/ */
public class ImxDecoder { public class ImxDecoder {
static {
System.loadLibrary("nv_imx_dec"); public static boolean load() {
try {
System.loadLibrary("nv_imx_dec");
} catch (Throwable e) {
return false;
}
return false;
} }
public static native int init(); public static native int init();

View File

@@ -5,8 +5,14 @@ package com.limelight.binding.video;
* @author Iwan Timmer * @author Iwan Timmer
*/ */
public class OmxDecoder { public class OmxDecoder {
static {
System.loadLibrary("nv_omx_dec"); public static boolean load() {
try {
System.loadLibrary("nv_omx_dec");
} catch (Throwable e) {
return false;
}
return false;
} }
public static native int init(); public static native int init();