X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/c076146f56b235db3757c6b075e4d3f0f000e0be..3d9c9d5411dbc95c7998248e65b3a1b460580695:/server/gstdecode.c diff --git a/server/gstdecode.c b/server/gstdecode.c index e8883bb..7d54052 100644 --- a/server/gstdecode.c +++ b/server/gstdecode.c @@ -109,19 +109,17 @@ static void report_element_pads(const char *what, GstElement *elt, goto done; case GST_ITERATOR_OK: #ifdef HAVE_GSTREAMER_0_10 - cs = gst_caps_to_string(gst_pad_get_caps(pad)); + cs = gst_caps_to_string(GST_PAD_CAPS(pad)); #else assert(G_VALUE_HOLDS(&gv, GST_TYPE_PAD)); pad = g_value_get_object(&gv); caps = gst_pad_query_caps(pad, 0); cs = gst_caps_to_string(caps); - g_object_unref(caps); + gst_caps_unref(caps); #endif disorder_error(0, " `%s' %s pad: %s", GST_OBJECT_NAME(elt), what, cs); g_free(cs); -#ifdef HAVE_GSTREAMER_0_10 - g_object_unref(pad); -#endif + gst_object_unref(pad); break; case GST_ITERATOR_RESYNC: gst_iterator_resync(it); @@ -184,10 +182,7 @@ static void decoder_pad_arrived(GstElement *decode, GstPad *pad, gpointer u) #endif goto match; } -#ifndef HAVE_GSTREAMER_0_10 - g_object_unref(caps); -#endif - return; + goto end; match: /* Yes, it's audio. Link the two elements together. */ @@ -199,6 +194,9 @@ match: GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN(pipeline), GST_DEBUG_GRAPH_SHOW_ALL, "disorder-gstdecode"); + +end: + gst_caps_unref(caps); } /* Prepare the GStreamer pipeline, ready to decode the given FILE. This sets @@ -273,6 +271,7 @@ static void prepare_pipeline(void) END); #endif gst_app_sink_set_caps(appsink, caps); + gst_caps_unref(caps); /* Add the various elements into the pipeline. We'll stitch them together * in pieces, because the pipeline is somewhat dynamic.