From a28e6777bd4a856f8b197a99bf990e4e9ec5a924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 11 Feb 2006 13:54:26 +0000 Subject: [PATCH] gst/apetag/gsttagdemux.c: ... and fix the very same leaks in GstTagDemux. Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size), (gst_tag_demux_do_typefind): ... and fix the very same leaks in GstTagDemux. --- ChangeLog | 6 ++++++ gst/apetag/gsttagdemux.c | 22 +++++++--------------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index f06a5ed9cd..c370b01966 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-02-11 Tim-Philipp Müller + + * gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size), + (gst_tag_demux_do_typefind): + ... and fix the very same leaks in GstTagDemux. + 2006-02-11 Jan Schmidt * gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size), diff --git a/gst/apetag/gsttagdemux.c b/gst/apetag/gsttagdemux.c index 9bb43c8800..c18ad21a81 100644 --- a/gst/apetag/gsttagdemux.c +++ b/gst/apetag/gsttagdemux.c @@ -621,7 +621,6 @@ error: static gboolean gst_tag_demux_get_upstream_size (GstTagDemux * tagdemux) { - GstQuery *query; GstPad *peer = NULL; GstFormat format; gint64 result; @@ -634,21 +633,13 @@ gst_tag_demux_get_upstream_size (GstTagDemux * tagdemux) if ((peer = gst_pad_get_peer (tagdemux->priv->sinkpad)) == NULL) return FALSE; - query = gst_query_new_duration (GST_FORMAT_BYTES); - gst_query_set_duration (query, GST_FORMAT_BYTES, -1); + format = GST_FORMAT_BYTES; + if (gst_pad_query_duration (peer, &format, &result) && + format == GST_FORMAT_BYTES && result > 0) { + tagdemux->priv->upstream_size = result; + res = TRUE; + } - if (!gst_pad_query (peer, query)) - goto out; - - gst_query_parse_duration (query, &format, &result); - - if (format != GST_FORMAT_BYTES || result == -1) - goto out; - - tagdemux->priv->upstream_size = result; - res = TRUE; - -out: gst_object_unref (peer); return res; } @@ -1319,6 +1310,7 @@ gst_tag_demux_do_typefind (GstTagDemux * tagdemux, GstBuffer * buffer) return find.caps; } + gst_caps_replace (&find.caps, NULL); return NULL; }