diff --git a/ffmpeg_hw.c b/ffmpeg_hw.c index 5708e9af20..a4d1cada59 100644 --- a/ffmpeg_hw.c +++ b/ffmpeg_hw.c @@ -77,7 +77,7 @@ int hw_device_init_from_string(const char *arg, HWDevice **dev_out) char *type_name = NULL, *name = NULL, *device = NULL; enum AVHWDeviceType type; HWDevice *dev, *src; - AVBufferRef *device_ref; + AVBufferRef *device_ref = NULL; int err; const char *errmsg, *p, *q; size_t k; @@ -210,6 +210,7 @@ invalid: fail: av_log(NULL, AV_LOG_ERROR, "Device creation failed: %d.\n", err); + av_buffer_unref(&device_ref); goto done; }