Summary: | Make JOAL Platform Agnostic for non J2SE VMs (Remove use of javax.sound; Replace WaveLoader code, ..) | ||
---|---|---|---|
Product: | [JogAmp] Joal | Reporter: | Sven Gothel <sgothel> |
Component: | core | Assignee: | Xerxes Rånby <xerxes> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | gouessej, xerxes, xerxes |
Priority: | P2 | ||
Version: | 1.0 | ||
Hardware: | All | ||
OS: | all | ||
Type: | --- | SCM Refs: |
6292ed9712b17f849f22221aea9d586c3a363c09
d199e6cdbf1fe1283bad79f68d05a9037a91863b
|
Workaround: | --- |
Description
Sven Gothel
2013-02-06 23:35:43 CET
.. never mind 'compatibility' .. since it must run well on Android and other platforms. FFMPEG/libav can easily provide WAV file decoding, and may decode many more audio formats. The tricky part is to build and bundle native FFMPEG/libav libraries for all supported platforms. Thus this bug now depend on 686. (In reply to comment #2) > FFMPEG/libav can easily provide WAV file decoding, and may decode many more > audio formats. The tricky part is to build and bundle native FFMPEG/libav > libraries for all supported platforms. Thus this bug now depend on 686. There is nothing too special about wav, i.e. usually it's simply a header w/ followup PCM data. Hence only the header needs to be parsed, no WAV audio data needs to be decoded! Julien already started some parsing support from Java. Problem: Relying on FFMPEG/libav for JOAL would create a dependency not always fullfilled, hence this is not a solution. Would love to see the Java WAV header parsing work getting matured Removing dependency - impossible to support. Review and merge gouessej's JOAL fix: Removes all references to javax.sound.* in order to allow JOAL to work in non-J2SE environments: https://github.com/gouessej/joal/commit/6292ed9712b17f849f22221aea9d586c3a363c09 Pure Java WAV/OGG parsing should be moved to JOAL-utils in order to keep the API modular as such services are already provided by other libraries based on JOAL (for example Paul Lamb's Sound Library) or it would be possible to have a JAR containing the core features and another one containing all features including our WAV/OGG parsing. Merged gouessej's fix into JOAL: http://jogamp.org/git/?p=joal.git;a=commit;h=6292ed9712b17f849f22221aea9d586c3a363c09 - Removes all references to javax.sound.* in order to allow JOAL to work in non-J2SE environments. Proposed junit test: ALutWAVLoaderTest: Test WAV decoder impl. Bug 684 https://github.com/xranby/joal/commit/f91cb9e643f26dfec259fd9de694c8c8fd2a127e d199e6cdbf1fe1283bad79f68d05a9037a91863b WAVLoader: Use Bitstream and support big-endian RIFX; Fix ALutWAVLoaderTest 29094cdad91594a2f5defd967aab893887f10c81 ALExtLoopbackDeviceSOFTTest: Remove javax.sound.sampled.UnsupportedAudioFileException dependency |