From 1a79337544f22d66a4de436ffd17a767cd45b73b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 11 Jun 2006 18:20:39 +0000 Subject: [PATCH] gst/: Use gst_pad_query_peer_duration() utility function here. Original commit message from CVS: * gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size): * gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size): Use gst_pad_query_peer_duration() utility function here. --- ChangeLog | 6 ++++++ gst/apetag/gsttagdemux.c | 18 ++++++------------ gst/id3demux/gstid3demux.c | 26 +++++--------------------- 3 files changed, 17 insertions(+), 33 deletions(-) diff --git a/ChangeLog b/ChangeLog index db10ddf..8b2eeed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-06-11 Tim-Philipp Müller + + * gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size): + * gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size): + Use gst_pad_query_peer_duration() utility function here. + 2006-06-11 Thomas Vander Stichele * autogen.sh: diff --git a/gst/apetag/gsttagdemux.c b/gst/apetag/gsttagdemux.c index 6e56b14..ef9dc8c 100644 --- a/gst/apetag/gsttagdemux.c +++ b/gst/apetag/gsttagdemux.c @@ -665,27 +665,21 @@ gst_tag_demux_sink_event (GstPad * pad, GstEvent * event) static gboolean gst_tag_demux_get_upstream_size (GstTagDemux * tagdemux) { - GstPad *peer = NULL; GstFormat format; - gint64 result; - gboolean res = FALSE; + gint64 len; /* Short-cut if we already queried upstream */ if (tagdemux->priv->upstream_size > 0) return TRUE; - if ((peer = gst_pad_get_peer (tagdemux->priv->sinkpad)) == NULL) - return FALSE; - 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_duration (tagdemux->priv->sinkpad, &format, &len) || + len <= 0) { + return FALSE; } - gst_object_unref (peer); - return res; + tagdemux->priv->upstream_size = len; + return TRUE; } static gboolean diff --git a/gst/id3demux/gstid3demux.c b/gst/id3demux/gstid3demux.c index 40fdf65..e03a193 100644 --- a/gst/id3demux/gstid3demux.c +++ b/gst/id3demux/gstid3demux.c @@ -600,37 +600,21 @@ gst_id3demux_get_property (GObject * object, guint prop_id, static gboolean id3demux_get_upstream_size (GstID3Demux * id3demux) { - GstQuery *query; - GstPad *peer = NULL; GstFormat format; gint64 result; - gboolean res = FALSE; /* Short-cut if we already queried upstream */ if (id3demux->upstream_size > 0) return TRUE; - if ((peer = gst_pad_get_peer (id3demux->sinkpad)) == NULL) + format = GST_FORMAT_BYTES; + if (!gst_pad_query_peer_duration (id3demux->sinkpad, &format, &result) || + result < 0) { return FALSE; - - query = gst_query_new_duration (GST_FORMAT_BYTES); - gst_query_set_duration (query, GST_FORMAT_BYTES, -1); - - if (!gst_pad_query (peer, query)) - goto out; - - gst_query_parse_duration (query, &format, &result); - gst_query_unref (query); - - if (format != GST_FORMAT_BYTES || result == -1) - goto out; + } id3demux->upstream_size = result; - res = TRUE; - -out: - gst_object_unref (peer); - return res; + return TRUE; } static gboolean -- 2.7.4