I agree with Neil. I don’t understand the licensing logic in Cortado, neither. Most of the LGPL classes have references to GPL classes, so you cannot use the LGPL part without licensing the whole as GPL. Of course, everybody is free to license its code with the license he/she chooses, and then if you don’t like it you are free not to use it. Mi intention is to use the LGPL part the best way I can without even looking at the GPL part (if you look at the GPL part you can “contaminate” the LGPL part).
Here I explain what I did:
http://www.fotosdelpais.com/octavi/pogg/doku.php?id=how_pogg_is_developed
As Neil suggests, one can translate the C version of GStreamer into Java. In fact, the package com.fluendo.jst (which has many GPL classes) is based on GStreamer. Rewriting these classes is a lot of work, but it would be perfect because we could use the com.fluendo.plugins package that has classes for audio, video and subtitles.
I am not an expert of GStreamer, but so far I understood that is made of plugins that you can connect in a pipeline. For example, you have an HttpSrc (the source that reads the file) connected to a TheoraDec (the theora decoder) and this connected to the VideoSink, the display. There are other plugins like VorbisDec and AudioSinks for the audio part. I think that the jst package has classes for the connection between plugins, but the important part is in the plugins (which fortunately are LGPL). For Pogg, I use these plugin classes removing the references to GPL classes (this is in my pogg.plugin package).
Looking at VorbisDec you may understand how to use the jorbis package to extract the audio part. Then AudioSink, AudioSinkJA and AudioSinkJ2 will help to use the javax.sound package to play it.
I don’t have much time these days, but if you make any advances I’ll be interested.
Octavi