/*****************************************************************************
* Module descriptor.
*****************************************************************************/
-static const char *ppsz_encodings[] = { DEFAULT_NAME, "ASCII", "UTF-8", "",
+static const char *const ppsz_encodings[] = {
+ DEFAULT_NAME, "ASCII", "UTF-8", "",
"ISO-8859-1", "CP1252", "MacRoman", "MacIceland","ISO-8859-15", "",
"ISO-8859-2", "CP1250", "MacCentralEurope", "MacCroatian", "MacRomania", "",
"ISO-8859-5", "CP1251", "MacCyrillic", "MacUkraine", "KOI8-R", "KOI8-U", "KOI8-RU", "",
254 = PC 437
*/
-static int pi_justification[] = { 0, 1, 2 };
-static const char *ppsz_justification_text[] = {N_("Center"),N_("Left"),N_("Right")};
+static const int pi_justification[] = { 0, 1, 2 };
+static const char *const ppsz_justification_text[] = {
+ N_("Center"),N_("Left"),N_("Right")};
#define ENCODING_TEXT N_("Subtitles text encoding")
#define ENCODING_LONGTEXT N_("Set the encoding used in text subtitles")
/* Allocate the memory needed to store the decoder's structure */
p_dec->p_sys = p_sys = malloc( sizeof( *p_sys ) );
if( p_sys == NULL )
- {
- msg_Err( p_dec, "out of memory" );
return VLC_ENOMEM;
- }
/* init of p_sys */
memset( p_sys, 0, sizeof( *p_sys ) );
****************************************************************************/
static subpicture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
{
- subpicture_t *p_spu = NULL;
+ subpicture_t *p_spu;
+ block_t *p_block;
+
+ if( !pp_block || *pp_block == NULL )
+ return NULL;
- if( !pp_block || *pp_block == NULL ) return NULL;
+ p_block = *pp_block;
+ if( p_block->i_rate != 0 )
+ p_block->i_length = p_block->i_length * p_block->i_rate / INPUT_RATE_DEFAULT;
- p_spu = ParseText( p_dec, *pp_block );
+ p_spu = ParseText( p_dec, p_block );
- block_Release( *pp_block );
+ block_Release( p_block );
*pp_block = NULL;
return p_spu;
continue;
if( p_sys->pp_images[i]->p_pic )
- p_sys->pp_images[i]->p_pic->pf_release( p_sys->pp_images[i]->p_pic );
+ picture_Release( p_sys->pp_images[i]->p_pic );
free( p_sys->pp_images[i]->psz_filename );
free( p_sys->pp_images[i] );