Bug 832 - GLMediaPlayer: Support multiple versions of FFMPEG/Libav, solve binary incompatibility problem
Summary: GLMediaPlayer: Support multiple versions of FFMPEG/Libav, solve binary incomp...
Status: RESOLVED FIXED
Alias: None
Product: Jogl
Classification: JogAmp
Component: core (show other bugs)
Version: 2
Hardware: All all
: --- enhancement
Assignee: Sven Gothel
URL:
Depends on:
Blocks: 806
  Show dependency treegraph
 
Reported: 2013-09-09 16:25 CEST by Sven Gothel
Modified: 2013-09-09 16:53 CEST (History)
2 users (show)

See Also:
Type: ---
SCM Refs:
1b4edb60e8c91621d93033b8732b2cdef0e7ebe7 07201cfd793f47729caf8667acad41ed1869bf32 871c7cac1939e6c7fbcd33aa031b7861f63da6ae 248256fc8eee90f8d11f66d4b5dba8ad296653a1 ee64b0b3e47cc5d52fb3679c582d3ad0134adb9e b5876b598ecf3eb32ceb183ecbd5d29b8885a304 1801fb8b27ad3b7b2a43c62dcf536b27c67e2f94 70fb61d39f4e40de62dd44b2d8c88d43b9efaf42 5031a42647442b71ef32041d332ed5f22d3e6ecf 15ec34db947f89b1d20043b729a09413a425de5d 87fe4c89d1b69773d62c1917594ddf7a724c6d71
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2013-09-09 16:25:24 CEST
GLMediaPlayer shall support multiple major FFMPEG/Libav versions
and hence needs to solve their binary incompatibility due to:
  - diff. data types / structs
  - diff API functions
Comment 1 Sven Gothel 2013-09-09 16:50:15 CEST
We have included libav/ffmpeg headers for:
  - libav 0.8 / ffmpeg 0.8  lavc53_lavf53_lavu51  
  - libav 9.0 / ffmpeg 1.2  lavc54_lavf54_lavu52_lavr01  
  - libav 10/ ffmpeg 2.0    lavc55_lavf55_lavu52_lavr01

We have 3 java classes adding JNI stubs for the respective implementation 
to the particular ffmpeg/libav version.

The native code uses one implementation, 
producing  3 objects per class (diff. name-space) 
using c-preprocessor concatenation (cpp templates).