@ -51,17 +51,17 @@ static int zerocodec_decode_frame(AVCodecContext *avctx, void *data,
pic - > pict_type = AV_PICTURE_TYPE_P ;
pic - > pict_type = AV_PICTURE_TYPE_P ;
}
}
if ( avctx - > get_buffer ( avctx , pic ) < 0 ) {
av_log ( avctx , AV_LOG_ERROR , " Could not allocate buffer. \n " ) ;
return AVERROR ( ENOMEM ) ;
}
zret = inflateReset ( zstream ) ;
zret = inflateReset ( zstream ) ;
if ( zret ! = Z_OK ) {
if ( zret ! = Z_OK ) {
av_log ( avctx , AV_LOG_ERROR , " Could not reset inflate: %d. \n " , zret ) ;
av_log ( avctx , AV_LOG_ERROR , " Could not reset inflate: %d. \n " , zret ) ;
return AVERROR_INVALIDDATA ;
return AVERROR_INVALIDDATA ;
}
}
if ( avctx - > get_buffer ( avctx , pic ) < 0 ) {
av_log ( avctx , AV_LOG_ERROR , " Could not allocate buffer. \n " ) ;
return AVERROR ( ENOMEM ) ;
}
zstream - > next_in = avpkt - > data ;
zstream - > next_in = avpkt - > data ;
zstream - > avail_in = avpkt - > size ;
zstream - > avail_in = avpkt - > size ;
@ -78,6 +78,7 @@ static int zerocodec_decode_frame(AVCodecContext *avctx, void *data,
zret = inflate ( zstream , Z_SYNC_FLUSH ) ;
zret = inflate ( zstream , Z_SYNC_FLUSH ) ;
if ( zret ! = Z_OK & & zret ! = Z_STREAM_END ) {
if ( zret ! = Z_OK & & zret ! = Z_STREAM_END ) {
avctx - > release_buffer ( avctx , pic ) ;
av_log ( avctx , AV_LOG_ERROR ,
av_log ( avctx , AV_LOG_ERROR ,
" Inflate failed with return code: %d. \n " , zret ) ;
" Inflate failed with return code: %d. \n " , zret ) ;
return AVERROR_INVALIDDATA ;
return AVERROR_INVALIDDATA ;