Mercurial > libavformat.hg
comparison mxf.c @ 1194:f20dada04de5 libavformat
use ternary
author | bcoudurier |
---|---|
date | Fri, 28 Jul 2006 23:07:03 +0000 |
parents | fcc6f52e2cf1 |
children | a2a8d2c544aa |
comparison
equal
deleted
inserted
replaced
1193:fcc6f52e2cf1 | 1194:f20dada04de5 |
---|---|
195 static int klv_read_packet(KLVPacket *klv, ByteIOContext *pb) | 195 static int klv_read_packet(KLVPacket *klv, ByteIOContext *pb) |
196 { | 196 { |
197 klv->offset = url_ftell(pb); | 197 klv->offset = url_ftell(pb); |
198 get_buffer(pb, klv->key, 16); | 198 get_buffer(pb, klv->key, 16); |
199 klv->length = klv_decode_ber_length(pb); | 199 klv->length = klv_decode_ber_length(pb); |
200 if (klv->length == -1) | 200 return klv->length == -1 ? -1 : 0; |
201 return -1; | |
202 else | |
203 return 0; | |
204 } | 201 } |
205 | 202 |
206 static int mxf_get_stream_index(AVFormatContext *s, KLVPacket *klv) | 203 static int mxf_get_stream_index(AVFormatContext *s, KLVPacket *klv) |
207 { | 204 { |
208 int id = BE_32(klv->key + 12); /* SMPTE 379M 7.3 */ | 205 int id = BE_32(klv->key + 12); /* SMPTE 379M 7.3 */ |
225 return -1; | 222 return -1; |
226 } | 223 } |
227 if (IS_KLV_KEY(klv.key, mxf_essence_element_key)) { | 224 if (IS_KLV_KEY(klv.key, mxf_essence_element_key)) { |
228 av_get_packet(&s->pb, pkt, klv.length); | 225 av_get_packet(&s->pb, pkt, klv.length); |
229 pkt->stream_index = mxf_get_stream_index(s, &klv); | 226 pkt->stream_index = mxf_get_stream_index(s, &klv); |
230 if (pkt->stream_index == -1) | 227 return pkt->stream_index == -1 ? -1 : 0; |
231 return -1; | |
232 return 0; | |
233 } else | 228 } else |
234 url_fskip(&s->pb, klv.length); | 229 url_fskip(&s->pb, klv.length); |
235 } | 230 } |
236 return AVERROR_IO; | 231 return AVERROR_IO; |
237 } | 232 } |