Xuggler 1.22 – Release Notes Get It Here.
1.22.FINAL is a feature release. We updated FFMPEG to the new 0.5 Release, and we add the ability to just demux and mux packets without decoding and encoding, and make it a little easier to access raw audio and video data from Java. Enjoy.
Latest FFMPEG release
On March 10th the FFMPEG team, after a nearly 5 year gap, announced FFMPEG 0.5, AKA “half-way to world domination A.K.A. the belligerent blue bike shed”. This release of Xuggler also includes the latest FFMPEG (actually an even newer version) in our quest to stay on FFMPEG tip of tree. Enjoy.
Use Xuggler to mux packets without encoding
You can now explicitly set (or override) the default
IStreamCoder set on an
IStream in an
IContainer. We also have a new
IStreamCoder.make(...) method that allows you to create a new
IStreamCoder by copying all the settings of another
Why is this useful? Well it means you can create an output container, and decide to set some of the output streams with the exact same settings as an input file, and then just write input packets to the output container without having to decode and re-encode (provided they are going into the same type of container).
Or put in other ways, with this change you can now demux packets from a container, and mux to another container without decoding and encoding if you like.
com.xuggle.xuggler.MuxerTest in the JUnit tests for an example of this in action.
java.nio.ByteBuffers now outlive IBuffers
In previous versions of Xuggler, using the
IBuffer.getByteBuffer() object to get raw access to the underlying bytes of a buffer was somewhat dangerous. You had to ensure that the
IBuffer you got the
java.nio.ByteBuffer from lived longer than your
This is no longer true. Now you can safely call
IBuffer.getByteBuffer() and the returned value can be safely passed around inside Java, even if the Java garbage collector collects the parent
IBuffer. You can even “cast” it to other types, like a
java.nio.ShortBuffer if you prefer for audio.
Errors on tests don’t abort test runs
In prior versions of Xuggler, any unanticipated error in a JUnit test caused the entire test-suite to stop. This is no longer the case.
Ivy upgraded to v2.0.0
From ivy 2.0.0-beta2.
There are no known critical issues in this release.
- Issue #68: Xuggler Fail MemoryAllocation Test on Debian Etch AMD x64
- Enhancement 78: Make IBuffer.getByteBuffer return java.nio.ByteBuffers that can outlive the parent IBuffer
- Enhancement 74: Need way to write encoded packets to multiple containers
- Java Tests: 184 (+3)
- Native Tests: +2
Source Control Versions
Xuggle Version: 1.22.237.Final
- Hudson Good Build
* svn://svn.mplayerhq.hu/ffmpeg/trunk : 17954
* svn://svn.ffmpeg.org/mplayer/trunk/libswscale : 28934
* http://theyard.googlecode.com/svn/theyard/code/trunk/share/gnu/cxxtest/cxxtest-3.10.1 : 170
* http://xuggle.googlecode.com/svn/trunk/build/java : 230
* http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler : 237
- Static Dependencies
* libx264: ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20090125-2245.tar.bz2
* libmp3lame: http://downloads.sourceforge.net/lame/lame-398.tar.gz: 3.98
* libspeex: http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz: 1.2 RC1
On Windows, here's what we built our installer with:
* Mingw gcc/g++ 4.2.4: http://www.tdragon.net/recentgcc/
* Msys 1.0.11
* mingw-runtime 3.15.1
* w32api 3.13
* gmake 3.81
* binutils 2.91
* yasm 0.7.2.2153
* Msys Perl 5.6
* Ant 1.7
* Java JDK 1.5
* MSFT C++ Visual Studio 2005
* NullSoft NSIS Installer 2.42
* SWIG 1.3.36 modified with doc gen capabilities
* Subversion 1.5