Github user mike-jumper commented on a diff in the pull request:

    https://github.com/apache/guacamole-server/pull/159#discussion_r173687877
  
    --- Diff: src/guacenc/ffmpeg-compat.c ---
    @@ -165,3 +197,62 @@ int guacenc_avcodec_encode_video(guacenc_video* video, 
AVFrame* frame) {
     #endif
     }
     
    +AVCodecContext* guacenc_build_avcodeccontext(AVStream* stream,
    +        AVCodec* codec,
    +        int bitrate,
    +        int width,
    +        int height,
    +        int gop_size,
    +        int qmax,
    +        int qmin,
    +        int pix_fmt,
    +        AVRational time_base) {
    +#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(57, 33, 100)
    +    stream->codec->bit_rate = bitrate;
    +    stream->codec->width = width;
    +    stream->codec->height = height;
    +    stream->codec->gop_size = gop_size;
    +    stream->codec->qmax = qmax;
    +    stream->codec->qmin = qmin;
    +    stream->codec->pix_fmt = pix_fmt;
    +    stream->codec->time_base = time_base;
    +#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(55, 44, 100)
    +    stream->codec->time_base = time_base;
    +#else
    +    stream->time_base = time_base;
    +#endif
    +    return stream->codec;
    +#else
    +    AVCodecContext* context = avcodec_alloc_context3(codec);
    +    if (context) {
    +        context->bit_rate = bitrate;
    +        context->width = width;
    +        context->height = height;
    +        context->gop_size = gop_size;
    +        context->qmax = qmax;
    +        context->qmin = qmin;
    +        context->pix_fmt = pix_fmt;
    +        context->time_base = time_base;
    +        stream->time_base = time_base;
    --- End diff --
    
    Can you describe why this function is touching `stream` as a side effect?


---

Reply via email to