* commit '67deba8a416d818f3d95aef0aa916589090396e2':
Use avpriv_report_missing_feature() where appropriate
Merged-by: Clément Bœsch <cboesch@gopro.com>
... | ... |
@@ -251,7 +251,7 @@ static int decode_element(AVCodecContext *avctx, AVFrame *frame, int ch_index, |
251 | 251 |
alac->extra_bits = get_bits(&alac->gb, 2) << 3; |
252 | 252 |
bps = alac->sample_size - alac->extra_bits + channels - 1; |
253 | 253 |
if (bps > 32U) { |
254 |
- av_log(avctx, AV_LOG_ERROR, "bps is unsupported: %d\n", bps); |
|
254 |
+ avpriv_report_missing_feature(avctx, "bps %d", bps); |
|
255 | 255 |
return AVERROR_PATCHWELCOME; |
256 | 256 |
} |
257 | 257 |
|
... | ... |
@@ -431,7 +431,7 @@ static int alac_decode_frame(AVCodecContext *avctx, void *data, |
431 | 431 |
break; |
432 | 432 |
} |
433 | 433 |
if (element > TYPE_CPE && element != TYPE_LFE) { |
434 |
- av_log(avctx, AV_LOG_ERROR, "syntax element unsupported: %d\n", element); |
|
434 |
+ avpriv_report_missing_feature(avctx, "Syntax element %d", element); |
|
435 | 435 |
return AVERROR_PATCHWELCOME; |
436 | 436 |
} |
437 | 437 |
|
... | ... |
@@ -583,8 +583,8 @@ static av_cold int alac_decode_init(AVCodecContext * avctx) |
583 | 583 |
avctx->channels = alac->channels; |
584 | 584 |
} |
585 | 585 |
if (avctx->channels > ALAC_MAX_CHANNELS || avctx->channels <= 0 ) { |
586 |
- av_log(avctx, AV_LOG_ERROR, "Unsupported channel count: %d\n", |
|
587 |
- avctx->channels); |
|
586 |
+ avpriv_report_missing_feature(avctx, "Channel count %d", |
|
587 |
+ avctx->channels); |
|
588 | 588 |
return AVERROR_PATCHWELCOME; |
589 | 589 |
} |
590 | 590 |
avctx->channel_layout = ff_alac_channel_layouts[alac->channels - 1]; |
... | ... |
@@ -100,7 +100,8 @@ static int bmp_decode_frame(AVCodecContext *avctx, |
100 | 100 |
height = bytestream_get_le16(&buf); |
101 | 101 |
break; |
102 | 102 |
default: |
103 |
- av_log(avctx, AV_LOG_ERROR, "unsupported BMP file, patch welcome\n"); |
|
103 |
+ avpriv_report_missing_feature(avctx, "Information header size %u", |
|
104 |
+ ihsize); |
|
104 | 105 |
return AVERROR_PATCHWELCOME; |
105 | 106 |
} |
106 | 107 |
|
... | ... |
@@ -160,9 +160,7 @@ static int decode_frame(AVCodecContext *avctx, |
160 | 160 |
header_size = (header & (1<<30))? 8 : 4; /* bit 30 means pad to 8 bytes */ |
161 | 161 |
|
162 | 162 |
if (version > 5) { |
163 |
- av_log(avctx, AV_LOG_ERROR, |
|
164 |
- "This file is encoded with Fraps version %u. " |
|
165 |
- "This codec can only decode versions <= 5.\n", version); |
|
163 |
+ avpriv_report_missing_feature(avctx, "Fraps version %u", version); |
|
166 | 164 |
return AVERROR_PATCHWELCOME; |
167 | 165 |
} |
168 | 166 |
|
... | ... |
@@ -1442,9 +1442,8 @@ static int g2m_decode_frame(AVCodecContext *avctx, void *data, |
1442 | 1442 |
} |
1443 | 1443 |
c->compression = bytestream2_get_be32(&bc); |
1444 | 1444 |
if (c->compression != 2 && c->compression != 3) { |
1445 |
- av_log(avctx, AV_LOG_ERROR, |
|
1446 |
- "Unknown compression method %d\n", |
|
1447 |
- c->compression); |
|
1445 |
+ avpriv_report_missing_feature(avctx, "Compression method %d", |
|
1446 |
+ c->compression); |
|
1448 | 1447 |
ret = AVERROR_PATCHWELCOME; |
1449 | 1448 |
goto header_fail; |
1450 | 1449 |
} |
... | ... |
@@ -1475,9 +1474,9 @@ static int g2m_decode_frame(AVCodecContext *avctx, void *data, |
1475 | 1475 |
g_mask = bytestream2_get_be32(&bc); |
1476 | 1476 |
b_mask = bytestream2_get_be32(&bc); |
1477 | 1477 |
if (r_mask != 0xFF0000 || g_mask != 0xFF00 || b_mask != 0xFF) { |
1478 |
- av_log(avctx, AV_LOG_ERROR, |
|
1479 |
- "Invalid or unsupported bitmasks: R=%"PRIX32", G=%"PRIX32", B=%"PRIX32"\n", |
|
1480 |
- r_mask, g_mask, b_mask); |
|
1478 |
+ avpriv_report_missing_feature(avctx, |
|
1479 |
+ "Bitmasks: R=%"PRIX32", G=%"PRIX32", B=%"PRIX32, |
|
1480 |
+ r_mask, g_mask, b_mask); |
|
1481 | 1481 |
ret = AVERROR_PATCHWELCOME; |
1482 | 1482 |
goto header_fail; |
1483 | 1483 |
} |
... | ... |
@@ -57,7 +57,8 @@ static av_cold int g723_1_encode_init(AVCodecContext *avctx) |
57 | 57 |
if (avctx->bit_rate == 6300) { |
58 | 58 |
p->cur_rate = RATE_6300; |
59 | 59 |
} else if (avctx->bit_rate == 5300) { |
60 |
- av_log(avctx, AV_LOG_ERROR, "Bitrate not supported yet, use 6300\n"); |
|
60 |
+ av_log(avctx, AV_LOG_ERROR, "Use bitrate 6300 instead of 5300.\n"); |
|
61 |
+ avpriv_report_missing_feature(avctx, "Bitrate 5300"); |
|
61 | 62 |
return AVERROR_PATCHWELCOME; |
62 | 63 |
} else { |
63 | 64 |
av_log(avctx, AV_LOG_ERROR, "Bitrate not supported, use 6300\n"); |
... | ... |
@@ -774,8 +774,8 @@ int ff_h264_decode_picture_parameter_set(GetBitContext *gb, AVCodecContext *avct |
774 | 774 |
ret = AVERROR_INVALIDDATA; |
775 | 775 |
goto fail; |
776 | 776 |
} else if (sps->bit_depth_luma == 11 || sps->bit_depth_luma == 13) { |
777 |
- av_log(avctx, AV_LOG_ERROR, |
|
778 |
- "Unimplemented luma bit depth=%d\n", |
|
777 |
+ avpriv_report_missing_feature(avctx, |
|
778 |
+ "Unimplemented luma bit depth=%d", |
|
779 | 779 |
sps->bit_depth_luma); |
780 | 780 |
ret = AVERROR_PATCHWELCOME; |
781 | 781 |
goto fail; |
... | ... |
@@ -90,9 +90,10 @@ int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id, |
90 | 90 |
put_bits(&pb, 6, vps->vps_max_layer_id); |
91 | 91 |
set_ue_golomb(&pb, vps->vps_num_layer_sets - 1); |
92 | 92 |
|
93 |
- // writing layer_id_included_flag not supported |
|
94 |
- if (vps->vps_num_layer_sets > 1) |
|
93 |
+ if (vps->vps_num_layer_sets > 1) { |
|
94 |
+ avpriv_report_missing_feature(NULL, "Writing layer_id_included_flag"); |
|
95 | 95 |
return AVERROR_PATCHWELCOME; |
96 |
+ } |
|
96 | 97 |
|
97 | 98 |
put_bits(&pb, 1, vps->vps_timing_info_present_flag); |
98 | 99 |
if (vps->vps_timing_info_present_flag) { |
... | ... |
@@ -102,9 +103,10 @@ int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id, |
102 | 102 |
if (vps->vps_poc_proportional_to_timing_flag) |
103 | 103 |
set_ue_golomb(&pb, vps->vps_num_ticks_poc_diff_one - 1); |
104 | 104 |
|
105 |
- // writing HRD parameters not supported |
|
106 |
- if (vps->vps_num_hrd_parameters) |
|
105 |
+ if (vps->vps_num_hrd_parameters) { |
|
106 |
+ avpriv_report_missing_feature(NULL, "Writing HRD parameters"); |
|
107 | 107 |
return AVERROR_PATCHWELCOME; |
108 |
+ } |
|
108 | 109 |
} |
109 | 110 |
|
110 | 111 |
put_bits(&pb, 1, 0); // extension flag |
... | ... |
@@ -540,7 +540,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx, |
540 | 540 |
} |
541 | 541 |
break; |
542 | 542 |
default: |
543 |
- av_log(avctx, AV_LOG_ERROR, "unsupported pixel size %d\n", pixel_size); |
|
543 |
+ avpriv_report_missing_feature(avctx, "Pixel size %d", pixel_size); |
|
544 | 544 |
ret = AVERROR_PATCHWELCOME; |
545 | 545 |
goto done; |
546 | 546 |
} |
... | ... |
@@ -586,13 +586,13 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) |
586 | 586 |
break; |
587 | 587 |
default: |
588 | 588 |
unk_pixfmt: |
589 |
- av_log(s->avctx, AV_LOG_ERROR, "Unhandled pixel format 0x%x bits:%d\n", pix_fmt_id, s->bits); |
|
589 |
+ avpriv_report_missing_feature(s->avctx, "Pixel format 0x%x bits:%d", pix_fmt_id, s->bits); |
|
590 | 590 |
memset(s->upscale_h, 0, sizeof(s->upscale_h)); |
591 | 591 |
memset(s->upscale_v, 0, sizeof(s->upscale_v)); |
592 | 592 |
return AVERROR_PATCHWELCOME; |
593 | 593 |
} |
594 | 594 |
if ((AV_RB32(s->upscale_h) || AV_RB32(s->upscale_v)) && s->avctx->lowres) { |
595 |
- av_log(s->avctx, AV_LOG_ERROR, "lowres not supported for weird subsampling\n"); |
|
595 |
+ avpriv_report_missing_feature(s->avctx, "Lowres for weird subsampling"); |
|
596 | 596 |
return AVERROR_PATCHWELCOME; |
597 | 597 |
} |
598 | 598 |
if (s->ls) { |
... | ... |
@@ -1483,8 +1483,9 @@ int ff_mjpeg_decode_sos(MJpegDecodeContext *s, const uint8_t *mb_bitmask, |
1483 | 1483 |
len = get_bits(&s->gb, 16); |
1484 | 1484 |
nb_components = get_bits(&s->gb, 8); |
1485 | 1485 |
if (nb_components == 0 || nb_components > MAX_COMPONENTS) { |
1486 |
- av_log(s->avctx, AV_LOG_ERROR, |
|
1487 |
- "decode_sos: nb_components (%d) unsupported\n", nb_components); |
|
1486 |
+ avpriv_report_missing_feature(s->avctx, |
|
1487 |
+ "decode_sos: nb_components (%d)", |
|
1488 |
+ nb_components); |
|
1488 | 1489 |
return AVERROR_PATCHWELCOME; |
1489 | 1490 |
} |
1490 | 1491 |
if (len != 6 + 2 * nb_components) { |
... | ... |
@@ -807,7 +807,7 @@ int ff_silk_decode_superframe(SilkContext *s, OpusRangeCoder *rc, |
807 | 807 |
|
808 | 808 |
redundancy[i] = ff_opus_rc_dec_log(rc, 1); |
809 | 809 |
if (redundancy[i]) { |
810 |
- av_log(s->avctx, AV_LOG_ERROR, "LBRR frames present; this is unsupported\n"); |
|
810 |
+ avpriv_report_missing_feature(s->avctx, "LBRR frames"); |
|
811 | 811 |
return AVERROR_PATCHWELCOME; |
812 | 812 |
} |
813 | 813 |
} |
... | ... |
@@ -627,8 +627,8 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data, |
627 | 627 |
case FN_BLOCKSIZE: { |
628 | 628 |
unsigned blocksize = get_uint(s, av_log2(s->blocksize)); |
629 | 629 |
if (blocksize > s->blocksize) { |
630 |
- av_log(avctx, AV_LOG_ERROR, |
|
631 |
- "Increasing block size is not supported\n"); |
|
630 |
+ avpriv_report_missing_feature(avctx, |
|
631 |
+ "Increasing block size"); |
|
632 | 632 |
return AVERROR_PATCHWELCOME; |
633 | 633 |
} |
634 | 634 |
if (!blocksize || blocksize > MAX_BLOCKSIZE) { |
... | ... |
@@ -702,7 +702,7 @@ static int tak_decode_frame(AVCodecContext *avctx, void *data, |
702 | 702 |
|
703 | 703 |
if (s->ti.codec != TAK_CODEC_MONO_STEREO && |
704 | 704 |
s->ti.codec != TAK_CODEC_MULTICHANNEL) { |
705 |
- av_log(avctx, AV_LOG_ERROR, "unsupported codec: %d\n", s->ti.codec); |
|
705 |
+ avpriv_report_missing_feature(avctx, "TAK codec type %d", s->ti.codec); |
|
706 | 706 |
return AVERROR_PATCHWELCOME; |
707 | 707 |
} |
708 | 708 |
if (s->ti.data_type) { |
... | ... |
@@ -56,8 +56,7 @@ static int txd_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, |
56 | 56 |
flags = bytestream2_get_byte(&gb); |
57 | 57 |
|
58 | 58 |
if (version < 8 || version > 9) { |
59 |
- av_log(avctx, AV_LOG_ERROR, "texture data version %u is unsupported\n", |
|
60 |
- version); |
|
59 |
+ avpriv_report_missing_feature(avctx, "Texture data version %u", version); |
|
61 | 60 |
return AVERROR_PATCHWELCOME; |
62 | 61 |
} |
63 | 62 |
|
... | ... |
@@ -66,7 +65,7 @@ static int txd_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, |
66 | 66 |
} else if (depth == 16 || depth == 32) { |
67 | 67 |
avctx->pix_fmt = AV_PIX_FMT_RGBA; |
68 | 68 |
} else { |
69 |
- av_log(avctx, AV_LOG_ERROR, "depth of %u is unsupported\n", depth); |
|
69 |
+ avpriv_report_missing_feature(avctx, "Color depth of %u", depth); |
|
70 | 70 |
return AVERROR_PATCHWELCOME; |
71 | 71 |
} |
72 | 72 |
|
... | ... |
@@ -149,7 +148,7 @@ static int txd_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, |
149 | 149 |
return avpkt->size; |
150 | 150 |
|
151 | 151 |
unsupported: |
152 |
- av_log(avctx, AV_LOG_ERROR, "unsupported d3d format (%08x)\n", d3d_format); |
|
152 |
+ avpriv_report_missing_feature(avctx, "d3d format (%08x)", d3d_format); |
|
153 | 153 |
return AVERROR_PATCHWELCOME; |
154 | 154 |
} |
155 | 155 |
|
... | ... |
@@ -53,7 +53,7 @@ static int vp5_parse_header(VP56Context *s, const uint8_t *buf, int buf_size) |
53 | 53 |
return AVERROR_INVALIDDATA; |
54 | 54 |
vp56_rac_gets(c, 2); |
55 | 55 |
if (vp56_rac_get(c)) { |
56 |
- av_log(s->avctx, AV_LOG_ERROR, "interlacing not supported\n"); |
|
56 |
+ avpriv_report_missing_feature(s->avctx, "Interlacing"); |
|
57 | 57 |
return AVERROR_PATCHWELCOME; |
58 | 58 |
} |
59 | 59 |
rows = vp56_rac_gets(c, 8); /* number of stored macroblock rows */ |
... | ... |
@@ -387,8 +387,7 @@ static int vfw_read_header(AVFormatContext *s) |
387 | 387 |
if (par->format == AV_PIX_FMT_NONE) { |
388 | 388 |
par->codec_id = vfw_codecid(biCompression); |
389 | 389 |
if (par->codec_id == AV_CODEC_ID_NONE) { |
390 |
- av_log(s, AV_LOG_ERROR, "Unknown compression type. " |
|
391 |
- "Please report verbose (-v 9) debug information.\n"); |
|
390 |
+ avpriv_report_missing_feature(s, "This compression type"); |
|
392 | 391 |
vfw_read_close(s); |
393 | 392 |
return AVERROR_PATCHWELCOME; |
394 | 393 |
} |
... | ... |
@@ -509,7 +509,7 @@ static int pixfmt_from_pixmap_format(AVFormatContext *s, int depth, |
509 | 509 |
|
510 | 510 |
fmt++; |
511 | 511 |
} |
512 |
- av_log(s, AV_LOG_ERROR, "Pixmap format not mappable.\n"); |
|
512 |
+ avpriv_report_missing_feature(s, "Mapping this pixmap format"); |
|
513 | 513 |
|
514 | 514 |
return AVERROR_PATCHWELCOME; |
515 | 515 |
} |
... | ... |
@@ -368,8 +368,7 @@ static int avi_write_header(AVFormatContext *s) |
368 | 368 |
// XSUB subtitles behave like video tracks, other subtitles |
369 | 369 |
// are not (yet) supported. |
370 | 370 |
if (par->codec_id != AV_CODEC_ID_XSUB) { |
371 |
- av_log(s, AV_LOG_ERROR, |
|
372 |
- "Subtitle streams other than DivX XSUB are not supported by the AVI muxer.\n"); |
|
371 |
+ avpriv_report_missing_feature(s, "Subtitle streams other than DivX XSUB"); |
|
373 | 372 |
return AVERROR_PATCHWELCOME; |
374 | 373 |
} |
375 | 374 |
case AVMEDIA_TYPE_VIDEO: |
... | ... |
@@ -181,7 +181,7 @@ static int get_packet_header(AVFormatContext *s) |
181 | 181 |
st->codecpar->bits_per_coded_sample = (audio_format >> 6) & 0x3F; |
182 | 182 |
|
183 | 183 |
if (st->codecpar->bits_per_coded_sample != (audio_format & 0x3F)) { |
184 |
- av_log(s, AV_LOG_WARNING, "only tightly packed PCM currently supported\n"); |
|
184 |
+ avpriv_report_missing_feature(s, "Not tightly packed PCM"); |
|
185 | 185 |
return AVERROR_PATCHWELCOME; |
186 | 186 |
} |
187 | 187 |
|
... | ... |
@@ -191,8 +191,7 @@ static int get_packet_header(AVFormatContext *s) |
191 | 191 |
case 24: st->codecpar->codec_id = AV_CODEC_ID_PCM_S24LE_PLANAR; break; |
192 | 192 |
case 32: st->codecpar->codec_id = AV_CODEC_ID_PCM_S32LE_PLANAR; break; |
193 | 193 |
default: |
194 |
- av_log(s, AV_LOG_WARNING, |
|
195 |
- "only 16-, 20-, 24- and 32-bit PCM currently supported\n"); |
|
194 |
+ avpriv_report_missing_feature(s, "PCM not 16-, 20-, 24- or 32-bits"); |
|
196 | 195 |
return AVERROR_PATCHWELCOME; |
197 | 196 |
} |
198 | 197 |
|
... | ... |
@@ -2548,10 +2548,9 @@ static int matroska_read_header(AVFormatContext *s) |
2548 | 2548 |
ebml.max_size > sizeof(uint64_t) || |
2549 | 2549 |
ebml.id_length > sizeof(uint32_t) || |
2550 | 2550 |
ebml.doctype_version > 3) { |
2551 |
- av_log(matroska->ctx, AV_LOG_ERROR, |
|
2552 |
- "EBML header using unsupported features\n" |
|
2553 |
- "(EBML version %"PRIu64", doctype %s, doc version %"PRIu64")\n", |
|
2554 |
- ebml.version, ebml.doctype, ebml.doctype_version); |
|
2551 |
+ avpriv_report_missing_feature(matroska->ctx, |
|
2552 |
+ "EBML version %"PRIu64", doctype %s, doc version %"PRIu64, |
|
2553 |
+ ebml.version, ebml.doctype, ebml.doctype_version); |
|
2555 | 2554 |
ebml_free(ebml_syntax, &ebml); |
2556 | 2555 |
return AVERROR_PATCHWELCOME; |
2557 | 2556 |
} else if (ebml.doctype_version == 3) { |
... | ... |
@@ -239,7 +239,7 @@ static int mpc8_read_header(AVFormatContext *s) |
239 | 239 |
avio_skip(pb, 4); //CRC |
240 | 240 |
c->ver = avio_r8(pb); |
241 | 241 |
if(c->ver != 8){ |
242 |
- av_log(s, AV_LOG_ERROR, "Unknown stream version %d\n", c->ver); |
|
242 |
+ avpriv_report_missing_feature(s, "Stream version %d", c->ver); |
|
243 | 243 |
return AVERROR_PATCHWELCOME; |
244 | 244 |
} |
245 | 245 |
c->samples = ffio_read_varlen(pb); |
... | ... |
@@ -50,7 +50,7 @@ static int rso_write_header(AVFormatContext *s) |
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
if (par->codec_id == AV_CODEC_ID_ADPCM_IMA_WAV) { |
53 |
- av_log(s, AV_LOG_ERROR, "ADPCM in RSO not implemented\n"); |
|
53 |
+ avpriv_report_missing_feature(s, "ADPCM in RSO"); |
|
54 | 54 |
return AVERROR_PATCHWELCOME; |
55 | 55 |
} |
56 | 56 |
|
... | ... |
@@ -247,7 +247,7 @@ static int jpeg_parse_packet(AVFormatContext *ctx, PayloadContext *jpeg, |
247 | 247 |
type &= ~0x40; |
248 | 248 |
} |
249 | 249 |
if (type > 1) { |
250 |
- av_log(ctx, AV_LOG_ERROR, "Unimplemented RTP/JPEG type %"PRIu8"\n", type); |
|
250 |
+ avpriv_report_missing_feature(ctx, "RTP/JPEG type %"PRIu8, type); |
|
251 | 251 |
return AVERROR_PATCHWELCOME; |
252 | 252 |
} |
253 | 253 |
|
... | ... |
@@ -109,9 +109,9 @@ static int parse_fmtp_config(AVStream *st, const char *value) |
109 | 109 |
num_layers = get_bits(&gb, 3); |
110 | 110 |
if (audio_mux_version != 0 || same_time_framing != 1 || num_programs != 0 || |
111 | 111 |
num_layers != 0) { |
112 |
- av_log(NULL, AV_LOG_WARNING, "Unsupported LATM config (%d,%d,%d,%d)\n", |
|
113 |
- audio_mux_version, same_time_framing, |
|
114 |
- num_programs, num_layers); |
|
112 |
+ avpriv_report_missing_feature(NULL, "LATM config (%d,%d,%d,%d)", |
|
113 |
+ audio_mux_version, same_time_framing, |
|
114 |
+ num_programs, num_layers); |
|
115 | 115 |
ret = AVERROR_PATCHWELCOME; |
116 | 116 |
goto end; |
117 | 117 |
} |
... | ... |
@@ -108,15 +108,14 @@ static int xiph_handle_packet(AVFormatContext *ctx, PayloadContext *data, |
108 | 108 |
} |
109 | 109 |
|
110 | 110 |
if (ident != data->ident) { |
111 |
- av_log(ctx, AV_LOG_ERROR, |
|
112 |
- "Unimplemented Xiph SDP configuration change detected\n"); |
|
111 |
+ avpriv_report_missing_feature(ctx, "Xiph SDP configuration change"); |
|
113 | 112 |
return AVERROR_PATCHWELCOME; |
114 | 113 |
} |
115 | 114 |
|
116 | 115 |
if (tdt) { |
117 |
- av_log(ctx, AV_LOG_ERROR, |
|
118 |
- "Unimplemented RTP Xiph packet settings (%d,%d,%d)\n", |
|
119 |
- fragmented, tdt, num_pkts); |
|
116 |
+ avpriv_report_missing_feature(ctx, |
|
117 |
+ "RTP Xiph packet settings (%d,%d,%d)", |
|
118 |
+ fragmented, tdt, num_pkts); |
|
120 | 119 |
return AVERROR_PATCHWELCOME; |
121 | 120 |
} |
122 | 121 |
|
... | ... |
@@ -246,9 +245,8 @@ parse_packed_headers(AVFormatContext *s, |
246 | 246 |
length2 = get_base128(&packed_headers, packed_headers_end); |
247 | 247 |
|
248 | 248 |
if (num_packed != 1 || num_headers > 3) { |
249 |
- av_log(s, AV_LOG_ERROR, |
|
250 |
- "Unimplemented number of headers: %u packed headers, %u headers\n", |
|
251 |
- num_packed, num_headers); |
|
249 |
+ avpriv_report_missing_feature(s, "%u packed headers, %u headers", |
|
250 |
+ num_packed, num_headers); |
|
252 | 251 |
return AVERROR_PATCHWELCOME; |
253 | 252 |
} |
254 | 253 |
|
... | ... |
@@ -1340,8 +1340,7 @@ static int rtsp_send_cmd_with_content_async(AVFormatContext *s, |
1340 | 1340 |
ffurl_write(rt->rtsp_hd_out, out_buf, strlen(out_buf)); |
1341 | 1341 |
if (send_content_length > 0 && send_content) { |
1342 | 1342 |
if (rt->control_transport == RTSP_MODE_TUNNEL) { |
1343 |
- av_log(s, AV_LOG_ERROR, "tunneling of RTSP requests " |
|
1344 |
- "with content data not supported\n"); |
|
1343 |
+ avpriv_report_missing_feature(s, "Tunneling of RTSP requests with content data"); |
|
1345 | 1344 |
return AVERROR_PATCHWELCOME; |
1346 | 1345 |
} |
1347 | 1346 |
ffurl_write(rt->rtsp_hd_out, send_content, send_content_length); |
... | ... |
@@ -470,7 +470,8 @@ static int spdif_write_header(AVFormatContext *s) |
470 | 470 |
return AVERROR(ENOMEM); |
471 | 471 |
break; |
472 | 472 |
default: |
473 |
- av_log(s, AV_LOG_ERROR, "codec not supported\n"); |
|
473 |
+ avpriv_report_missing_feature(s, "Codec %d", |
|
474 |
+ s->streams[0]->codecpar->codec_id); |
|
474 | 475 |
return AVERROR_PATCHWELCOME; |
475 | 476 |
} |
476 | 477 |
return 0; |
... | ... |
@@ -98,7 +98,8 @@ static int wv_read_block_header(AVFormatContext *ctx, AVIOContext *pb) |
98 | 98 |
} |
99 | 99 |
|
100 | 100 |
if (wc->header.version < 0x402 || wc->header.version > 0x410) { |
101 |
- av_log(ctx, AV_LOG_ERROR, "Unsupported version %03X\n", wc->header.version); |
|
101 |
+ avpriv_report_missing_feature(ctx, "WV version 0x%03X", |
|
102 |
+ wc->header.version); |
|
102 | 103 |
return AVERROR_PATCHWELCOME; |
103 | 104 |
} |
104 | 105 |
|