Bug 1420 - Enable FFmpeg 4.* in FFMPEGMediaPlayer and allow loading provided libs (option)
Summary: Enable FFmpeg 4.* in FFMPEGMediaPlayer and allow loading provided libs (option)
Status: IN_PROGRESS
Alias: None
Product: Jogl
Classification: JogAmp
Component: video (show other bugs)
Version: 2.4.0
Hardware: All all
: P4 major
Assignee: Sven Gothel
URL:
: 1356 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-01-03 02:24 CET by Sven Gothel
Modified: 2020-01-03 02:33 CET (History)
1 user (show)

See Also:
Type: DEFECT
SCM Refs:
2be7001101dbb16e5264c9c38b9764ba1e39ab5c
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2020-01-03 02:24:58 CET
Currently our FFMPEGMediaPlayer only supports FFmpeg up to version 3.

Support using the current FFmpeg version 4.*,
which is used in Debian-10 and other distributions today.

+++

Also take care of optional non-system ffmpeg libraries,
potential packaged w/ JogAmp. 
For this, we should provide a choice via properties and 
allow loading an internal library name upfront, e.g. 'internal_avutil'.
This will also resolve Bug 1356.
Comment 1 Sven Gothel 2020-01-03 02:26:35 CET
*** Bug 1356 has been marked as a duplicate of this bug. ***
Comment 2 Sven Gothel 2020-01-03 02:33:48 CET
jogl commit 2be7001101dbb16e5264c9c38b9764ba1e39ab5c

Bug 1420: Add FFMpeg 4.* versioned lib-names and provide optional internal lib lookup
    
New property 'jogl.ffmpeg.lib' may be set to 'internal',
setting PREFER_SYSTEM_LIBS:=false (default it true)
    
Non system internal libraries are named 'internal_<basename>',
e.g. 'internal_avutil'.
    
System default libraries are named '<basename>',
e.g. 'avutil'.
    
If PREFER_SYSTEM_LIBS is true (default),
we lookup the default library first,
then the versioned library names and last the internal library.
    
If PREFER_SYSTEM_LIBS is false,
we lookup the internal library first,
then the versioned library names and last the default library.

+++

TODO: Resolve FFmpeg 4.* API differences to previous 3.* version.