* Preamble
*****************************************************************************/
#include "config.h"
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
#include <vlc_input.h>
N_("Force the subtiles format. Use \"auto\", the set of supported values varies.")
vlc_module_begin();
- set_shortname( _("Subtitles (asa demuxer)"));
- set_description( _("Text subtitles parser") );
- set_capability( "demux2", 50 );
+ set_shortname( N_("Subtitles (asa demuxer)"));
+ set_description( N_("Text subtitles parser") );
+ set_capability( "demux", 50 );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_DEMUX );
add_float( "sub-fps", 0.0, NULL,
N_("Frames per second"),
- SUB_FPS_LONGTEXT, VLC_TRUE );
+ SUB_FPS_LONGTEXT, true );
add_integer( "sub-delay", 0, NULL,
N_("Subtitles delay"),
- SUB_DELAY_LONGTEXT, VLC_TRUE );
+ SUB_DELAY_LONGTEXT, true );
add_string( "sub-type", "auto", NULL, N_("Subtitles format"),
- SUB_TYPE_LONGTEXT, VLC_TRUE );
+ SUB_TYPE_LONGTEXT, true );
set_callbacks( Open, Close );
add_shortcut( "asademux" );
if( strcmp( p_demux->psz_demux, "asademux" ) )
{
- msg_Dbg( p_demux, "asademux discarded" );
return VLC_EGENERIC;
}
p_demux->pf_demux = Demux;
p_demux->pf_control = Control;
p_demux->p_sys = p_sys = malloc( sizeof( demux_sys_t ) );
+ if( !p_sys )
+ return VLC_ENOMEM;
p_sys->psz_header = NULL;
p_sys->i_subtitle = 0;
p_sys->i_subtitles = 0;
}
if( !p_detect->fmt )
{
- msg_Err( p_demux, "detected %s subtitle format, no asa support" );
+ msg_Err( p_demux, "detected %s subtitle format, no asa support", p_detect->name );
free( p_sys );
return VLC_EGENERIC;
}
p_data = malloc( i_ssize );
if( !p_data )
{
- msg_Err( p_demux, "out of memory");
free( p_sys );
return VLC_ENOMEM;
}
subtitle_t *p_subtitle;
char *psz_text;
+ VLC_UNUSED(p_arg);
+
if( p_sys->i_subtitles >= p_sys->i_subs_alloc )
{
p_sys->i_subs_alloc += 500;
if( !( p_sys->subtitle = realloc( p_sys->subtitle, sizeof(subtitle_t)
* p_sys->i_subs_alloc ) ) )
{
- msg_Err( p_demux, "out of memory");
return VLC_ENOMEM;
}
}
int i;
for( i = 0; i < p_sys->i_subtitles; i++ )
- {
- if( p_sys->subtitle[i].psz_text )
- free( p_sys->subtitle[i].psz_text );
- }
- if( p_sys->subtitle )
- free( p_sys->subtitle );
+ free( p_sys->subtitle[i].psz_text );
+ free( p_sys->subtitle );
free( p_sys );
}
static void Fix( demux_t *p_demux )
{
demux_sys_t *p_sys = p_demux->p_sys;
- vlc_bool_t b_done;
+ bool b_done;
int i_index;
/* *** fix order (to be sure...) *** */
*/
do
{
- b_done = VLC_TRUE;
+ b_done = true;
for( i_index = 1; i_index < p_sys->i_subtitles; i_index++ )
{
if( p_sys->subtitle[i_index].i_start <
memcpy( p_sys->subtitle + i_index,
&sub_xch,
sizeof( subtitle_t ) );
- b_done = VLC_FALSE;
+ b_done = false;
}
}
} while( !b_done );