- p_sys->f_fps = GetAbsoluteMaxFrameRate( p_demux, i_fd,
- fmt.fmt.pix.pixelformat );
- msg_Dbg( p_demux, "Found maximum framerate of %f", p_sys->f_fps );
+ if( p_sys->f_fps <= 0 )
+ {
+ p_sys->f_fps = GetAbsoluteMaxFrameRate( p_demux, i_fd,
+ fmt.fmt.pix.pixelformat );
+ msg_Dbg( p_demux, "Found maximum framerate of %f", p_sys->f_fps );
+ }
+ GetMaxDimensions( p_demux, i_fd,
+ fmt.fmt.pix.pixelformat, p_sys->f_fps,
+ &fmt.fmt.pix.width, &fmt.fmt.pix.height );
+ msg_Dbg( p_demux, "Found optimal dimensions for framerate %f of %dx%d",
+ p_sys->f_fps, fmt.fmt.pix.width, fmt.fmt.pix.height );
+ if( v4l2_ioctl( i_fd, VIDIOC_S_FMT, &fmt ) < 0 ) {;}