]> git.sesse.net Git - vlc/blobdiff - src/control/video.c
LibVLC teletext: various fixes
[vlc] / src / control / video.c
index 286ae181761ee541628db40f5a913d83a9f3a361..df91345a3eb92f6ae660d025285c221ebc721d1d 100644 (file)
@@ -390,37 +390,17 @@ void libvlc_video_set_crop_geometry( libvlc_media_player_t *p_mi,
 
 int libvlc_video_get_teletext( libvlc_media_player_t *p_mi )
 {
-    input_thread_t *p_input_thread;
-    vlc_object_t *p_zvbi = NULL;
-    int i_ret = -1, telx;
-
-    p_input_thread = libvlc_get_input_thread( p_mi );
-    if( !p_input_thread ) return i_ret;
-
-    if( var_CountChoices( p_input_thread, "teletext-es" ) <= 0 )
-    {
-        vlc_object_release( p_input_thread );
-        return i_ret;
-    }
-
-    telx = var_GetInteger( p_input_thread, "teletext-es" );
-    if( input_GetEsObjects( p_input_thread, telx, &p_zvbi, NULL, NULL )
-        != VLC_SUCCESS )
-    {
-        i_ret = var_GetInteger( p_zvbi, "vbi-page" );
-        vlc_object_release( p_zvbi );
-    }
-    vlc_object_release( p_input_thread );
-    return i_ret;
+    return var_GetInteger (p_mi, "vbi-page");
 }
 
-void libvlc_video_set_teletext( libvlc_media_player_t *p_mi, int i_page,
-                                libvlc_exception_t *p_e )
+void libvlc_video_set_teletext( libvlc_media_player_t *p_mi, int i_page )
 {
     input_thread_t *p_input_thread;
     vlc_object_t *p_zvbi = NULL;
     int telx;
 
+    var_SetInteger (p_mi, "vbi-page", i_page);
+
     p_input_thread = libvlc_get_input_thread( p_mi );
     if( !p_input_thread ) return;
 
@@ -432,15 +412,10 @@ void libvlc_video_set_teletext( libvlc_media_player_t *p_mi, int i_page,
 
     telx = var_GetInteger( p_input_thread, "teletext-es" );
     if( input_GetEsObjects( p_input_thread, telx, &p_zvbi, NULL, NULL )
-        != VLC_SUCCESS )
+        == VLC_SUCCESS )
     {
-        int i_ret = var_SetInteger( p_zvbi, "vbi-page", i_page );
+        var_SetInteger( p_zvbi, "vbi-page", i_page );
         vlc_object_release( p_zvbi );
-        if( i_ret )
-        {
-            libvlc_exception_raise( p_e );
-            libvlc_printerr( "Unexpected error while setting teletext page" );
-        }
     }
     vlc_object_release( p_input_thread );
 }