summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2012-10-09 00:41:34 +0200
committerDiego Biurrun <diego@biurrun.de>2012-10-12 20:56:54 +0200
commit717addecad77d85d329a4b502f4098d4912679d7 (patch)
treea947a67910599b4bc30e26fe2e5726f90664adf3 /libavcodec
parent9e6ea3cef9927be46973c8e972656b4264f8f1f6 (diff)
Use proper return values in case of missing features
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/aac_adtstoasc_bsf.c4
-rw-r--r--libavcodec/aacdec.c8
-rw-r--r--libavcodec/ac3dec.c2
-rw-r--r--libavcodec/alsdec.c6
-rw-r--r--libavcodec/amrnbdec.c2
-rw-r--r--libavcodec/amrwbdec.c2
-rw-r--r--libavcodec/eac3dec.c2
-rw-r--r--libavcodec/flacdec.c2
-rw-r--r--libavcodec/mpc8.c2
-rw-r--r--libavcodec/tta.c2
-rw-r--r--libavcodec/wmaprodec.c2
-rw-r--r--libavcodec/wmavoice.c2
12 files changed, 18 insertions, 18 deletions
diff --git a/libavcodec/aac_adtstoasc_bsf.c b/libavcodec/aac_adtstoasc_bsf.c
index a6599345bd..df9a3958db 100644
--- a/libavcodec/aac_adtstoasc_bsf.c
+++ b/libavcodec/aac_adtstoasc_bsf.c
@@ -62,7 +62,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
if (!hdr.crc_absent && hdr.num_aac_frames > 1) {
av_log_missing_feature(avctx, "Multiple RDBs per frame with CRC", 0);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
buf += AAC_ADTS_HEADER_SIZE + 2*!hdr.crc_absent;
@@ -75,7 +75,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
init_get_bits(&gb, buf, buf_size * 8);
if (get_bits(&gb, 3) != 5) {
av_log_missing_feature(avctx, "PCE based channel configuration, where the PCE is not the first syntax element", 0);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
init_put_bits(&pb, pce_data, MAX_PCE_SIZE);
pce_size = avpriv_copy_pce_data(&pb, &gb)/8;
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 859414adc9..4a6d3905f4 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -634,7 +634,7 @@ static int decode_ga_specific_config(AACContext *ac, AVCodecContext *avctx,
if (get_bits1(gb)) { // frameLengthFlag
av_log_missing_feature(avctx, "960/120 MDCT window", 1);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
if (get_bits1(gb)) // dependsOnCoreCoder
@@ -1635,7 +1635,7 @@ static int decode_ics(AACContext *ac, SingleChannelElement *sce,
return -1;
if (get_bits1(gb)) {
av_log_missing_feature(ac->avctx, "SSR", 1);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
}
@@ -2324,7 +2324,7 @@ static int parse_adts_frame_header(AACContext *ac, GetBitContext *gb)
if (size > 0) {
if (hdr_info.num_aac_frames != 1) {
av_log_missing_feature(ac->avctx, "More than one AAC RDB per ADTS frame", 0);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
push_output_configuration(ac);
if (hdr_info.chan_config) {
@@ -2609,7 +2609,7 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
if (config_start_bit % 8) {
av_log_missing_feature(latmctx->aac_ctx.avctx,
"Non-byte-aligned audio-specific config", 1);
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
if (asclen <= 0)
return AVERROR_INVALIDDATA;
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index 12770db2de..4336ca5374 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -876,7 +876,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
if (s->eac3 && get_bits1(gbc)) {
/* TODO: parse enhanced coupling strategy info */
av_log_missing_feature(s->avctx, "Enhanced coupling", 1);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
/* determine which channels are coupled */
diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index 1c3f0cbdb5..ba9f3bba2e 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -427,9 +427,9 @@ static int check_specific_config(ALSDecContext *ctx)
} \
}
- MISSING_ERR(sconf->floating, "Floating point decoding", -1);
- MISSING_ERR(sconf->rlslms, "Adaptive RLS-LMS prediction", -1);
- MISSING_ERR(sconf->chan_sort, "Channel sorting", 0);
+ MISSING_ERR(sconf->floating, "Floating point decoding", AVERROR_PATCHWELCOME);
+ MISSING_ERR(sconf->rlslms, "Adaptive RLS-LMS prediction", AVERROR_PATCHWELCOME);
+ MISSING_ERR(sconf->chan_sort, "Channel sorting", 0);
return error;
}
diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c
index d0ad76c7ea..2cb06a6ead 100644
--- a/libavcodec/amrnbdec.c
+++ b/libavcodec/amrnbdec.c
@@ -951,7 +951,7 @@ static int amrnb_decode_frame(AVCodecContext *avctx, void *data,
}
if (p->cur_frame_mode == MODE_DTX) {
av_log_missing_feature(avctx, "dtx mode", 1);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
if (p->cur_frame_mode == MODE_12k2) {
diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c
index 18b34cff9b..5cc96ab713 100644
--- a/libavcodec/amrwbdec.c
+++ b/libavcodec/amrwbdec.c
@@ -1111,7 +1111,7 @@ static int amrwb_decode_frame(AVCodecContext *avctx, void *data,
if (ctx->fr_cur_mode == MODE_SID) { /* Comfort noise frame */
av_log_missing_feature(avctx, "SID mode", 1);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
ff_amr_bit_reorder((uint16_t *) &ctx->frame, sizeof(AMRWBFrame),
diff --git a/libavcodec/eac3dec.c b/libavcodec/eac3dec.c
index 7072f783e4..626698839d 100644
--- a/libavcodec/eac3dec.c
+++ b/libavcodec/eac3dec.c
@@ -322,7 +322,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
handled like AC-3 DolbyNet, but we cannot be sure until we have a
sample which utilizes this feature. */
av_log_missing_feature(s->avctx, "Reduced sampling rates", 1);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
skip_bits(gbc, 5); // skip bitstream id
diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
index f3f1b3a283..b39feb679b 100644
--- a/libavcodec/flacdec.c
+++ b/libavcodec/flacdec.c
@@ -372,7 +372,7 @@ static inline int decode_subframe(FLACContext *s, int channel)
}
if (bps > 32) {
av_log_missing_feature(s->avctx, "decorrelated bit depth > 32", 0);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
//FIXME use av_log2 for types
diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c
index 91e228b07c..0331789bbb 100644
--- a/libavcodec/mpc8.c
+++ b/libavcodec/mpc8.c
@@ -130,7 +130,7 @@ static av_cold int mpc8_decode_init(AVCodecContext * avctx)
channels = get_bits(&gb, 4) + 1;
if (channels > 2) {
av_log_missing_feature(avctx, "Multichannel MPC SV8", 1);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
c->MSS = get_bits1(&gb);
c->frames = 1 << (get_bits(&gb, 3) * 2);
diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index 7825c0c980..e6117488dc 100644
--- a/libavcodec/tta.c
+++ b/libavcodec/tta.c
@@ -222,7 +222,7 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
}
if (s->format == FORMAT_ENCRYPTED) {
av_log_missing_feature(s->avctx, "Encrypted TTA", 0);
- return AVERROR(EINVAL);
+ return AVERROR_PATCHWELCOME;
}
avctx->channels = s->channels = get_bits(&s->gb, 16);
avctx->bits_per_coded_sample = get_bits(&s->gb, 16);
diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index 1c9c6671e4..50f85e2938 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -314,7 +314,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
bits = ff_wma_get_frame_len_bits(avctx->sample_rate, 3, s->decode_flags);
if (bits > WMAPRO_BLOCK_MAX_BITS) {
av_log_missing_feature(avctx, "14-bits block sizes", 1);
- return AVERROR_INVALIDDATA;
+ return AVERROR_PATCHWELCOME;
}
s->samples_per_frame = 1 << bits;
diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c
index 4a7ba6dabc..2ed79a6302 100644
--- a/libavcodec/wmavoice.c
+++ b/libavcodec/wmavoice.c
@@ -1763,7 +1763,7 @@ static int synth_superframe(AVCodecContext *ctx, int *got_frame_ptr)
* the wild yet. */
if (!get_bits1(gb)) {
av_log_missing_feature(ctx, "WMAPro-in-WMAVoice support", 1);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
/* (optional) nr. of samples in superframe; always <= 480 and >= 0 */