Commit 9432bf00 authored by André Weber's avatar André Weber

atmo: fix assertion issue with picture_release

do copy the in picture to out picture like all other video filters also if it is not needed for the atmo purpose just to get it working again.
parent c24028b1
...@@ -44,6 +44,8 @@ ...@@ -44,6 +44,8 @@
#include <vlc_playlist.h> #include <vlc_playlist.h>
#include <vlc_filter.h> #include <vlc_filter.h>
#include "filter_picture.h"
#include "AtmoDefs.h" #include "AtmoDefs.h"
#include "AtmoDynData.h" #include "AtmoDynData.h"
#include "AtmoLiveView.h" #include "AtmoLiveView.h"
...@@ -2289,7 +2291,15 @@ static picture_t * Filter( filter_t *p_filter, picture_t *p_pic ) ...@@ -2289,7 +2291,15 @@ static picture_t * Filter( filter_t *p_filter, picture_t *p_pic )
{ {
filter_sys_t *p_sys = p_filter->p_sys; filter_sys_t *p_sys = p_filter->p_sys;
if( !p_pic ) return NULL; if( !p_pic ) return NULL;
picture_t *p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
picture_Release( p_pic );
return NULL;
}
picture_CopyPixels( p_outpic, p_pic );
vlc_mutex_lock( &p_sys->filter_lock ); vlc_mutex_lock( &p_sys->filter_lock );
if((p_sys->b_enabled == true) && if((p_sys->b_enabled == true) &&
...@@ -2301,14 +2311,13 @@ static picture_t * Filter( filter_t *p_filter, picture_t *p_pic ) ...@@ -2301,14 +2311,13 @@ static picture_t * Filter( filter_t *p_filter, picture_t *p_pic )
p_sys->i_crop_width = p_filter->fmt_in.video.i_visible_width; p_sys->i_crop_width = p_filter->fmt_in.video.i_visible_width;
p_sys->i_crop_height = p_filter->fmt_in.video.i_visible_height; p_sys->i_crop_height = p_filter->fmt_in.video.i_visible_height;
CreateMiniImage(p_filter, p_pic); CreateMiniImage(p_filter, p_outpic);
} }
vlc_mutex_unlock( &p_sys->filter_lock ); vlc_mutex_unlock( &p_sys->filter_lock );
return CopyInfoAndRelease( p_outpic, p_pic );
return p_pic;
} }
......
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