sout transcode ignores low fps in vlc 0.86 but works ok in vlc 0.82
When you use -sout=#transcode{fps=1.00,vcodec=MJPG,vbr=512,scale=0.5}:duplicate{dst=std{access=http,mux=asf,dst=http.... }} in vlc 0.86, you never get 1 fps, but using vlc 0.82 it works ok.
I think the problem is in transcode.c, lines 2055, 2302 and 2315 where we have
if ( p_pic->date - i_pts > MASTER_SYNC_MAX_DRIFT || p_pic->date - i_pts < -MASTER_SYNC_MAX_DRIFT )
{
msg_Dbg( p_stream, "drift is too high, resetting master sync" );
date_Set( &id->interpolated_pts, p_pic->date );
}
For low fps, p_pic->date and i_pts are quite different, so the program always "resets" master sync, and the frames that should be dropped are not. As a result, the transcoded video has the same frame-rate as the original stream.
In VLC 0.82, this "resetting" code was not present.
I suggest taking into account the interval between frames in the transcoded video when deciding if master sync must be resetted.
Plaese take into account that low frame rate are often used in video surveillance, and are required for transmition across mobile networks.