mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 16:26:39 +00:00
ext/gnomevfs/gstgnomevfssrc.c: Fix memleaks, GST_BUFFER_DATA() is not freed.
Original commit message from CVS: * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_create): Fix memleaks, GST_BUFFER_DATA() is not freed.
This commit is contained in:
parent
391c82601f
commit
656e0f6acd
2 changed files with 15 additions and 11 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2005-05-25 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_create):
|
||||||
|
Fix memleaks, GST_BUFFER_DATA() is not freed.
|
||||||
|
|
||||||
2005-05-25 Wim Taymans <wim@fluendo.com>
|
2005-05-25 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* ext/alsa/gstalsasink.c: (gst_alsasink_open):
|
* ext/alsa/gstalsasink.c: (gst_alsasink_open):
|
||||||
|
|
|
@ -958,13 +958,12 @@ gst_gnomevfssrc_create (GstBaseSrc * basesrc, guint64 offset, guint size,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create the buffer */
|
|
||||||
buf = gst_buffer_new ();
|
|
||||||
|
|
||||||
audiocast_do_notifications (src);
|
audiocast_do_notifications (src);
|
||||||
|
|
||||||
if (src->iradio_mode && src->icy_metaint > 0) {
|
if (src->iradio_mode && src->icy_metaint > 0) {
|
||||||
data = g_malloc (src->icy_metaint);
|
buf = gst_buffer_new_and_alloc (src->icy_metaint);
|
||||||
|
|
||||||
|
data = GST_BUFFER_DATA (buf);
|
||||||
|
|
||||||
/* try to read */
|
/* try to read */
|
||||||
GST_DEBUG ("doing read: icy_count: %" G_GINT64_FORMAT, src->icy_count);
|
GST_DEBUG ("doing read: icy_count: %" G_GINT64_FORMAT, src->icy_count);
|
||||||
|
@ -980,8 +979,7 @@ gst_gnomevfssrc_create (GstBaseSrc * basesrc, guint64 offset, guint size,
|
||||||
|
|
||||||
src->icy_count += readbytes;
|
src->icy_count += readbytes;
|
||||||
GST_BUFFER_OFFSET (buf) = src->curoffset;
|
GST_BUFFER_OFFSET (buf) = src->curoffset;
|
||||||
GST_BUFFER_SIZE (buf) += readbytes;
|
GST_BUFFER_SIZE (buf) = readbytes;
|
||||||
GST_BUFFER_DATA (buf) = data;
|
|
||||||
src->curoffset += readbytes;
|
src->curoffset += readbytes;
|
||||||
|
|
||||||
if (src->icy_count == src->icy_metaint) {
|
if (src->icy_count == src->icy_metaint) {
|
||||||
|
@ -989,20 +987,21 @@ gst_gnomevfssrc_create (GstBaseSrc * basesrc, guint64 offset, guint size,
|
||||||
src->icy_count = 0;
|
src->icy_count = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
data = g_malloc (size);
|
buf = gst_buffer_new_and_alloc (size);
|
||||||
|
|
||||||
|
data = GST_BUFFER_DATA (buf);
|
||||||
|
GST_BUFFER_OFFSET (buf) = src->curoffset;
|
||||||
|
|
||||||
res = gnome_vfs_read (src->handle, data, size, &readbytes);
|
res = gnome_vfs_read (src->handle, data, size, &readbytes);
|
||||||
|
|
||||||
|
GST_BUFFER_SIZE (buf) = readbytes;
|
||||||
|
|
||||||
if (res != GNOME_VFS_OK)
|
if (res != GNOME_VFS_OK)
|
||||||
goto read_failed;
|
goto read_failed;
|
||||||
|
|
||||||
if (readbytes == 0)
|
if (readbytes == 0)
|
||||||
goto eos;
|
goto eos;
|
||||||
|
|
||||||
GST_BUFFER_OFFSET (buf) = src->curoffset;
|
|
||||||
GST_BUFFER_SIZE (buf) = readbytes;
|
|
||||||
GST_BUFFER_DATA (buf) = data;
|
|
||||||
|
|
||||||
src->curoffset += readbytes;
|
src->curoffset += readbytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue