rtp_jni.cpp revision 73f6df1f0aac12c243e2110e30337ab01aa71598
1e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy/*
2e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * Copyright (C) 2010 The Android Open Source Project
3e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy *
4e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * Licensed under the Apache License, Version 2.0 (the "License");
5e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * you may not use this file except in compliance with the License.
6e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * You may obtain a copy of the License at
7e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy *
8e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy *      http://www.apache.org/licenses/LICENSE-2.0
9e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy *
10e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * Unless required by applicable law or agreed to in writing, software
11e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * distributed under the License is distributed on an "AS IS" BASIS,
12e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * See the License for the specific language governing permissions and
14e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy * limitations under the License.
15e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy */
16e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy
1785bf02fc16784d935fb9eebfa9cb20fe46ff7951Romain Guy#include <stdio.h>
1865fe5eeb19e2e15c8b1ee91e8a2dcf0c25e48ca6Chris Craik
19c3566d06421c8acc0aafb18f7e307e5725ce87e1Chris Craik#include "jni.h"
202dc236b2bae13b9a0ed9b3f7320502aecd7983b3Tom Hudson
21031888744e24b5c7243ac99ec98b78aff5db1c78Chris Craikextern int registerRtpStream(JNIEnv *env);
22031888744e24b5c7243ac99ec98b78aff5db1c78Chris Craikextern int registerAudioGroup(JNIEnv *env);
232dc236b2bae13b9a0ed9b3f7320502aecd7983b3Tom Hudson
2465cd612face362d054a85d0f7e5881c59cd523beChris Craik__attribute__((visibility("default"))) jint JNI_OnLoad(JavaVM *vm, void *unused)
2587e2f757be9b24d369bab354e37c276e851b1fc7Romain Guy{
262dc236b2bae13b9a0ed9b3f7320502aecd7983b3Tom Hudson    JNIEnv *env = NULL;
27031888744e24b5c7243ac99ec98b78aff5db1c78Chris Craik    if (vm->GetEnv((void **)&env, JNI_VERSION_1_4) != JNI_OK ||
2865fe5eeb19e2e15c8b1ee91e8a2dcf0c25e48ca6Chris Craik        registerRtpStream(env) < 0 || registerAudioGroup(env) < 0) {
2955bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui        return -1;
30d1ad5e62fda248c6d185cde3cb6d9f01a223066cLeon Scroggins III    }
31a957eea78557cb47a91d44d9e6ee641c58cf1c07Romain Guy    return JNI_VERSION_1_4;
3255bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui}
332dc236b2bae13b9a0ed9b3f7320502aecd7983b3Tom Hudson