+/*****************************************************************************
+ * libvlc_video_get_marquee_option_as_string : get a marq option value
+ *****************************************************************************/
+char * libvlc_video_get_marquee_option_as_string( libvlc_media_player_t *p_mi,
+ libvlc_video_marquee_string_option_t option,
+ libvlc_exception_t *p_e )
+{
+ const char * identifier = get_marquee_string_option_identifier(option);
+ if(!identifier)
+ {
+ libvlc_exception_raise( p_e, "This option is not available" );
+ return 0;
+ }
+
+ vlc_object_t * marquee = get_marquee_object(p_mi);
+ if(!marquee)
+ {
+ libvlc_exception_raise( p_e, "Marquee is not enabled" );
+ return 0;
+ }
+ char *ret = var_GetString(marquee, identifier);
+ vlc_object_release(marquee);
+ return ret;
+}
+
+/*****************************************************************************
+ * libvlc_video_set_marquee_option_as_int: enable, disable or set an int option
+ *****************************************************************************/
+void libvlc_video_set_marquee_option_as_int( libvlc_media_player_t *p_mi,
+ libvlc_video_marquee_int_option_t option,
+ int value, libvlc_exception_t *p_e )
+{
+ const char * identifier = get_marquee_int_option_identifier(option);
+ if(!identifier)
+ {
+ libvlc_exception_raise( p_e, "This option is not available" );
+ return;
+ }
+
+ /* Handle the libvlc_marquee_Enabled separately */
+ if(option == libvlc_marquee_Enabled)
+ {
+ libvlc_exception_t e;
+ libvlc_exception_init(&e);
+ vout_thread_t * vout = GetVout( p_mi, &e );
+ libvlc_exception_clear(&e);
+ if (vout)
+ {
+ vout_EnableFilter(vout, identifier, value, false);
+ vlc_object_release(vout);
+ }
+ else
+ {
+ libvlc_exception_raise( p_e, "No Vout" );
+ }
+ return;
+ }
+
+ vlc_object_t * marquee = get_marquee_object(p_mi);
+ if(!marquee)
+ {
+ libvlc_exception_raise( p_e, "Marquee is not enabled" );
+ return;
+ }
+ var_SetInteger(marquee, identifier, value);
+ vlc_object_release(marquee);
+}
+
+/*****************************************************************************
+ * libvlc_video_set_marquee_option_as_string: set a string option
+ *****************************************************************************/
+void libvlc_video_set_marquee_option_as_string( libvlc_media_player_t *p_mi,
+ libvlc_video_marquee_string_option_t option,
+ const char * value,
+ libvlc_exception_t *p_e )
+{
+ const char * identifier = get_marquee_string_option_identifier(option);
+ if(!identifier)
+ {
+ libvlc_exception_raise( p_e, "This option is not available" );
+ return;
+ }
+ vlc_object_t * marquee = get_marquee_object(p_mi);
+ if(!marquee)
+ {
+ libvlc_exception_raise( p_e, "Marquee is not enabled" );
+ return;
+ }
+ var_SetString(marquee, identifier, value);
+ vlc_object_release(marquee);