protected internal virtual bool decodeFrame()
{
try
{
AudioDevice out_Renamed = audio;
if (out_Renamed == null)
return false;
Header h = bitstream.readFrame();
if (h == null)
return false;
// sample buffer set when decoder constructed
SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h, bitstream);
lock (this)
{
out_Renamed = audio;
if (out_Renamed != null)
{
out_Renamed.write(output.Buffer, 0, output.BufferLength);
}
}
bitstream.closeFrame();
}
catch (System.SystemException ex)
{
throw new JavaLayerException("Exception decoding audio frame", ex);
}
/*
catch (IOException ex)
{
System.out.println("exception decoding audio frame: "+ex);
return false;
}
catch (BitstreamException bitex)
{
System.out.println("exception decoding audio frame: "+bitex);
return false;
}
catch (DecoderException decex)
{
System.out.println("exception decoding audio frame: "+decex);
return false;
}*/
return true;
}