comparison txd.c @ 5898:cda7add41fbb libavformat

Use more appropriate return values in txd demuxer.
author reimar
date Sat, 27 Mar 2010 19:10:24 +0000
parents d4f4eb9ce54f
children 536e5527c1e0
comparison
equal deleted inserted replaced
5897:d7f41380f52c 5898:cda7add41fbb
60 id = get_le32(pb); 60 id = get_le32(pb);
61 chunk_size = get_le32(pb); 61 chunk_size = get_le32(pb);
62 marker = get_le32(pb); 62 marker = get_le32(pb);
63 63
64 if (url_feof(s->pb)) 64 if (url_feof(s->pb))
65 return AVERROR(EIO); 65 return AVERROR_EOF;
66 if (marker != TXD_MARKER && marker != TXD_MARKER2) { 66 if (marker != TXD_MARKER && marker != TXD_MARKER2) {
67 av_log(s, AV_LOG_ERROR, "marker does not match\n"); 67 av_log(s, AV_LOG_ERROR, "marker does not match\n");
68 return AVERROR(EIO); 68 return AVERROR_INVALIDDATA;
69 } 69 }
70 70
71 switch (id) { 71 switch (id) {
72 case TXD_INFO: 72 case TXD_INFO:
73 if (chunk_size > 100) 73 if (chunk_size > 100)
77 case TXD_FILE: 77 case TXD_FILE:
78 case TXD_TEXTURE: 78 case TXD_TEXTURE:
79 goto next_chunk; 79 goto next_chunk;
80 default: 80 default:
81 av_log(s, AV_LOG_ERROR, "unknown chunk id %i\n", id); 81 av_log(s, AV_LOG_ERROR, "unknown chunk id %i\n", id);
82 return AVERROR(EIO); 82 return AVERROR_INVALIDDATA;
83 } 83 }
84 84
85 ret = av_get_packet(s->pb, pkt, chunk_size); 85 ret = av_get_packet(s->pb, pkt, chunk_size);
86 if (ret < 0)
87 return ret;
86 pkt->stream_index = 0; 88 pkt->stream_index = 0;
87 89
88 return ret <= 0 ? AVERROR(EIO) : ret; 90 return 0;
89 } 91 }
90 92
91 AVInputFormat txd_demuxer = 93 AVInputFormat txd_demuxer =
92 { 94 {
93 "txd", 95 "txd",