Commit 39eef2d3 authored by dionoea's avatar dionoea
Browse files

Ugly hack to make the filter chain work correctly for the video output core....

Ugly hack to make the filter chain work correctly for the video output core. This will be removed once all the different picture release methods have been merged into one coherent method.
parent 5cc4255a
......@@ -277,6 +277,10 @@ const es_format_t *filter_chain_GetFmtOut( filter_chain_t *p_chain )
/**
* Apply the filter chain
*/
/* FIXME This include is needed by the Ugly hack */
#include <vlc_vout.h>
picture_t *filter_chain_VideoFilter( filter_chain_t *p_chain, picture_t *p_pic )
{
int i;
......@@ -284,9 +288,21 @@ picture_t *filter_chain_VideoFilter( filter_chain_t *p_chain, picture_t *p_pic )
for( i = 0; i < p_chain->filters.i_count; i++ )
{
filter_t *p_filter = pp_filter[i];
p_pic = p_filter->pf_video_filter( p_filter, p_pic );
if( !p_pic )
picture_t *p_newpic = p_filter->pf_video_filter( p_filter, p_pic );
if( !p_newpic )
return NULL;
/* FIXME Ugly hack to make it work in picture core.
* FIXME Remove this code when the picture release API has been
* FIXME cleaned up (a git revert of the commit should work) */
if( p_chain->p_this->i_object_type == VLC_OBJECT_VOUT )
{
if( p_pic->i_refcount )
p_pic->i_status = DISPLAYED_PICTURE;
else
p_pic->i_status = DESTROYED_PICTURE;
p_newpic->i_status = READY_PICTURE;
}
p_pic = p_newpic;
}
return p_pic;
}
......
Supports Markdown
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