* Copyright (C) 2008 the VideoLAN team
* $Id$
*
- * Author: SÃ\83¸ren BÃ\83¸g <avacore@videolan.org>
+ * Author: Søren Bøg <avacore@videolan.org>
* Jean-Paul Saman <jpsaman@videolan.org>
*
* This program is free software; you can redistribute it and/or modify
p_ovl->i_x = p_ovl->i_y = 0;
p_ovl->i_alpha = 0xFF;
p_ovl->b_active = false;
- vout_InitFormat( &p_ovl->format, VLC_FOURCC( '\0','\0','\0','\0') , 0, 0,
- VOUT_ASPECT_FACTOR );
- memcpy( &p_ovl->fontstyle, &default_text_style, sizeof(struct text_style_t) );
+ video_format_Setup( &p_ovl->format, VLC_FOURCC( '\0','\0','\0','\0') , 0, 0,
+ VOUT_ASPECT_FACTOR );
+ p_ovl->p_fontstyle = text_style_New();
p_ovl->data.p_text = NULL;
return p_ovl;
{
if( p_ovl->data.p_text != NULL )
free( p_ovl->data.p_text );
+ text_style_Delete( p_ovl->p_fontstyle );
return VLC_SUCCESS;
}
static int parser_SetTextColor( char *psz_command, char *psz_end,
commandparams_t *p_params )
{
- int r, g, b;
+ int r = 0, g = 0, b = 0;
VLC_UNUSED(psz_end);
+
skip_space( &psz_command );
if( isdigit( *psz_command ) )
{
if( parse_digit( &psz_command, &b ) == VLC_EGENERIC )
return VLC_EGENERIC;
}
- p_params->fontstyle.i_font_color = (r<<24) | (g<<16) | (b<<8);
+ p_params->fontstyle.i_font_color = (r<<16) | (g<<8) | (b<<0);
return VLC_SUCCESS;
}
static int unparse_GetTextColor( const commandparams_t *p_results,
buffer_t *p_output )
{
- int ret = BufferPrintf( p_output, " %d", (p_results->fontstyle.i_font_color & 0xff0000)>>24 );
+ int ret = BufferPrintf( p_output, " %d", (p_results->fontstyle.i_font_color & 0xff0000)>>16 );
if( ret != VLC_SUCCESS )
return ret;
- ret = BufferPrintf( p_output, " %d", (p_results->fontstyle.i_font_color & 0x00ff00)>>16 );
+ ret = BufferPrintf( p_output, " %d", (p_results->fontstyle.i_font_color & 0x00ff00)>>8 );
if( ret != VLC_SUCCESS )
return ret;
- ret = BufferPrintf( p_output, " %d", (p_results->fontstyle.i_font_color & 0x0000ff)>>8 );
+ ret = BufferPrintf( p_output, " %d", (p_results->fontstyle.i_font_color & 0x0000ff) );
if( ret != VLC_SUCCESS )
return ret;
}
i_size = shminfo.shm_segsz;
- if( p_params->fourcc == VLC_FOURCC('T','E','X','T') )
+ if( p_params->fourcc == VLC_CODEC_TEXT )
{
char *p_data;
if( (size_t)p_params->i_width > i_size )
{
msg_Err( p_filter,
- "Insufficient data in shared memory. need %d, got %d",
+ "Insufficient data in shared memory. need %d, got %zu",
p_params->i_width, i_size );
return VLC_EGENERIC;
}
return VLC_ENOMEM;
}
- vout_InitFormat( &p_ovl->format, VLC_FOURCC('T','E','X','T'),
- 0, 0, 0 );
+ video_format_Setup( &p_ovl->format, VLC_CODEC_TEXT,
+ 0, 0, 0 );
p_data = shmat( p_params->i_shmid, NULL, SHM_RDONLY );
if( p_data == NULL )
if( p_ovl->data.p_pic == NULL )
return VLC_ENOMEM;
- vout_InitFormat( &p_ovl->format, p_params->fourcc,
- p_params->i_width, p_params->i_height,
- VOUT_ASPECT_FACTOR );
+ video_format_Setup( &p_ovl->format, p_params->fourcc,
+ p_params->i_width, p_params->i_height,
+ VOUT_ASPECT_FACTOR );
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_aspect ) )
msg_Err( p_filter,
"Insufficient data in shared memory. need %zu, got %zu",
i_neededsize, i_size );
- p_ovl->data.p_pic->pf_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;
return VLC_EGENERIC;
if( p_data == NULL )
{
msg_Err( p_filter, "Unable to attach to shared memory" );
- p_ovl->data.p_pic->pf_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;
return VLC_ENOMEM;
if( p_ovl == NULL )
return VLC_EGENERIC;
- p_results->fontstyle.i_font_alpha = p_ovl->fontstyle.i_font_alpha;
+ p_results->fontstyle.i_font_alpha = p_ovl->p_fontstyle->i_font_alpha;
return VLC_SUCCESS;
}
if( p_ovl == NULL )
return VLC_EGENERIC;
- p_results->fontstyle.i_font_color = p_ovl->fontstyle.i_font_color;
+ p_results->fontstyle.i_font_color = p_ovl->p_fontstyle->i_font_color;
return VLC_SUCCESS;
}
if( p_ovl == NULL )
return VLC_EGENERIC;
- p_results->fontstyle.i_font_size = p_ovl->fontstyle.i_font_size;
+ p_results->fontstyle.i_font_size = p_ovl->p_fontstyle->i_font_size;
return VLC_SUCCESS;
}
if( p_ovl == NULL )
return VLC_EGENERIC;
- p_ovl->fontstyle.i_font_alpha = p_params->fontstyle.i_font_alpha;
+ p_ovl->p_fontstyle->i_font_alpha = p_params->fontstyle.i_font_alpha;
p_sys->b_updated = p_ovl->b_active;
return VLC_SUCCESS;
}
if( p_ovl == NULL )
return VLC_EGENERIC;
- p_ovl->fontstyle.i_font_color = p_params->fontstyle.i_font_color;
+ p_ovl->p_fontstyle->i_font_color = p_params->fontstyle.i_font_color;
p_sys->b_updated = p_ovl->b_active;
return VLC_SUCCESS;
}
if( p_ovl == NULL )
return VLC_EGENERIC;
- p_ovl->fontstyle.i_font_size = p_params->fontstyle.i_font_size;
+ p_ovl->p_fontstyle->i_font_size = p_params->fontstyle.i_font_size;
p_sys->b_updated = p_ovl->b_active;
return VLC_SUCCESS;
}
/*****************************************************************************
* Command functions
*****************************************************************************/
-static commanddesc_t p_commands[] =
+static const commanddesc_t p_commands[] =
{
{ .psz_command = "DataSharedMem",
.b_atomic = true,