var_AddCallback( p_input, "state", ItemStateChanged, this );
/* src/input/es-out.c:552 */
var_AddCallback( p_input, "spu-es", ChangeSPU, this );
+ /* emit UpdateStatus so that main_interface updates controls
+ * if there is new videotracks (mpeg-ts)*/
+ var_AddCallback( p_input, "video-es", ItemStateChanged, this );
/* src/input/es-out.c: */
var_AddCallback( p_input, "teletext-es", ChangeTeletext, this );
/* src/input/input.c:1765 */
void InputManager::delCallbacks()
{
var_DelCallback( p_input, "spu-es", ChangeSPU, this );
+ var_DelCallback( p_input, "video-es", ItemStateChanged, this );
var_DelCallback( p_input, "teletext-es", ChangeTeletext, this );
var_DelCallback( p_input, "state", ItemStateChanged, this );
var_DelCallback( p_input, "rate-change", ItemRateChanged, this );
{
if( hasInput() )
{
- vlc_value_t val; val.i_int = 2;
- var_Set( p_input, "title 0", val );
+ 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 );
}
}
void InputManager::telexToggle( bool b_enabled )
{
- int i_page = 100;
-
if( hasInput() )
{
const int i_teletext_es = var_GetInteger( p_input, "teletext-es" );
const int i_spu_es = var_GetInteger( p_input, "spu-es" );
- b_enabled = i_teletext_es >= 0;
- if( b_enabled && i_teletext_es == i_spu_es )
+ b_enabled = (i_teletext_es >= 0);
+ emit teletextEnabled( b_enabled );
+ if( b_enabled && (i_teletext_es == i_spu_es) )
{
vlc_object_t *p_vbi;
+ int i_page = 100;
p_vbi = (vlc_object_t *) vlc_object_find_name( p_input,
"zvbi", FIND_ANYWHERE );
if( p_vbi )
}
}
}
- emit teletextEnabled( b_enabled );
+ else emit teletextEnabled( b_enabled );
}
void InputManager::telexToggleButtons()