summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gst/vbidec/gstvbidec.c8
-rw-r--r--gst/vbidec/vbidata.c5
-rw-r--r--gst/vbidec/vbidata.h1
-rw-r--r--gst/vbidec/vbiscreen.c5
-rw-r--r--gst/vbidec/vbiscreen.h1
5 files changed, 20 insertions, 0 deletions
diff --git a/gst/vbidec/gstvbidec.c b/gst/vbidec/gstvbidec.c
index 1da10543..1bd7c8bd 100644
--- a/gst/vbidec/gstvbidec.c
+++ b/gst/vbidec/gstvbidec.c
@@ -77,6 +77,7 @@ enum {
enum {
ARG_0,
+ ARG_VERBOSE,
ARG_CAPTION_TYPE,
ARG_DVD_INPUT
};
@@ -176,6 +177,9 @@ gst_vbidec_class_init(GstVBIDecClass *klass)
gobject_class->set_property = gst_vbidec_set_property;
gobject_class->get_property = gst_vbidec_get_property;
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_VERBOSE,
+ g_param_spec_boolean ("verbose", "verbose", "verbose",
+ FALSE, G_PARAM_WRITABLE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_CAPTION_TYPE,
g_param_spec_enum ("caption type", "caption type", "Closed Caption Type",
GST_TYPE_VBIDEC_CAPTION_TYPE_TYPE, CAPTURE_OFF, G_PARAM_READWRITE));
@@ -312,6 +316,10 @@ gst_vbidec_set_property (GObject *object, guint prop_id, const GValue *value, GP
vbidec = GST_VBIDEC (object);
switch (prop_id) {
+ case ARG_VERBOSE:
+ vbidata_set_verbose(vbidec->vbidata, g_value_get_boolean (value));
+ vbiscreen_set_verbose(vbidec->vbiscreen, g_value_get_boolean (value));
+ break;
case ARG_DVD_INPUT:
vbidec->dvd_input = g_value_get_boolean(value);
break;
diff --git a/gst/vbidec/vbidata.c b/gst/vbidec/vbidata.c
index 14d7a7e0..b0bd7a1c 100644
--- a/gst/vbidec/vbidata.c
+++ b/gst/vbidec/vbidata.c
@@ -995,6 +995,11 @@ void vbidata_reset( vbidata_t *vbi )
vbiscreen_reset( vbi->vs );
}
+void vbidata_set_verbose( vbidata_t *vbi, int verbose )
+{
+ vbi->verbose = verbose;
+}
+
void vbidata_capture_mode( vbidata_t *vbi, int mode )
{
if( !vbi ) return;
diff --git a/gst/vbidec/vbidata.h b/gst/vbidec/vbidata.h
index e84e3b18..66b2cc3c 100644
--- a/gst/vbidec/vbidata.h
+++ b/gst/vbidec/vbidata.h
@@ -50,6 +50,7 @@ vbidata_t *vbidata_new_line( vbiscreen_t *vs, int verbose );
void vbidata_delete( vbidata_t *vbi );
void vbidata_reset( vbidata_t *vbi );
+void vbidata_set_verbose( vbidata_t *vbi, int verbose );
void vbidata_capture_mode( vbidata_t *vbi, int mode );
void vbidata_process_frame( vbidata_t *vbi, int printdebug );
void vbidata_process_line( vbidata_t *vbi, unsigned char *s, int bottom );
diff --git a/gst/vbidec/vbiscreen.c b/gst/vbidec/vbiscreen.c
index 1143e06b..df347aca 100644
--- a/gst/vbidec/vbiscreen.c
+++ b/gst/vbidec/vbiscreen.c
@@ -382,6 +382,11 @@ void scroll_screen( vbiscreen_t *vs )
vs->scroll = 26;
}
+void vbiscreen_set_verbose( vbiscreen_t *vs, int verbose )
+{
+ vs->verbose = verbose;
+}
+
void vbiscreen_new_caption( vbiscreen_t *vs, int indent, int ital,
unsigned int colour, int row )
{
diff --git a/gst/vbidec/vbiscreen.h b/gst/vbidec/vbiscreen.h
index 5f376331..9afe2843 100644
--- a/gst/vbidec/vbiscreen.h
+++ b/gst/vbidec/vbiscreen.h
@@ -28,6 +28,7 @@ typedef struct vbiscreen_s vbiscreen_t;
vbiscreen_t *vbiscreen_new( int video_width, int video_height,
double video_aspect, int verbose, void *user_data );
void vbiscreen_delete( vbiscreen_t *vs );
+void vbiscreen_set_verbose( vbiscreen_t *vs, int verbose );
void vbiscreen_set_mode( vbiscreen_t *vs, int caption, int style);
void vbiscreen_new_caption( vbiscreen_t *vs, int indent, int ital,
unsigned int colour, int row );