filter_sys_t *p_sys = p_filter->p_sys;
bridge_t *p_bridge;
- subpicture_t *p_spu;
-
int i_index, i_real_index, i_row, i_col;
int i_greatest_real_index_used = p_sys->i_order_length - 1;
subpicture_region_t *p_region_prev = NULL;
/* Allocate the subpicture internal data. */
- p_spu = filter_NewSubpicture( p_filter );
+ subpicture_t *p_spu = filter_NewSubpicture( p_filter );
if( !p_spu )
return NULL;
p_spu->i_alpha = p_sys->i_alpha;
p_spu->b_absolute = false;
+ p_spu->i_original_picture_width = p_sys->i_width;
+ p_spu->i_original_picture_height = p_sys->i_height;
+
vlc_mutex_lock( &p_sys->lock );
vlc_global_lock( VLC_MOSAIC_MUTEX );
if( !p_region )
{
msg_Err( p_filter, "cannot allocate SPU region" );
- p_filter->pf_sub_buffer_del( p_filter, p_spu );
+ subpicture_Delete( p_spu );
vlc_global_unlock( VLC_MOSAIC_MUTEX );
vlc_mutex_unlock( &p_sys->lock );
- return p_spu;
+ return NULL;
}
if( p_es->i_x >= 0 && p_es->i_y >= 0 )