| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
If the temp path contains parenthesis on Windows, e.g. the username or the sub-temp folder,
the used exeTestFile.getCanonicalPath() can't be used by 'Runtime.getRuntime().exec( path )'.
Example: C:\Users\(ABC)abc\AppData\Local\Temp
Output: Exe-Tst: 'C:\Users\' is not recognized as an internal or external command, operable program or batch file.
Hence the complete canonical path must be quoted, i.e.
Path: "C:\Users\(ABC)abc\AppData\Local\Temp"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
native library path, supported throughout DynamicLibraryBundle[Info]
Motivation: It is helpful to retrieve the actually used native library pathname,
since loading a library w/o absolute path but lookup through LD_LIBRARY_PATH
may render it hard for the user to determine which library is used.
+++
+++
Windows implementation simply can use GetModuleFileNameA() with the native library handle.
POSIX implementation may utilize a symbol-name to retrieve its address within the
loading native library used to retrieved the library information
via dladdr().
To support this feature throughout DynamicLibraryBundle and DynamicLibraryBundleInfo,
the custom DynamicLibraryBundleInfo specializations shall provide
optional symbol-names per each tool-library-name for the POSIX implementation,
see above.
public interface DynamicLibraryBundleInfo {
...
/**
* Returns optional list of optional symbol names per {@link #getToolLibNames()}
* in same order for an OS which requires the symbol's address to retrieve
* the path of the containing library.
*/
public List<String> getSymbolForToolLibPath();
...
}
|
| |
|
| |
|
|
|
|
|
|
|
| |
last PTS value against System Clock Reference (SCR)
This allows passing through actual SCR with the PTS when enqueueing audio frames
and utilizing it when querying actual time lapsed PTS value (interpolation SCR to currentMillis).
|
| |
|
|
|
|
| |
for PTS and duration, i.e. good for 24.855 days
|
|
|
|
|
|
|
|
| |
current monotonic milliseconds **since start of this application**
Also added TSPrinter, a simple millisecond timestamp prepending `print*()` wrapper for a {@link PrintStream}.
Test coverage via TestClock01.
|
|
|
|
| |
access the last buffered audio pts
|
|
|
|
| |
Last review editting I hope :)
|
|
|
|
| |
usability, as well as getScheme(String), isValidScheme(String), isFileScheme(String) and isHttpxScheme(String)
|
|
|
|
| |
changes, using bitfield state (earmarked to be used within GLMediaPlayerImpl etc)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
thread with an optional minimum execution duration
|
| |
|
| |
|
|
|
|
| |
defines, include native expression
|
|
|
|
|
|
| |
'patternCPPOperand'
i.e. all supported operands used for constant-expression of define macros.
|
|\
| |
| |
| | |
'Mathieu_Fery/1446-parent-class-directives-issue-with-if-and-impl'
|
| |
| |
| |
| | |
When both classExtended and interfaces are specified for given class space missing between classExtended and implements keyword
|
|/ |
|
| |
|
|
|
|
|
|
| |
JavaCallback cases no just non-userParam case
Additional body code for JavaCallback is required for methods it.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
927bbc7160a812bb29c0e7120d4a3009bfb13bbf
Almost done
|
|\ \
| | |
| | |
| | | |
'Mathieu_Fery/feature/prevent_callback_generation_if_setter_is_absent'
|
| | |
| | |
| | |
| | | |
related isn't present
|
|\ \ \
| | | |
| | | |
| | | | |
'Mathieu_Fery/feat/array_accessor_with_getter_of_field_in_pascal_case'
|
| |/ /
| | |
| | |
| | | |
with field with name in PascalCase or camelCase
|
| |/
|/|
| |
| |
| |
| | |
JavaConfiguration.requiresJavaCallbackCode()"
This reverts commit 927bbc7160a812bb29c0e7120d4a3009bfb13bbf.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Method was encapsulated in commit d4e8ecc3b4f68b86d95ec951971a0fea20217988
and questioned whether it is required.
The non-userParam callback case adds no additional code requirements.
Both, callback with and without userParam shares same code path
and the respective native static fields.
Only that the non-userParam code path adds additional native static fields,
but all code sections are produced in both cases.
Passed all unit tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
types in equals and hashCode, i.e. use memory identity
Use case is having a compound-type as userParam, which also acts as key, see MessageCallback13, Test4JavaCallback.chapter13().
The Java compound instance is re-created using the actual identical native memory (address),
which has been stored or passed in the native toolkit.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'String')
Use case: String type as userParam, barely tested and not useful.
However, let's pass through all cases in our code.
Added LOG INFO for mapped types.
|
| |
| |
| |
| |
| |
| |
| |
| | |
STRING_CHARS_PREFIX or javaCallbackEmitter.emitCOptArgumentSuffix(..)
We only produce one variant in code.
Use case: String type as userParam (barely tested and not useful)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
TBD: Is this even required?
- needsIntermediateOperation -> needsJavaCallbackCode
- Use JavaConfiguration.requiresJavaCallbackCode(..)
TBD: Is this even required?
As far as I see, the non-userParam callback case adds no additional code requirements.
Both, callback with and without userParam shares same code path
and the respective native static fields.
Only that the non-userParam code path adds additional native static fields,
but all code sections are produced in both cases.
|
| |
| |
| |
| |
| |
| |
| |
| | |
and passed 'jcbFuncCMethodEmitter' only to invoke CMethodBindingEmitter.emitBodyMapCToJNIType(..)
Passed 'jcbFuncCMethodEmitter' only used to access CMethodBindingEmitter.emitBodyMapCToJNIType(int, boolean), a non-ideal hack! (FIXME)
General processing shall use the local `info.cbFuncBinding`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
arg 'MethodBinding jcbFuncCMethodBinding', use local 'info.cbFuncBinding'
Since emitJavaCallbackBodyPassJavaArguments() is private now,
only use case is to handle info.cbFuncBinding and we can drop the redundant argument.
Similar to cleanup commit e9a2294b3f18bb4c4f38347ccf347058cb4642b3
|
| |
| |
| |
| |
| |
| |
| | |
'CMethodBindingEmitter jcbFuncCMethodEmitter', use local 'info.cbFuncBinding'
Was added in commit ad69716fda64b517c33ed847c4b215ea398aac99 'callback without userData',
while adding ad-hoc compound conversion.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
emitJavaCallbackBodyPassJavaArguments}(): Fix exclusion of ad-hoc compound conversion for userParam
Passed CMethodBindingEmitter denotes the callback-function, including the binding.
The new iteration to handle the ad-hoc compound conversion,
introduced in commit ad69716fda64b517c33ed847c4b215ea398aac99 'callback without userData',
iterates over the callback-function argument list.
Hence it shall only exclude the ad-hoc compound conversion
if index != info.cbFuncUserParamIdx.
Dropping the addition exclusion 'i != info.setFuncUserParamIdx'.
|
| |
| |
| |
| | |
emitJavaCallbackBodyPassJavaArguments}(): Use capitalized sub-string 'baseArgName' for (static) callback related entities
|
| |
| |
| |
| | |
'userParamDefined' case (cleanup)
|
| |
| |
| |
| | |
NIO ByteBuffer generation (isNIOBuffer || isCompoundTypeWrapper)
|
|\ \
| | |
| | |
| | | |
'Mathieu_Fery/feature/java_callback_without_user_data' into pulled
|
| |/ |
|
|/
|
|
| |
compound attribute
|
|
|
|
| |
non-compound `UserParam` types to have more clarity in resulting API
|
|
|
|
|
|
|
|
|
| |
Resolves use case where UserParam reflects e.g. a context (AL_SOFT_events)
and will be (part of) the key mapping.
Implementation required an additional userParamID -> userParam mapping for default Object/ID usage.
Added 2 test cases.
|