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.
This commit is contained in:
Sebastian Dröge 2008-02-22 06:33:49 +00:00
parent 9ab72bf599
commit ebdf0b8bd0
2 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,10 @@
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:

View 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;