Top Description Fields Constructors Methods
jogamp.opengl.util.av.impl

pack-priv Class FFMPEGDynamicLibraryBundleInfo

extends Object
implements DynamicLibraryBundleInfo
Class Inheritance
All Implemented Interfaces
com.jogamp.common.os.DynamicLibraryBundleInfo
Imports
java.security.AccessController, .PrivilegedAction, java.util.ArrayList, .Arrays, .HashSet, .List, .Set, com.jogamp.opengl.GLProfile, com.jogamp.common.ExceptionUtils, com.jogamp.common.os.DynamicLibraryBundle, .DynamicLibraryBundleInfo, com.jogamp.common.util.RunnableExecutor, .VersionNumber

See FFMPEGMediaPlayer#compatibility.

Field Summary

Modifier and TypeField and Description
pack-priv static final VersionNumber
pack-priv static final VersionNumber
pack-priv static final VersionNumber
pack-priv static final VersionNumber
private static final boolean
private static final List<String>
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final boolean[]
libLoaded

util, format, codec, device, avresample, swresample

private static final boolean
private static final FFMPEGNatives
private static final String[]
private static final PrivilegedAction<DynamicLibraryBundle>
private static final boolean
pack-priv static final VersionNumber
private static final long[]
private static final int
private static final String[]

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
pack-priv static boolean
pack-priv static boolean
public final List<String>
getGlueLibNames()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getGlueLibNames.

If a SecurityManager is installed, user needs link permissions for the named libraries.
public final RunnableExecutor
getLibLoaderExecutor()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getLibLoaderExecutor.

Returns a suitable RunnableExecutor implementation, which is being used to load the tool and glue native libraries.
pack-priv static FFMPEGNatives
public final List<String>
public final List<List<String>>
getToolLibNames()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getToolLibNames.

If a SecurityManager is installed, user needs link permissions for the named libraries.
pack-priv static boolean
private static final boolean
initSymbols(final VersionNumber[]
5: util, format, codec, avresample, swresample
versions
)

pack-priv static boolean
public final boolean
public final boolean
shallLookupGlobal()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.shallLookupGlobal.

If method returns true and if a SecurityManager is installed, user needs link permissions for all libraries, i.e. for new RuntimePermission("loadLibrary.*");!
pack-priv static boolean
public final long
toolGetProcAddress(final long toolGetProcAddressHandle, final String funcName)

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.toolGetProcAddress.

May implement the lookup function using the Tools facility.
public final boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

avCodecVersionback to summary
pack-priv static final VersionNumber avCodecVersion
avFormatVersionback to summary
pack-priv static final VersionNumber avFormatVersion
avResampleVersionback to summary
pack-priv static final VersionNumber avResampleVersion
avUtilVersionback to summary
pack-priv static final VersionNumber avUtilVersion
DEBUGback to summary
private static final boolean DEBUG

Hides com.jogamp.common.os.DynamicLibraryBundleInfo.DEBUG.

glueLibNamesback to summary
private static final List<String> glueLibNames
LIB_IDX_AVRback to summary
private static final int LIB_IDX_AVR
LIB_IDX_CODback to summary
private static final int LIB_IDX_COD
LIB_IDX_DEVback to summary
private static final int LIB_IDX_DEV
LIB_IDX_FMTback to summary
private static final int LIB_IDX_FMT
LIB_IDX_SWRback to summary
private static final int LIB_IDX_SWR
LIB_IDX_UTIback to summary
private static final int LIB_IDX_UTI
libLoadedback to summary
private static final boolean[] libLoaded

util, format, codec, device, avresample, swresample

libsUFCLoadedback to summary
private static final boolean libsUFCLoaded
nativesback to summary
private static final FFMPEGNatives natives
optionalSymbolNamesback to summary
private static final String[] optionalSymbolNames
privInitSymbolsActionback to summary
private static final PrivilegedAction<DynamicLibraryBundle> privInitSymbolsAction
readyback to summary
private static final boolean ready
swResampleVersionback to summary
pack-priv static final VersionNumber swResampleVersion
symbolAddrback to summary
private static final long[] symbolAddr
symbolCountback to summary
private static final int symbolCount
symbolNamesback to summary
private static final String[] symbolNames

Constructor Detail

FFMPEGDynamicLibraryBundleInfoback to summary
protected FFMPEGDynamicLibraryBundleInfo()

Method Detail

avDeviceLoadedback to summary
pack-priv static boolean avDeviceLoaded()
avResampleLoadedback to summary
pack-priv static boolean avResampleLoaded()
getGlueLibNamesback to summary
public final List<String> getGlueLibNames()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getGlueLibNames.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.getGlueLibNames.

If a SecurityManager is installed, user needs link permissions for the named libraries.

Returns:List<String>

a list of Glue library names.

  • GL: [ "nativewindow_x11", "jogl_gl2es12", "jogl_desktop" ]
  • NEWT: [ "nativewindow_x11", "newt" ]
  • Cg: [ "nativewindow_x11", "jogl_cg" ]

Only the last entry is crucial, ie all other are optional preload dependencies and may generate errors, which are ignored.
Annotations
@Override
getLibLoaderExecutorback to summary
public final RunnableExecutor getLibLoaderExecutor()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getLibLoaderExecutor.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.getLibLoaderExecutor.

Returns a suitable RunnableExecutor implementation, which is being used to load the tool and glue native libraries.

This allows the generic DynamicLibraryBundle implementation to load the native libraries on a designated thread.

An implementation may return DynamicLibraryBundle#getDefaultRunnableExecutor().

Annotations
@Override
getNativesback to summary
pack-priv static FFMPEGNatives getNatives()
getToolGetProcAddressFuncNameListback to summary
public final List<String> getToolGetProcAddressFuncNameList()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getToolGetProcAddressFuncNameList.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.getToolGetProcAddressFuncNameList.

May return the native libraries

GetProcAddressFunc
names, the first found function is being used.
This could be eg:
 glXGetProcAddressARB, glXGetProcAddressARB 
.
If your Tool does not has this facility, just return null.
Annotations
@Override
getToolLibNamesback to summary
public final List<List<String>> getToolLibNames()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getToolLibNames.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.getToolLibNames.

If a SecurityManager is installed, user needs link permissions for the named libraries.

Returns:List<List<String>>

a list of Tool library names or alternative library name lists.

  • GL/GLU example Unix: [ [ "libGL.so.1", "libGL.so", "GL" ], [ "libGLU.so", "GLU" ] ]
  • GL/GLU example Windows: [ "OpenGL32", "GLU32" ]
  • Cg/CgGL example: [ [ "libCg.so", "Cg" ], [ "libCgGL.so", "CgGL" ] ]
  • Annotations
    @Override
initSingletonback to summary
pack-priv static boolean initSingleton()
initSymbolsback to summary
private static final boolean initSymbols(final VersionNumber[] versions)
Parameters
versions:VersionNumber[]

5: util, format, codec, avresample, swresample

libsLoadedback to summary
pack-priv static boolean libsLoaded()
shallLinkGlobalback to summary
public final boolean shallLinkGlobal()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.shallLinkGlobal.

Returns:boolean

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.shallLinkGlobal.

true if the native library symbols shall be made available for symbol resolution of subsequently loaded libraries.

Annotations
@Override
shallLookupGlobalback to summary
public final boolean shallLookupGlobal()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.shallLookupGlobal.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.shallLookupGlobal.

If method returns true and if a SecurityManager is installed, user needs link permissions for all libraries, i.e. for new RuntimePermission("loadLibrary.*");!

Returns true.

Returns:boolean

true if the dynamic symbol lookup shall happen system wide, over all loaded libraries. Otherwise only the loaded native libraries are used for lookup, which shall be the default.

Annotations
@Override
swResampleLoadedback to summary
pack-priv static boolean swResampleLoaded()
toolGetProcAddressback to summary
public final long toolGetProcAddress(final long toolGetProcAddressHandle, final String funcName)

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.toolGetProcAddress.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.toolGetProcAddress.

May implement the lookup function using the Tools facility.
The actual function pointer is provided to allow proper bootstrapping of the ProcAddressTable, using one of the provided function names by getToolGetProcAddressFuncNameList().

Annotations
@Override
useToolGetProcAdressFirstback to summary
public final boolean useToolGetProcAdressFirst(final String funcName)

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.useToolGetProcAdressFirst.

Returns:boolean

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.useToolGetProcAdressFirst.

true if toolGetProcAddress(long, String) shall be tried before the system loader for the given function lookup. Otherwise false. Default is true.

Annotations
@Override