summaryrefslogtreecommitdiff
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
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.
-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] =