summaryrefslogtreecommitdiffstats
path: root/ext/flac/gstflactag.c
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2003-12-22 01:47:09 +0000
committerDavid Schleef <ds@schleef.org>2003-12-22 01:47:09 +0000
commitce51f6173ca1c37d90f8e2e316d90316583d7755 (patch)
tree270b121765a11455f5bf8166b526d7ac336dc56c /ext/flac/gstflactag.c
parentf43f0a9fd781bafab689e46bd936af9cb5ed2690 (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.c52
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;