summaryrefslogtreecommitdiff
path: root/ext/closedcaption/gstline21dec.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/closedcaption/gstline21dec.c')
-rw-r--r--ext/closedcaption/gstline21dec.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/ext/closedcaption/gstline21dec.c b/ext/closedcaption/gstline21dec.c
index 489bd0098..4e5b7702c 100644
--- a/ext/closedcaption/gstline21dec.c
+++ b/ext/closedcaption/gstline21dec.c
@@ -56,7 +56,7 @@ enum
#define DEFAULT_NTSC_ONLY FALSE
#define DEFAULT_MODE GST_LINE_21_DECODER_MODE_ADD
-#define CAPS "video/x-raw, format={ I420, YUY2, YVYU, UYVY, VYUY, v210 }, interlace-mode=interleaved"
+#define CAPS "video/x-raw, format={ I420, YUY2, YVYU, UYVY, VYUY, v210 }"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
@@ -216,6 +216,8 @@ gst_line_21_decoder_class_init (GstLine21DecoderClass * klass)
GST_DEBUG_CATEGORY_INIT (gst_line_21_decoder_debug, "line21decoder",
0, "Line 21 CC Decoder");
vbi_initialize_gst_debug ();
+
+ gst_type_mark_as_plugin_api (GST_TYPE_LINE_21_DECODER_MODE, 0);
}
static void
@@ -288,6 +290,12 @@ gst_line_21_decoder_set_info (GstVideoFilter * filter,
/* Scan the next frame from the first line */
self->line21_offset = -1;
+ if (!GST_VIDEO_INFO_IS_INTERLACED (in_info)) {
+ GST_DEBUG_OBJECT (filter, "Only interlaced formats are supported");
+ self->compatible_format = FALSE;
+ return TRUE;
+ }
+
if (GST_VIDEO_INFO_WIDTH (in_info) != 720) {
GST_DEBUG_OBJECT (filter, "Only 720 pixel wide formats are supported");
self->compatible_format = FALSE;