ext/mythtv/gstmythtvsrc.c: Don't allocate and copy the data to a new place but instea...
authorSebastian Dröge <slomo@circular-chaos.org>
Fri, 22 Feb 2008 06:33:49 +0000 (06:33 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Fri, 22 Feb 2008 06:33:49 +0000 (06:33 +0000)
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
ext/mythtv/gstmythtvsrc.c

index 963d780..19cbb0e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index 0650e07..a136c27 100644 (file)
@@ -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;