[vlc-devel] Status of GUI support for RTSP seeking/fast-forward/reverse-play?

Laurent Aimar fenrir at via.ecp.fr
Tue Nov 11 14:28:10 CET 2008


Hi,

On Tue, Nov 11, 2008, Glen Gray wrote:
> On 11 Nov 2008, at 11:36, Jean-Baptiste Kempf wrote:
> >> The trickplay patches tell the RTSP server to "play" at a particular
> >> Scale factor, where 1.0 == normal play, 2.0 == double speed aka
> >> FastForward and -2.0 == Rewind at double speed.  (2.0 is just an
> >> example)
> >
> > Then, should this really be in the UI or in the core when you change  
> > the
> > rate ?
> 
> Well, the patchset basically got the Rate code in src/input/input.c  
> iirc to query the demuxer to see if it supported scaled trickplay
> 
> +            int i_rate, i_ret;
> +            vlc_bool_t b_scale_trickplay = VLC_FALSE;
> +
> +            /* Check to see if the Demux allows us to use Scale  
> trickplay */
> +            i_ret = demux2_Control( p_input->input.p_demux,
> +                                    DEMUX_HAS_SCALE_TRICKPLAY,
> +                                    &b_scale_trickplay );
> +            if( i_ret == VLC_SUCCESS && b_scale_trickplay == VLC_TRUE )
> +            {
> +                double scale = val.f_float;
> +
> +                msg_Dbg( p_input, "Setting RTSP Scale to %0.2f",  
> scale);
> +                demux2_Control( p_input->input.p_demux,  
> DEMUX_SET_SCALE,
> +                                scale );
> +                msg_Dbg( p_input, "Checking Scale....");
> +                /* Now, readback the value actually used by the  
> server */
> +                demux2_Control( p_input->input.p_demux,  
> DEMUX_GET_SCALE,
> +                                &scale);
> +                msg_Dbg( p_input, "Scale set to %0.2f", scale);
>               }
> 
> That's from my original patch, I know fenrir made some adjustments to  
> the patches based on conversations that where held on IRC at the time,  
> I can't recall exactly what.
 I have merged DEMUX_HAS_SCALE_TRICKPLAY into DEMUX_CAN_CONTROL_RATE and
then the rate is set using the standard DEMUX_SET_RATE at the demux level.
 So except rewind, everything is there to support rtsp ff.

-- 
fenrir




More information about the vlc-devel mailing list