Commit d0aa974e authored by Gildas Bazin's avatar Gildas Bazin

* modules/codec/ffmpeg/video_filter.c: fixed cases where pictures weren't released properly.

parent 59de4738
...@@ -203,6 +203,7 @@ static picture_t *Process( filter_t *p_filter, picture_t *p_pic ) ...@@ -203,6 +203,7 @@ static picture_t *Process( filter_t *p_filter, picture_t *p_pic )
if( !p_pic_dst ) if( !p_pic_dst )
{ {
msg_Warn( p_filter, "can't get output picture" ); msg_Warn( p_filter, "can't get output picture" );
p_pic->pf_release( p_pic );
return NULL; return NULL;
} }
......
...@@ -1438,6 +1438,7 @@ static int transcode_video_process( sout_stream_t *p_stream, ...@@ -1438,6 +1438,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
msg_Dbg( p_stream, "dropping frame (%i)", msg_Dbg( p_stream, "dropping frame (%i)",
(int)(i_video_drift - i_master_drift) ); (int)(i_video_drift - i_master_drift) );
#endif #endif
p_pic->pf_release( p_pic );
return VLC_EGENERIC; return VLC_EGENERIC;
} }
else if( i_video_drift > i_master_drift + 50000 ) else if( i_video_drift > i_master_drift + 50000 )
...@@ -1456,6 +1457,7 @@ static int transcode_video_process( sout_stream_t *p_stream, ...@@ -1456,6 +1457,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
{ {
transcode_video_close( p_stream, id ); transcode_video_close( p_stream, id );
id->b_transcode = VLC_FALSE; id->b_transcode = VLC_FALSE;
p_pic->pf_release( p_pic );
return VLC_EGENERIC; return VLC_EGENERIC;
} }
...@@ -1534,6 +1536,7 @@ static int transcode_video_process( sout_stream_t *p_stream, ...@@ -1534,6 +1536,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
transcode_video_close( p_stream, id ); transcode_video_close( p_stream, id );
id->b_transcode = VLC_FALSE; id->b_transcode = VLC_FALSE;
p_pic->pf_release( p_pic );
return VLC_EGENERIC; return VLC_EGENERIC;
} }
} }
......
...@@ -112,6 +112,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ) ...@@ -112,6 +112,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_pic_dst ) if( !p_pic_dst )
{ {
msg_Warn( p_filter, "can't get output picture" ); msg_Warn( p_filter, "can't get output picture" );
p_pic->pf_release( p_pic );
return NULL; return NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment