diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/mythtv/gstmythtvsrc.c | 6 |
2 files changed, 9 insertions, 4 deletions
@@ -1,5 +1,12 @@ 2008-02-22 Sebastian Dröge <slomo@circular-chaos.org> + * 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 <slomo@circular-chaos.org> + * ext/timidity/gstwildmidi.c: If WILDMIDI_CFG is not defined, define it to the default timidity configure file. diff --git a/ext/mythtv/gstmythtvsrc.c b/ext/mythtv/gstmythtvsrc.c index 0650e077..a136c272 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; |