VB_LONGTEXT, false )
add_float( SOUT_CFG_PREFIX "scale", 0, SCALE_TEXT,
SCALE_LONGTEXT, false )
- add_float( SOUT_CFG_PREFIX "fps", 0, FPS_TEXT,
+ add_string( SOUT_CFG_PREFIX "fps", NULL, FPS_TEXT,
FPS_LONGTEXT, false )
add_bool( SOUT_CFG_PREFIX "hurry-up", false, HURRYUP_TEXT,
HURRYUP_LONGTEXT, false )
p_sys->f_scale = var_GetFloat( p_stream, SOUT_CFG_PREFIX "scale" );
- p_sys->f_fps = var_GetFloat( p_stream, SOUT_CFG_PREFIX "fps" );
+ p_sys->b_master_sync = var_InheritURational( p_stream, &p_sys->fps_num, &p_sys->fps_den, SOUT_CFG_PREFIX "fps" );
p_sys->b_hurry_up = var_GetBool( p_stream, SOUT_CFG_PREFIX "hurry-up" );
}
/* Audio settings */
- p_sys->b_master_sync = var_GetBool( p_stream, SOUT_CFG_PREFIX "audio-sync" );
- if( p_sys->f_fps > 0 ) p_sys->b_master_sync = true;
+ p_sys->b_master_sync = __MAX( p_sys->b_master_sync == VLC_SUCCESS, var_GetBool( p_stream, SOUT_CFG_PREFIX "audio-sync" ) );
p_stream->pf_add = Add;
p_stream->pf_del = Del;
config_chain_t *p_video_cfg;
int i_vbitrate;
double f_scale;
- double f_fps;
unsigned int i_width, i_maxwidth;
unsigned int i_height, i_maxheight;
bool b_deinterlace;
int i_threads;
bool b_high_priority;
bool b_hurry_up;
+ unsigned int fps_num,fps_den;
char *psz_vf2;
* all the characteristics of the decoded stream yet */
id->b_transcode = true;
- if( p_sys->f_fps > 0 )
+ if( p_sys->fps_num )
{
- id->p_encoder->fmt_out.video.i_frame_rate = (p_sys->f_fps * ENC_FRAMERATE_BASE);
- id->p_encoder->fmt_out.video.i_frame_rate_base = ENC_FRAMERATE_BASE;
+ id->p_encoder->fmt_out.video.i_frame_rate = (p_sys->fps_num );
+ id->p_encoder->fmt_out.video.i_frame_rate_base = (p_sys->fps_den ? p_sys->fps_den : 1);
}
return true;