コード例 #1
0
ファイル: pyEx_ogg.c プロジェクト: vigith/ogg-theora-vorbis
static PyObject * py_ogg_oggpack_writecopy(PyObject *self, PyObject *args) {
  oggpack_buffer * b;
  void * source;
  long bits;
  int size1, size2;
  PyArg_ParseTuple(args, "s#s#l", &b, &size1, &source, &size2, &bits);
  oggpack_writecopy(b, source, bits);
  Py_INCREF(Py_None);
  return Py_None;
};
コード例 #2
0
JNIEXPORT void JNICALL Java_org_echocat_jogg_OggPackBufferJNI_writecopy
    (JNIEnv *env, jclass thisClass, jlong handle, jbyteArray buffer) {

    if (Java_org_echocat_jogg_OggJNISupport_checkNotNull(env, buffer)) {
        jsize length = (*env)->GetArrayLength(env, buffer);
        char* nbuffer = (*env)->GetByteArrayElements(env, buffer, 0);
        if (nbuffer != NULL) {
            oggpack_writecopy((oggpack_buffer*) handle, nbuffer, length);
            (*env)->ReleaseByteArrayElements(env, buffer, nbuffer, JNI_ABORT);
        } else {
            Java_org_echocat_jogg_OggJNISupport_throwOutOfMemoryError(env);
        }
    }
}
コード例 #3
0
/*
 * Class:     org_tritonus_lowlevel_ogg_Buffer
 * Method:    writeCopy
 * Signature: ([BI)V
 */
JNIEXPORT void JNICALL
Java_org_tritonus_lowlevel_ogg_Buffer_writeCopy
(JNIEnv* env, jobject obj, jbyteArray abSource, jint nBits)
{
	oggpack_buffer*	handle;
	jbyte*		source;

	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_writeCopy(): begin\n"); }
	handle = getHandle(env, obj);
	source = (*env)->GetByteArrayElements(env, abSource, NULL);
	oggpack_writecopy(handle, source, nBits);
	(*env)->ReleaseByteArrayElements(env, abSource, source, 0);
	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_writeCopy(): end\n"); }
}