eacdata: fix a memleak, return partial packets and use proper return values.

Originally committed as revision 22702 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Reimar Döffinger 2010-03-27 19:09:46 +00:00
parent 227d1b98a1
commit 36031c2033

View File

@ -83,10 +83,11 @@ static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt)
CdataDemuxContext *cdata = s->priv_data; CdataDemuxContext *cdata = s->priv_data;
int packet_size = 76*cdata->channels; int packet_size = 76*cdata->channels;
if (av_get_packet(s->pb, pkt, packet_size) != packet_size) int ret = av_get_packet(s->pb, pkt, packet_size);
return AVERROR(EIO); if (ret < 0)
return ret;
pkt->pts = cdata->audio_pts++; pkt->pts = cdata->audio_pts++;
return 1; return 0;
} }
AVInputFormat ea_cdata_demuxer = { AVInputFormat ea_cdata_demuxer = {