Mercurial > libavformat.hg
comparison eacdata.c @ 5897:d7f41380f52c libavformat
eacdata: fix a memleak, return partial packets and use proper return values.
| author | reimar |
|---|---|
| date | Sat, 27 Mar 2010 19:09:46 +0000 |
| parents | 655d9d34f862 |
| children | 536e5527c1e0 |
comparison
equal
deleted
inserted
replaced
| 5896:395592984ef0 | 5897:d7f41380f52c |
|---|---|
| 81 static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt) | 81 static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt) |
| 82 { | 82 { |
| 83 CdataDemuxContext *cdata = s->priv_data; | 83 CdataDemuxContext *cdata = s->priv_data; |
| 84 int packet_size = 76*cdata->channels; | 84 int packet_size = 76*cdata->channels; |
| 85 | 85 |
| 86 if (av_get_packet(s->pb, pkt, packet_size) != packet_size) | 86 int ret = av_get_packet(s->pb, pkt, packet_size); |
| 87 return AVERROR(EIO); | 87 if (ret < 0) |
| 88 return ret; | |
| 88 pkt->pts = cdata->audio_pts++; | 89 pkt->pts = cdata->audio_pts++; |
| 89 return 1; | 90 return 0; |
| 90 } | 91 } |
| 91 | 92 |
| 92 AVInputFormat ea_cdata_demuxer = { | 93 AVInputFormat ea_cdata_demuxer = { |
| 93 "ea_cdata", | 94 "ea_cdata", |
| 94 NULL_IF_CONFIG_SMALL("Electronic Arts cdata"), | 95 NULL_IF_CONFIG_SMALL("Electronic Arts cdata"), |
