src/org/sipdroid/pjlib/Codec.java
author Nikita Kozlov <nikita@elyzion.net>
Wed, 06 Jun 2012 23:24:12 +0200
changeset 1005 a2cad81f348b
parent 836 2f2f5e24ac6a
permissions -rw-r--r--
fix some bugs + update jingle code in asmack
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
836
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     1
/*
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     2
 * Copyright (C) 2009 The Sipdroid Open Source Project
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     3
 * 
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     4
 * This file is part of Sipdroid (http://www.sipdroid.org)
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     5
 * 
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     6
 * Sipdroid is free software; you can redistribute it and/or modify
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     7
 * it under the terms of the GNU General Public License as published by
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     8
 * the Free Software Foundation; either version 3 of the License, or
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
     9
 * (at your option) any later version.
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    10
 * 
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    11
 * This source code is distributed in the hope that it will be useful,
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    14
 * GNU General Public License for more details.
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    15
 * 
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    16
 * You should have received a copy of the GNU General Public License
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    17
 * along with this source code; if not, write to the Free Software
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    18
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    19
 */
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    20
package org.sipdroid.pjlib;
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    21
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    22
import java.lang.String;
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    23
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    24
public class Codec {
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    25
    public static native int open(String codec_id);
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    26
    public static native int decode(byte alaw[], short lin[], int frames);
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    27
    public static native int encode(short lin[], int offset, byte alaw[], int frames);
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    28
    public static native int close();
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    29
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    30
    public static void init() {
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    31
    }
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    32
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    33
    public static boolean loaded;
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    34
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    35
    static {
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    36
	try {
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    37
	    System.loadLibrary("pjlib_linker_jni");
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    38
	    open("gsm");
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    39
	    loaded = true;
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    40
	} catch (Throwable e) {
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    41
	    e.printStackTrace();
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    42
	}
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    43
    }
2f2f5e24ac6a Voip MAJ
nikita@nikita-laptop
parents:
diff changeset
    44
}