]> git.sesse.net Git - vlc/commitdiff
* modules/codec/ffmpeg/video_filter.c: fixed cases where pictures weren't released...
authorGildas Bazin <gbazin@videolan.org>
Thu, 14 Oct 2004 22:14:09 +0000 (22:14 +0000)
committerGildas Bazin <gbazin@videolan.org>
Thu, 14 Oct 2004 22:14:09 +0000 (22:14 +0000)
modules/codec/ffmpeg/video_filter.c
modules/stream_out/transcode.c
modules/video_filter/scale.c

index b4b05a7019ae181b13ffb5f75db5cfa8ab6bd9c7..80ab91169751481c7d51240d52fbb8705a41499c 100644 (file)
@@ -203,6 +203,7 @@ static picture_t *Process( filter_t *p_filter, picture_t *p_pic )
     if( !p_pic_dst )
     {
         msg_Warn( p_filter, "can't get output picture" );
+        p_pic->pf_release( p_pic );
         return NULL;
     }
 
index 9316d66af3a8a4cc6900bf17c8532d2bb4867e96..bd211ad9c18da5131455bc0a7f3f72f7ec4a184f 100644 (file)
@@ -1438,6 +1438,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
                 msg_Dbg( p_stream, "dropping frame (%i)",
                          (int)(i_video_drift - i_master_drift) );
 #endif
+                p_pic->pf_release( p_pic );
                 return VLC_EGENERIC;
             }
             else if( i_video_drift > i_master_drift + 50000 )
@@ -1456,6 +1457,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
             {
                 transcode_video_close( p_stream, id );
                 id->b_transcode = VLC_FALSE;
+                p_pic->pf_release( p_pic );
                 return VLC_EGENERIC;
             }
 
@@ -1534,6 +1536,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
 
                     transcode_video_close( p_stream, id );
                     id->b_transcode = VLC_FALSE;
+                    p_pic->pf_release( p_pic );
                     return VLC_EGENERIC;
                 }
             }
index d213d32a59a1aacb9c017a5eb67f0cd0b1dcf9cd..d4606c1cbbe7bd3f9788210a93f704f7bee75331 100644 (file)
@@ -112,6 +112,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
     if( !p_pic_dst )
     {
         msg_Warn( p_filter, "can't get output picture" );
+        p_pic->pf_release( p_pic );
         return NULL;
     }