comparison mxf.c @ 1191:976a91cec1ad libavformat

add error messages
author bcoudurier
date Fri, 28 Jul 2006 22:53:15 +0000
parents 03c0b0e61e5b
children ad731bdb7365
comparison
equal deleted inserted replaced
1190:03c0b0e61e5b 1191:976a91cec1ad
220 static int mxf_read_packet(AVFormatContext *s, AVPacket *pkt) 220 static int mxf_read_packet(AVFormatContext *s, AVPacket *pkt)
221 { 221 {
222 KLVPacket klv; 222 KLVPacket klv;
223 223
224 while (!url_feof(&s->pb)) { 224 while (!url_feof(&s->pb)) {
225 if (klv_read_packet(&klv, &s->pb) < 0) 225 if (klv_read_packet(&klv, &s->pb) < 0) {
226 av_log(s, AV_LOG_ERROR, "error reading KLV packet\n");
226 return -1; 227 return -1;
228 }
227 if (IS_KLV_KEY(klv.key, mxf_essence_element_key)) { 229 if (IS_KLV_KEY(klv.key, mxf_essence_element_key)) {
228 av_get_packet(&s->pb, pkt, klv.length); 230 av_get_packet(&s->pb, pkt, klv.length);
229 pkt->stream_index = mxf_get_stream_index(s, &klv); 231 pkt->stream_index = mxf_get_stream_index(s, &klv);
230 if (pkt->stream_index == -1) 232 if (pkt->stream_index == -1)
231 return -1; 233 return -1;
820 KLVPacket klv; 822 KLVPacket klv;
821 int ret = 0; 823 int ret = 0;
822 824
823 mxf->fc = s; 825 mxf->fc = s;
824 while (!url_feof(&s->pb)) { 826 while (!url_feof(&s->pb)) {
825 if (klv_read_packet(&klv, &s->pb) < 0) 827 if (klv_read_packet(&klv, &s->pb) < 0) {
828 av_log(s, AV_LOG_ERROR, "error reading KLV packet\n");
826 return -1; 829 return -1;
830 }
827 if (IS_KLV_KEY(klv.key, mxf_metadata_track_key)) 831 if (IS_KLV_KEY(klv.key, mxf_metadata_track_key))
828 ret = mxf_read_metadata_track(mxf, &klv); 832 ret = mxf_read_metadata_track(mxf, &klv);
829 else if (IS_KLV_KEY(klv.key, mxf_metadata_static_track_key)) 833 else if (IS_KLV_KEY(klv.key, mxf_metadata_static_track_key))
830 ret = mxf_read_metadata_track(mxf, &klv); 834 ret = mxf_read_metadata_track(mxf, &klv);
831 else if (IS_KLV_KEY(klv.key, mxf_metadata_source_package_key)) 835 else if (IS_KLV_KEY(klv.key, mxf_metadata_source_package_key))
854 /* FIXME avoid seek */ 858 /* FIXME avoid seek */
855 url_fseek(&s->pb, klv.offset, SEEK_SET); 859 url_fseek(&s->pb, klv.offset, SEEK_SET);
856 break; 860 break;
857 } else 861 } else
858 url_fskip(&s->pb, klv.length); 862 url_fskip(&s->pb, klv.length);
859 if (ret < 0) 863 if (ret < 0) {
864 av_log(s, AV_LOG_ERROR, "error reading header metadata\n");
860 return ret; 865 return ret;
866 }
861 } 867 }
862 return mxf_parse_structural_metadata(mxf); 868 return mxf_parse_structural_metadata(mxf);
863 } 869 }
864 870
865 static int mxf_read_close(AVFormatContext *s) 871 static int mxf_read_close(AVFormatContext *s)