#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_access.h>
+#include <vlc_charset.h>
#include <vlc_demux.h>
#include <vlc_input.h>
#include <ctype.h>
+#include <errno.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
}
else if( !strncmp( psz_parser, "fps=", strlen( "fps=" ) ) )
{
- p_sys->f_fps = strtof( psz_parser + strlen( "fps=" ),
- &psz_parser );
+ p_sys->f_fps = us_strtof( psz_parser + strlen( "fps=" ),
+ &psz_parser );
}
else if( !strncmp( psz_parser, "io=", strlen( "io=" ) ) )
{
fmt.fmt.pix.pixelformat );
msg_Dbg( p_demux, "Found maximum framerate of %f", p_sys->f_fps );
}
+ uint32_t i_width, i_height;
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 ) {;}
+ &i_width, &i_height );
+ if( i_width || i_height )
+ {
+ msg_Dbg( p_demux, "Found optimal dimensions for framerate %f of %dx%d",
+ p_sys->f_fps, i_width, i_height );
+ fmt.fmt.pix.width = i_width;
+ fmt.fmt.pix.height = i_height;
+ if( v4l2_ioctl( i_fd, VIDIOC_S_FMT, &fmt ) < 0 ) {;}
+ }
+ else
+ {
+ msg_Warn( p_obj, "Could not find optimal width and height." );
+ }
}
/* Reassign width, height and chroma incase driver override */