This is mostly minor updates made according to the November 26th CVS of FFMPEG.
I went through and compared the header included with FFMPEG-Java with the header included with FFMPEG Nov-26.
There are a few notable changes.
---1
av_close_input_file now expects a Pointer instead of an AVFormatContext reference. This change was made because of code like this:
AVFORMAT.av_open_input_file(ppFormatCtx, filename, null, 0, null);
final AVFormatContext formatCtx = new AVFormatContext(ppFormatCtx.getValue());
...
AVFORMAT.av_close_input_file(formatCtx);
Where a pointer to a structure declared by Java is passed to FFMPEG, and the software promptly crashes when close_input_file is called. Instead, this should be written like this:
AVFORMAT.av_open_input_file(ppFormatCtx, filename, null, 0, null);
final AVFormatContext formatCtx = new AVFormatContext(ppFormatCtx.getValue());
...
AVFORMAT.av_close_input_file(ppFormatCtx.getValue());
This code executes happily :)
---2
AVFormatContext has a few tweaks and fixes that were needed to solve problems caused by misaligned data. For example, ByteIOContext pb was changed to Pointer pb to match a change that occured in the header. Also, the addition of a few data structures at the end.
I'll post an updated PlayerExample that features this change next.
Update of the libAVFormat JNA Header