[FFmpeg-devel] [PATCH] avcodec/audiotoolboxenc: Fix compile error to support iOS

crossle song crosslesong at gmail.com
Sun Mar 27 16:00:56 CEST 2016


Fixed on a new patch

On Sun, Mar 27, 2016 at 8:54 PM, Hendrik Leppkes <h.leppkes at gmail.com>
wrote:

> On Sun, Mar 27, 2016 at 1:52 PM,  <crosslesong at gmail.com> wrote:
> > From: Crossle Song <crosslesong at gmail.com>
> >
> > Fix error libavcodec/audiotoolboxenc.c use of undeclared
> > 'kAudioCodecPropertyBitRateControlMode' on iOS
> >
> > AudioToolbox now support iOS
> > ---
> >  libavcodec/audiotoolboxenc.c | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c
> > index c4d36f5..b7874e5 100644
> > --- a/libavcodec/audiotoolboxenc.c
> > +++ b/libavcodec/audiotoolboxenc.c
> > @@ -204,6 +204,7 @@ static av_cold int ffat_init_encoder(AVCodecContext
> *avctx)
> >                                    size, &avctx->bits_per_raw_sample);
> >      }
> >
> > +#if !TARGET_OS_IPHONE
> >      if (at->mode == -1)
> >          at->mode = (avctx->flags & AV_CODEC_FLAG_QSCALE) ?
> >                     kAudioCodecBitRateControlMode_Variable :
> > @@ -222,7 +223,9 @@ static av_cold int ffat_init_encoder(AVCodecContext
> *avctx)
> >          q = 127 - q * 9;
> >          AudioConverterSetProperty(at->converter,
> kAudioCodecPropertySoundQualityForVBR,
> >                                    size, &q);
> > -    } else if (avctx->bit_rate > 0) {
> > +    }
> > +#endif
> > +    if (avctx->bit_rate > 0) {
>
> This changes the logic.
>
> >          UInt32 rate = avctx->bit_rate;
> >          AudioConverterSetProperty(at->converter,
> kAudioConverterEncodeBitRate,
> >                                    size, &rate);
> > @@ -425,12 +428,14 @@ static const AVProfile aac_profiles[] = {
> >
> >  #define AE AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
> >  static const AVOption options[] = {
> > +#if !TARGET_OS_IPHONE
> >      {"aac_at_mode", "ratecontrol mode", offsetof(ATDecodeContext,
> mode), AV_OPT_TYPE_INT, {.i64 = -1}, -1,
> kAudioCodecBitRateControlMode_Variable, AE, "mode"},
> >          {"auto", "VBR if global quality is given; CBR otherwise", 0,
> AV_OPT_TYPE_CONST, {.i64 = -1}, INT_MIN, INT_MAX, AE, "mode"},
> >          {"cbr",  "constant bitrate", 0, AV_OPT_TYPE_CONST, {.i64 =
> kAudioCodecBitRateControlMode_Constant}, INT_MIN, INT_MAX, AE, "mode"},
> >          {"abr",  "long-term average bitrate", 0, AV_OPT_TYPE_CONST,
> {.i64 = kAudioCodecBitRateControlMode_LongTermAverage}, INT_MIN, INT_MAX,
> AE, "mode"},
> >          {"cvbr", "constrained variable bitrate", 0, AV_OPT_TYPE_CONST,
> {.i64 = kAudioCodecBitRateControlMode_VariableConstrained}, INT_MIN,
> INT_MAX, AE, "mode"},
> >          {"vbr" , "variable bitrate", 0, AV_OPT_TYPE_CONST, {.i64 =
> kAudioCodecBitRateControlMode_Variable}, INT_MIN, INT_MAX, AE, "mode"},
> > +#endif
> >      {"aac_at_quality", "quality vs speed control",
> offsetof(ATDecodeContext, quality), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 2, AE},
> >      { NULL },
> >  };
> > --
> > 2.7.0
> >
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list