summaryrefslogtreecommitdiff
path: root/ext/libav/gstavaudenc.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-01-25 20:08:11 +0100
committerSebastian Dröge <sebastian@centricular.com>2016-01-25 20:08:11 +0100
commita7d9d448bdf4f5403eaf4effbf1ccbbb0782a476 (patch)
tree5eb09d18208e8627db60c0ec648d2981834d0c65 /ext/libav/gstavaudenc.c
parentda335a0ea368d2f71e2824adc3e027332db8a58c (diff)
downloadgst-libav-a7d9d448bdf4f5403eaf4effbf1ccbbb0782a476.tar.gz
avaudenc: Use av_malloc() instead of GLib malloc() wrappers for memory freed by ffmpeg
It has its own allocator that is not necessarily doing the same as malloc and will then usually crash. E.g. on Windows or when memalign() is available.
Diffstat (limited to 'ext/libav/gstavaudenc.c')
-rw-r--r--ext/libav/gstavaudenc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/libav/gstavaudenc.c b/ext/libav/gstavaudenc.c
index 9a8e690..ad8da90 100644
--- a/ext/libav/gstavaudenc.c
+++ b/ext/libav/gstavaudenc.c
@@ -488,12 +488,12 @@ gst_ffmpegaudenc_encode_audio (GstFFMpegAudEnc * ffmpegaudenc,
if (info->channels > AV_NUM_DATA_POINTERS) {
buffer_info->ext_data_array = frame->extended_data =
- g_new (uint8_t *, info->channels);
+ av_malloc_array (info->channels, sizeof (uint8_t *));
} else {
frame->extended_data = frame->data;
}
- buffer_info->ext_data = frame->extended_data[0] = g_malloc (in_size);
+ buffer_info->ext_data = frame->extended_data[0] = av_malloc (in_size);
frame->linesize[0] = in_size / channels;
for (i = 1; i < channels; i++)
frame->extended_data[i] =