org.bytedeco.ffmpeg.avcodec.Cb_PointerPointer_int Maven / Gradle / Ivy
// Targeted by JavaCPP version 1.5.4: DO NOT EDIT THIS FILE
package org.bytedeco.ffmpeg.avcodec;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
import static org.bytedeco.javacpp.presets.javacpp.*;
import org.bytedeco.ffmpeg.avutil.*;
import static org.bytedeco.ffmpeg.global.avutil.*;
import org.bytedeco.ffmpeg.swresample.*;
import static org.bytedeco.ffmpeg.global.swresample.*;
import static org.bytedeco.ffmpeg.global.avcodec.*;
/**
* Register a user provided lock manager supporting the operations
* specified by AVLockOp. The "mutex" argument to the function points
* to a (void *) where the lockmgr should store/get a pointer to a user
* allocated mutex. It is NULL upon AV_LOCK_CREATE and equal to the
* value left by the last call for all other ops. If the lock manager is
* unable to perform the op then it should leave the mutex in the same
* state as when it was called and return a non-zero value. However,
* when called with AV_LOCK_DESTROY the mutex will always be assumed to
* have been successfully destroyed. If av_lockmgr_register succeeds
* it will return a non-negative value, if it fails it will return a
* negative value and destroy all mutex and unregister all callbacks.
* av_lockmgr_register is not thread-safe, it must be called from a
* single thread before any calls which make use of locking are used.
*
* @param cb User defined callback. av_lockmgr_register invokes calls
* to this callback and the previously registered callback.
* The callback will be used to create more than one mutex
* each of which must be backed by its own underlying locking
* mechanism (i.e. do not use a single static object to
* implement your lock manager). If cb is set to NULL the
* lockmgr will be unregistered.
*
* @deprecated This function does nothing, and always returns 0. Be sure to
* build with thread support to get basic thread safety.
*/
@Properties(inherit = org.bytedeco.ffmpeg.presets.avcodec.class)
public class Cb_PointerPointer_int extends FunctionPointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public Cb_PointerPointer_int(Pointer p) { super(p); }
protected Cb_PointerPointer_int() { allocate(); }
private native void allocate();
public native int call(@Cast("void**") PointerPointer mutex, @Cast("AVLockOp") int op);
}