+ {
+ vlc_value_t val, text;
+ vlc_value_t root;
+
+ if( var_Change( p_input, "title 0", VLC_VAR_GETLIST, &val, &text ) < 0 )
+ return;
+
+ /* XXX is it "Root" or "Title" we want here ?" (set 0 by default) */
+ root.i_int = 0;
+ for( int i = 0; i < val.p_list->i_count; i++ )
+ {
+ if( !strcmp( text.p_list->p_values[i].psz_string, "Title" ) )
+ root.i_int = i;
+ }
+ var_Change( p_input, "title 0", VLC_VAR_FREELIST, &val, &text );
+
+ var_Set( p_input, "title 0", root );
+ }
+}
+
+/*
+ * Teletext Functions
+ */
+
+/* Set a new Teletext Page */
+void InputManager::telexSetPage( int page )
+{
+ if( hasInput() )
+ {
+ const int i_teletext_es = var_GetInteger( p_input, "teletext-es" );
+ const int i_spu_es = var_GetInteger( p_input, "spu-es" );
+
+ if( i_teletext_es >= 0 && i_teletext_es == i_spu_es )
+ {
+ vlc_object_t *p_vbi = (vlc_object_t *) vlc_object_find_name( p_input,
+ "zvbi", FIND_ANYWHERE );
+ if( p_vbi )
+ {
+ var_SetInteger( p_vbi, "vbi-page", page );
+ vlc_object_release( p_vbi );
+ emit newTelexPageSet( page );
+ }
+ }
+ }