diff options
Diffstat (limited to 'gst/vbidec')
-rw-r--r-- | gst/vbidec/gstvbidec.c | 8 | ||||
-rw-r--r-- | gst/vbidec/vbidata.c | 5 | ||||
-rw-r--r-- | gst/vbidec/vbidata.h | 1 | ||||
-rw-r--r-- | gst/vbidec/vbiscreen.c | 5 | ||||
-rw-r--r-- | gst/vbidec/vbiscreen.h | 1 |
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 ); |