diff options
author | David Schleef <ds@schleef.org> | 2003-12-22 01:47:09 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2003-12-22 01:47:09 +0000 |
commit | ce51f6173ca1c37d90f8e2e316d90316583d7755 (patch) | |
tree | 270b121765a11455f5bf8166b526d7ac336dc56c /ext/flac/gstflactag.c | |
parent | f43f0a9fd781bafab689e46bd936af9cb5ed2690 (diff) |
Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
Diffstat (limited to 'ext/flac/gstflactag.c')
-rw-r--r-- | ext/flac/gstflactag.c | 52 |
1 files changed, 18 insertions, 34 deletions
diff --git a/ext/flac/gstflactag.c b/ext/flac/gstflactag.c index 39d31729..5a155f24 100644 --- a/ext/flac/gstflactag.c +++ b/ext/flac/gstflactag.c @@ -100,32 +100,21 @@ enum { /* FILL ME */ }; -GST_PAD_TEMPLATE_FACTORY (flac_tag_src_template_factory, +static GstStaticPadTemplate flac_tag_src_template = +GST_STATIC_PAD_TEMPLATE ( "src", GST_PAD_SRC, GST_PAD_ALWAYS, - GST_CAPS_NEW ( - "flac_tag_tag_src", - "audio/x-flac", - NULL - ), - GST_CAPS_NEW ( - "flac_tag_tag_src", - "application/x-gst-tags", - NULL - ) -) - -GST_PAD_TEMPLATE_FACTORY (flac_tag_sink_template_factory, + GST_STATIC_CAPS ("audio/x-flac; application/x-gst-tags") +); + +static GstStaticPadTemplate flac_tag_sink_template = +GST_STATIC_PAD_TEMPLATE ( "sink", GST_PAD_SINK, GST_PAD_ALWAYS, - GST_CAPS_NEW ( - "flac_tag_data_sink", - "audio/x-flac", - NULL - ) -) + GST_STATIC_CAPS ("audio/x-flac") +); static void gst_flac_tag_base_init (gpointer g_class); @@ -181,9 +170,9 @@ gst_flac_tag_base_init (gpointer g_class) gst_element_class_set_details (element_class, &gst_flac_tag_details); gst_element_class_add_pad_template (element_class, - GST_PAD_TEMPLATE_GET (flac_tag_sink_template_factory)); + gst_static_pad_template_get (&flac_tag_sink_template)); gst_element_class_add_pad_template (element_class, - GST_PAD_TEMPLATE_GET (flac_tag_src_template_factory)); + gst_static_pad_template_get (&flac_tag_src_template)); } @@ -207,25 +196,20 @@ caps_nego (GstFlacTag *tag) { /* do caps nego */ GstCaps *caps; - capsnego: - caps = GST_CAPS_NEW ("flac_tag_data_src", "audio/x-flac", NULL); + + caps = gst_caps_new_simple ("audio/x-flac", NULL); if (gst_pad_try_set_caps (tag->srcpad, caps) != GST_PAD_LINK_REFUSED) { tag->only_output_tags = FALSE; GST_LOG_OBJECT (tag, "normal operation, using audio/x-flac output"); } else { - if (gst_pad_try_set_caps (tag->srcpad, - GST_CAPS_NEW ("flac_tag_tag_src", "application/x-gst-tags", NULL)) + if (gst_pad_try_set_caps (tag->srcpad, gst_caps_new_simple ( + "application/x-gst-tags", NULL)) != GST_PAD_LINK_REFUSED) { tag->only_output_tags = TRUE; GST_LOG_OBJECT (tag, "fast operation, just outputting tags"); printf ("output tags only\n"); } else { - caps = gst_pad_template_get_caps (GST_PAD_TEMPLATE_GET (flac_tag_src_template_factory)); - if (gst_pad_recover_caps_error (tag->srcpad, caps)) { - goto capsnego; - } else { - return FALSE; - } + return FALSE; } } return TRUE; @@ -251,12 +235,12 @@ gst_flac_tag_init (GstFlacTag *tag) { /* create the sink and src pads */ tag->sinkpad = gst_pad_new_from_template( - GST_PAD_TEMPLATE_GET (flac_tag_sink_template_factory), "sink"); + gst_static_pad_template_get (&flac_tag_sink_template), "sink"); gst_element_add_pad (GST_ELEMENT (tag), tag->sinkpad); gst_pad_set_chain_function (tag->sinkpad, GST_DEBUG_FUNCPTR (gst_flac_tag_chain)); tag->srcpad = gst_pad_new_from_template( - GST_PAD_TEMPLATE_GET (flac_tag_src_template_factory), "src"); + gst_static_pad_template_get (&flac_tag_src_template), "src"); gst_element_add_pad (GST_ELEMENT (tag), tag->srcpad); tag->buffer = NULL; |