- demux2_Control( in->p_demux, DEMUX_CAN_CONTROL_PACE,
- &in->b_can_pace_control );
- demux2_Control( in->p_demux, DEMUX_CAN_PAUSE,
- &in->b_can_pause );
+ if( demux2_Control( in->p_demux, DEMUX_CAN_CONTROL_PACE,
+ &in->b_can_pace_control ) )
+ in->b_can_pace_control = VLC_FALSE;
+
+ if( !in->b_can_pace_control )
+ {
+ if( demux2_Control( in->p_demux, DEMUX_CAN_CONTROL_RATE,
+ &in->b_can_rate_control, &in->b_rescale_ts ) )
+ {
+ in->b_can_rate_control = VLC_FALSE;
+ in->b_rescale_ts = VLC_TRUE; /* not used */
+ }
+ }
+ else
+ {
+ in->b_can_rate_control = VLC_TRUE;
+ in->b_rescale_ts = VLC_TRUE;
+ }
+ if( demux2_Control( in->p_demux, DEMUX_CAN_PAUSE,
+ &in->b_can_pause ) )
+ in->b_can_pause = VLC_FALSE;
+ var_SetBool( p_input, "can-pause", in->b_can_pause );