mirror of
https://github.com/libretro/RetroArch
synced 2025-02-27 00:40:20 +00:00
(ffmpeg) Fix memory leak/struct member issue
This commit is contained in:
parent
cd329a259c
commit
0fcc5a784e
@ -73,11 +73,8 @@ video_buffer_t *video_buffer_create(
|
|||||||
b->buffer[i].hw_source = av_frame_alloc();
|
b->buffer[i].hw_source = av_frame_alloc();
|
||||||
#endif
|
#endif
|
||||||
b->buffer[i].target = av_frame_alloc();
|
b->buffer[i].target = av_frame_alloc();
|
||||||
b->buffer[i].frame_buf = (uint8_t*)av_malloc(frame_size);
|
|
||||||
|
|
||||||
avpicture_fill((AVPicture*)
|
avpicture_alloc((AVPicture*)b->buffer[i].target,
|
||||||
b->buffer[i].target,
|
|
||||||
(const uint8_t*)b->buffer[i].frame_buf,
|
|
||||||
PIX_FMT_RGB32, width, height);
|
PIX_FMT_RGB32, width, height);
|
||||||
|
|
||||||
if (!b->buffer[i].sws ||
|
if (!b->buffer[i].sws ||
|
||||||
@ -85,8 +82,7 @@ video_buffer_t *video_buffer_create(
|
|||||||
#if LIBAVUTIL_VERSION_MAJOR > 55
|
#if LIBAVUTIL_VERSION_MAJOR > 55
|
||||||
!b->buffer[i].hw_source ||
|
!b->buffer[i].hw_source ||
|
||||||
#endif
|
#endif
|
||||||
!b->buffer[i].target ||
|
!b->buffer[i].target)
|
||||||
!b->buffer[i].frame_buf)
|
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
return b;
|
return b;
|
||||||
@ -114,8 +110,8 @@ void video_buffer_destroy(video_buffer_t *video_buffer)
|
|||||||
av_frame_free(&video_buffer->buffer[i].hw_source);
|
av_frame_free(&video_buffer->buffer[i].hw_source);
|
||||||
#endif
|
#endif
|
||||||
av_frame_free(&video_buffer->buffer[i].source);
|
av_frame_free(&video_buffer->buffer[i].source);
|
||||||
|
avpicture_free((AVPicture*)video_buffer->buffer[i].target);
|
||||||
av_frame_free(&video_buffer->buffer[i].target);
|
av_frame_free(&video_buffer->buffer[i].target);
|
||||||
av_freep(&video_buffer->buffer[i].frame_buf);
|
|
||||||
sws_freeContext(video_buffer->buffer[i].sws);
|
sws_freeContext(video_buffer->buffer[i].sws);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,12 @@
|
|||||||
#include <boolean.h>
|
#include <boolean.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef RARCH_INTERNAL
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_SSA
|
#ifdef HAVE_SSA
|
||||||
#include <ass/ass.h>
|
#include <ass/ass.h>
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user