Commit 501d6e22 authored by Laurent Aimar's avatar Laurent Aimar

Do not use vout_AllocatePicture in dynamicoverlay sub filter

parent 447d0c8f
...@@ -483,24 +483,13 @@ static int exec_DataSharedMem( filter_t *p_filter, ...@@ -483,24 +483,13 @@ static int exec_DataSharedMem( filter_t *p_filter,
uint8_t *p_data, *p_in; uint8_t *p_data, *p_in;
size_t i_neededsize = 0; size_t i_neededsize = 0;
p_ovl->data.p_pic = malloc( sizeof( picture_t ) ); p_ovl->data.p_pic = picture_New( p_params->fourcc,
p_params->i_width, p_params->i_height,
1, 1 );
if( p_ovl->data.p_pic == NULL ) if( p_ovl->data.p_pic == NULL )
return VLC_ENOMEM; return VLC_ENOMEM;
video_format_Setup( &p_ovl->format, p_params->fourcc, p_ovl->format = p_ovl->data.p_pic->format;
p_params->i_width, p_params->i_height,
1, 1 );
if( vout_AllocatePicture( p_filter, p_ovl->data.p_pic,
p_ovl->format.i_chroma, p_params->i_width,
p_params->i_height,
p_ovl->format.i_sar_num,
p_ovl->format.i_sar_den ) )
{
msg_Err( p_filter, "Unable to allocate picture" );
free( p_ovl->data.p_pic );
p_ovl->data.p_pic = NULL;
return VLC_ENOMEM;
}
for( size_t i_plane = 0; i_plane < (size_t)p_ovl->data.p_pic->i_planes; for( size_t i_plane = 0; i_plane < (size_t)p_ovl->data.p_pic->i_planes;
++i_plane ) ++i_plane )
...@@ -515,7 +504,6 @@ static int exec_DataSharedMem( filter_t *p_filter, ...@@ -515,7 +504,6 @@ static int exec_DataSharedMem( filter_t *p_filter,
"Insufficient data in shared memory. need %zu, got %zu", "Insufficient data in shared memory. need %zu, got %zu",
i_neededsize, i_size ); i_neededsize, i_size );
picture_Release( p_ovl->data.p_pic ); picture_Release( p_ovl->data.p_pic );
free( p_ovl->data.p_pic );
p_ovl->data.p_pic = NULL; p_ovl->data.p_pic = NULL;
return VLC_EGENERIC; return VLC_EGENERIC;
} }
...@@ -525,7 +513,6 @@ static int exec_DataSharedMem( filter_t *p_filter, ...@@ -525,7 +513,6 @@ static int exec_DataSharedMem( filter_t *p_filter,
{ {
msg_Err( p_filter, "Unable to attach to shared memory" ); msg_Err( p_filter, "Unable to attach to shared memory" );
picture_Release( p_ovl->data.p_pic ); picture_Release( p_ovl->data.p_pic );
free( p_ovl->data.p_pic );
p_ovl->data.p_pic = NULL; p_ovl->data.p_pic = NULL;
return VLC_ENOMEM; return VLC_ENOMEM;
} }
......
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