Hi Lo.
I'm in a bit of a hurry right now, I'll have a look asap, thanks for the
fix :-) ...
Sebastien
Lorenzo Pastrana wrote:
Not relying on stream state (stopping on image completion) is actually
even better ... :)
bool nglImageJPEGCodec::Feed(nglIStream* pIStream)
{
while(pIStream->Available() && pIStream->GetState() == eStreamReady)
{
switch(mState)
{
case jpegReadHeader:
if(!ReadHeader(pIStream))
{
jpeg_finish_decompress(&mCinfo);
jpeg_destroy_decompress(&mCinfo);
return false;
}
mpBuffer = mpImage->GetBuffer() +
mLineSize*(mpImage->GetHeight()-1);
mState = jpegReadData;
/*fallthrough*/
case(jpegReadData):
ReadData();
SendData((float)mLine/(float)mpImage->GetHeight());
if(mCinfo.output_scanline >= mCinfo.output_height)
{
return false;
}
break;
case(jpegError):
return false;
}
}
return (pIStream->GetState()==eStreamWait) ||
(pIStream->GetState()==eStreamReady);
}
Lo.
_______________________________________________
https://mail.gna.org/listinfo/ngl-devel
_______________________________________________
https://mail.gna.org/listinfo/ngl-devel