gst/mpegtsmux/mpegtsmux_aac.c: Allocate a fixed size buffer on the stack instead of using malloc().

Original commit message from CVS:
* gst/mpegtsmux/mpegtsmux_aac.c: (mpegtsmux_prepare_aac):
Allocate a fixed size buffer on the stack instead of using malloc().
* gst/mpegtsmux/tsmux/tsmux.c: (tsmux_new), (tsmux_free),
(tsmux_program_new), (tsmux_program_free):
* gst/mpegtsmux/tsmux/tsmuxstream.c: (tsmux_stream_new),
(tsmux_stream_free), (tsmux_stream_consume),
(tsmux_stream_add_data):
Use GSlice.
This commit is contained in:
Sebastian Dröge 2008-09-01 17:49:59 +00:00
parent b24d38315f
commit 7ac077828f
4 changed files with 21 additions and 10 deletions

View file

@ -1,3 +1,15 @@
2008-09-01 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* gst/mpegtsmux/mpegtsmux_aac.c: (mpegtsmux_prepare_aac):
Allocate a fixed size buffer on the stack instead of using malloc().
* gst/mpegtsmux/tsmux/tsmux.c: (tsmux_new), (tsmux_free),
(tsmux_program_new), (tsmux_program_free):
* gst/mpegtsmux/tsmux/tsmuxstream.c: (tsmux_stream_new),
(tsmux_stream_free), (tsmux_stream_consume),
(tsmux_stream_add_data):
Use GSlice.
2008-09-01 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* gst/mpegtsmux/mpegtsmux.c: (mpegtsmux_create_stream):

View file

@ -93,7 +93,7 @@ GST_DEBUG_CATEGORY_EXTERN (mpegtsmux_debug);
GstBuffer *
mpegtsmux_prepare_aac (GstBuffer * buf, MpegTsPadData * data, MpegTsMux * mux)
{
guint8 *adts_header = g_malloc0 (7);
guint8 adts_header[7] = { 0, };
GstBuffer *out_buf = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (buf) + 7);
gsize out_offset = 0;
guint8 rate_idx = 0, channels = 0, obj_type = 0;
@ -140,7 +140,6 @@ mpegtsmux_prepare_aac (GstBuffer * buf, MpegTsPadData * data, MpegTsMux * mux)
/* Insert ADTS header */
memcpy (GST_BUFFER_DATA (out_buf) + out_offset, adts_header, 7);
g_free (adts_header);
out_offset += 7;
/* Now copy complete frame */

View file

@ -130,7 +130,7 @@ tsmux_new ()
{
TsMux *mux;
mux = g_new0 (TsMux, 1);
mux = g_slice_new0 (TsMux);
mux->transport_id = TSMUX_DEFAULT_TS_ID;
@ -229,7 +229,7 @@ tsmux_free (TsMux * mux)
}
g_list_free (mux->streams);
g_free (mux);
g_slice_free (TsMux, mux);
}
/**
@ -252,7 +252,7 @@ tsmux_program_new (TsMux * mux)
if (mux->nb_programs == TSMUX_MAX_PROGRAMS)
return NULL;
program = g_new0 (TsMuxProgram, 1);
program = g_slice_new0 (TsMuxProgram);
program->pmt_changed = TRUE;
program->last_pmt_ts = -1;
@ -811,7 +811,7 @@ tsmux_program_free (TsMuxProgram * program)
g_return_if_fail (program != NULL);
g_array_free (program->streams, TRUE);
g_free (program);
g_slice_free (TsMuxProgram, program);
}
static gboolean

View file

@ -115,7 +115,7 @@ struct TsMuxStreamBuffer
TsMuxStream *
tsmux_stream_new (guint16 pid, TsMuxStreamType stream_type)
{
TsMuxStream *stream = g_new0 (TsMuxStream, 1);
TsMuxStream *stream = g_slice_new0 (TsMuxStream);
stream->state = TSMUX_STREAM_STATE_HEADER;
stream->pi.pid = pid;
@ -193,7 +193,7 @@ tsmux_stream_free (TsMuxStream * stream)
{
g_return_if_fail (stream != NULL);
g_free (stream);
g_slice_free (TsMuxStream, stream);
}
/**
@ -243,7 +243,7 @@ tsmux_stream_consume (TsMuxStream * stream, guint len)
stream->cur_buffer->user_data);
}
g_free (stream->cur_buffer);
g_slice_free (TsMuxStreamBuffer, stream->cur_buffer);
stream->cur_buffer = NULL;
/* FIXME: As a hack, for unbounded streams, start a new PES packet for each
* incoming packet we receive. This assumes that incoming data is
@ -571,7 +571,7 @@ tsmux_stream_add_data (TsMuxStream * stream, guint8 * data, guint len,
g_return_if_fail (stream != NULL);
packet = g_new (TsMuxStreamBuffer, 1);
packet = g_slice_new (TsMuxStreamBuffer);
packet->data = data;
packet->size = len;
packet->user_data = user_data;