diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index aa1cd8f539..d415f0fb20 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -1140,7 +1140,7 @@ static int rtmp_calc_swfhash(URLContext *s) { RTMPContext *rt = s->priv_data; uint8_t *in_data = NULL, *out_data = NULL, *swfdata; - int64_t in_size, out_size; + int64_t in_size; URLContext *stream; char swfhash[32]; int swfsize; @@ -1173,6 +1173,8 @@ static int rtmp_calc_swfhash(URLContext *s) } if (!memcmp(in_data, "CWS", 3)) { +#if CONFIG_ZLIB + int64_t out_size; /* Decompress the SWF player file using Zlib. */ if (!(out_data = av_malloc(8))) { ret = AVERROR(ENOMEM); @@ -1182,18 +1184,17 @@ static int rtmp_calc_swfhash(URLContext *s) memcpy(out_data, in_data, 8); out_size = 8; -#if CONFIG_ZLIB if ((ret = rtmp_uncompress_swfplayer(in_data + 8, in_size - 8, &out_data, &out_size)) < 0) goto fail; + swfsize = out_size; + swfdata = out_data; #else av_log(s, AV_LOG_ERROR, "Zlib is required for decompressing the SWF player file.\n"); ret = AVERROR(EINVAL); goto fail; #endif - swfsize = out_size; - swfdata = out_data; } else { swfsize = in_size; swfdata = in_data;