]> git.sesse.net Git - vlc/blobdiff - src/control/mediacontrol_audio_video.c
XDG user dirs support (unused)
[vlc] / src / control / mediacontrol_audio_video.c
index cb28ccfacbe8fae680e1282d0cae041ce7e3b37b..330e90c6bfba3063ad9f8818becfe01b5be89eef 100644 (file)
@@ -85,6 +85,7 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
 
     if( vout_GetSnapshot( p_vout, &p_image, NULL, &fmt, "png", 500*1000 ) )
     {
+        vlc_object_release( p_vout );
         RAISE_NULL( mediacontrol_InternalException, "Snapshot exception" );
         return NULL;
     }
@@ -109,6 +110,8 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
 
     if( !p_pic )
         RAISE_NULL( mediacontrol_InternalException, "Out of memory" );
+
+    vlc_object_release( p_vout );
     return p_pic;
 }
 
@@ -118,7 +121,7 @@ int mediacontrol_showtext( vout_thread_t *p_vout, int i_channel,
                            int i_flags, int i_hmargin, int i_vmargin,
                            mtime_t i_start, mtime_t i_stop )
 {
-    return osd_ShowTextAbsolute( p_vout->p_spu, i_channel,
+    return osd_ShowTextAbsolute( vout_GetSpu( p_vout ), i_channel,
                                  psz_string, p_style,
                                  i_flags, i_hmargin, i_vmargin,
                                  i_start, i_stop );
@@ -150,6 +153,9 @@ mediacontrol_display_text( mediacontrol_Instance *self,
         RAISE_VOID( mediacontrol_InternalException, "No input" );
     }
     p_vout = input_GetVout( p_input );
+    /*FIXME: take care of the next fixme that can use p_input */
+    vlc_object_release( p_input );
+
     if( ! p_vout )
     {
         RAISE_VOID( mediacontrol_InternalException, "No video output" );