+ pb = (bool *)va_arg( args, bool * );
+ *pb = true;
+ return VLC_SUCCESS;
+
+ case DEMUX_SET_PAUSE_STATE:
+ b = (bool)va_arg( args, int );
+ if ( b )
+ {
+ p_sys->i_pause_pts = mdate();
+ }
+ else if ( p_sys->i_pause_pts )
+ {
+ mtime_t i_pause_duration = mdate() - p_sys->i_pause_pts;
+ p_sys->i_first_pts += i_pause_duration;
+ p_sys->i_last_pts += i_pause_duration;
+ if ( p_sys->i_duration )
+ p_sys->i_end_pts += i_pause_duration;
+ p_sys->i_pause_pts = 0;
+ }