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

Laurent Aimar fenrir at via.ecp.fr
Tue Nov 11 15:05:33 CET 2008


On Tue, Nov 11, 2008, Glen Gray wrote:
> Hi,
> 
> On 11 Nov 2008, at 13:28, Laurent Aimar wrote:
> >> 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.
> 
> 
> The reason I used a different set of control calls here  
> (DEMUX_SET_SCALE...) was that the mechanisms for setting the value of  
> the RATE and passing up those RATE versions where specifically not  
> going to allow negative float values and hence couldn't be used for  
> rewind trickplay. The issues are more to do with the input layer and  
> getting those values into the demux rather than with whether tricplay  
> works or not. It works perfectly well.
 Yes but I was not enjoyed by the idea of supporting 2 ways of controlling exactly
the same concept (rate), and so having duplicated input/gui code.
 Extending the current rate path for negative rate should not be difficult 
*when* DEMUX_CAN_CONTROL_RATE set pb_ts_rescale to false.

 Anyway, FF should at least be able to work, but I see it is commented out
in live555.cpp. My commit log was:

"Added DEMUX_CAN_CONTROL_RATE and DEMUX_SET_RATE implementation based
 on Glen Gray patch.
 (The code is commented until it is confirmed to compil/work.)"

As no one has confirmed it working, it is still commented out...

-- 
fenrir




More information about the vlc-devel mailing list