From ebdf0b8bd0e14dfbdfba0edd73a285e3a93f0aa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 22 Feb 2008 06:33:49 +0000 Subject: ext/mythtv/gstmythtvsrc.c: Don't allocate and copy the data to a new place but instead put the data from gmyth (which... Original commit message from CVS: * ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_create): Don't allocate and copy the data to a new place but instead put the data from gmyth (which we own) into the buffers that are passed downstream. --- ChangeLog | 7 +++++++ ext/mythtv/gstmythtvsrc.c | 6 ++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 963d780ec..19cbb0e16 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-02-22 Sebastian Dröge + + * ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_create): + Don't allocate and copy the data to a new place but instead + put the data from gmyth (which we own) into the buffers that + are passed downstream. + 2008-02-22 Sebastian Dröge * ext/timidity/gstwildmidi.c: diff --git a/ext/mythtv/gstmythtvsrc.c b/ext/mythtv/gstmythtvsrc.c index 0650e077f..a136c272e 100644 --- a/ext/mythtv/gstmythtvsrc.c +++ b/ext/mythtv/gstmythtvsrc.c @@ -405,10 +405,8 @@ gst_mythtv_src_create (GstPushSrc * psrc, GstBuffer ** outbuf) *outbuf = gst_buffer_new (); GST_BUFFER_SIZE (*outbuf) = buffer->len; - GST_BUFFER_MALLOCDATA (*outbuf) = g_malloc0 (GST_BUFFER_SIZE (*outbuf)); + GST_BUFFER_MALLOCDATA (*outbuf) = buffer->data; GST_BUFFER_DATA (*outbuf) = GST_BUFFER_MALLOCDATA (*outbuf); - g_memmove (GST_BUFFER_DATA ((*outbuf)), buffer->data, - GST_BUFFER_SIZE (*outbuf)); GST_BUFFER_OFFSET (*outbuf) = src->read_offset; GST_BUFFER_OFFSET_END (*outbuf) = src->read_offset + GST_BUFFER_SIZE (*outbuf); @@ -416,7 +414,7 @@ gst_mythtv_src_create (GstPushSrc * psrc, GstBuffer ** outbuf) src->read_offset += GST_BUFFER_SIZE (*outbuf); src->bytes_read += GST_BUFFER_SIZE (*outbuf); - g_byte_array_free (buffer, TRUE); + g_byte_array_free (buffer, FALSE); if (result == GMYTH_FILE_READ_NEXT_PROG_CHAIN) { GstPad *peer; -- cgit v1.2.1