+ else
+ {
+ p_input->stream.p_demux_data = NULL;
+ }
+
+ var_Create( p_input, "intf-change", VLC_VAR_BOOL );
+ val.b_bool = VLC_TRUE;
+ var_Set( p_input, "intf-change", val );
+
+ /* Create a few object variables used for navigation in the interfaces */
+ var_Create( p_input, "program", VLC_VAR_INTEGER | VLC_VAR_HASCHOICE );
+ text.psz_string = _("Program");
+ var_Change( p_input, "program", VLC_VAR_SETTEXT, &text, NULL );
+
+ var_Create( p_input, "title", VLC_VAR_INTEGER | VLC_VAR_HASCHOICE );
+ text.psz_string = _("Title");
+ var_Change( p_input, "title", VLC_VAR_SETTEXT, &text, NULL );
+
+ var_Create( p_input, "chapter", VLC_VAR_INTEGER | VLC_VAR_HASCHOICE );
+ text.psz_string = _("Chapter");
+ var_Change( p_input, "chapter", VLC_VAR_SETTEXT, &text, NULL );
+
+ var_Create( p_input, "navigation", VLC_VAR_VARIABLE | VLC_VAR_HASCHOICE );
+ text.psz_string = _("Navigation");
+ var_Change( p_input, "navigation", VLC_VAR_SETTEXT, &text, NULL );
+
+ var_Create( p_input, "video-es", VLC_VAR_INTEGER | VLC_VAR_HASCHOICE );
+ text.psz_string = _("Video track");
+ var_Change( p_input, "video-es", VLC_VAR_SETTEXT, &text, NULL );
+ var_Create( p_input, "audio-es", VLC_VAR_INTEGER | VLC_VAR_HASCHOICE );
+ text.psz_string = _("Audio track");
+ var_Change( p_input, "audio-es", VLC_VAR_SETTEXT, &text, NULL );
+ var_Create( p_input, "spu-es", VLC_VAR_INTEGER | VLC_VAR_HASCHOICE );
+ text.psz_string = _("Subtitles track");
+ var_Change( p_input, "spu-es", VLC_VAR_SETTEXT, &text, NULL );
+
+ var_AddCallback( p_input, "program", ProgramCallback, NULL );
+ var_AddCallback( p_input, "title", TitleCallback, NULL );
+ var_AddCallback( p_input, "chapter", ChapterCallback, NULL );
+ var_AddCallback( p_input, "video-es", ESCallback, NULL );
+ var_AddCallback( p_input, "audio-es", ESCallback, NULL );
+ var_AddCallback( p_input, "spu-es", ESCallback, NULL );