When IContainer.queryStreamMetaData() is called while another thread is
calling a Xuggler method, sometimes FFMPEG will complain about insufficient
thread locking.
The fix is horrible -- we have to make sure that any call to
IContainer.queryStreamMetaData() holds the global lock (previously only
IStreamCoder.open() and IStreamCoder.close() had to hold it).
This means IF you have a container that cannot have dynamic streams added,
we have to block any xuggler threads when querying stream meta data until
we've found at least one packet from each stream the header claims is in
the file. Sorry folks, no way around it, as this is how FFMPEG rolls.
Original issue reported on code.google.com by art.cla...@gmail.com on 7 May 2009 at 12:00
Original issue reported on code.google.com by
art.cla...@gmail.com
on 7 May 2009 at 12:00