summaryrefslogtreecommitdiffstats
path: root/libmpdemux/tvi_v4l.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdemux/tvi_v4l.c')
-rw-r--r--libmpdemux/tvi_v4l.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/libmpdemux/tvi_v4l.c b/libmpdemux/tvi_v4l.c
index 52d7bb4226..bfae762085 100644
--- a/libmpdemux/tvi_v4l.c
+++ b/libmpdemux/tvi_v4l.c
@@ -579,19 +579,24 @@ static int uninit(priv_t *priv)
static int get_capture_buffer_size(priv_t *priv)
{
int bufsize, cnt;
-#ifdef HAVE_SYS_SYSINFO_H
- struct sysinfo si;
-
- sysinfo(&si);
- if (si.totalram<2*1024*1024) {
- bufsize = 1024*1024;
+
+ if (tv_param_buffer_size) {
+ bufsize = tv_param_buffer_size*1024*1024;
} else {
- bufsize = si.totalram/2;
- }
+#ifdef HAVE_SYS_SYSINFO_H
+ struct sysinfo si;
+
+ sysinfo(&si);
+ if (si.totalram<2*1024*1024) {
+ bufsize = 1024*1024;
+ } else {
+ bufsize = si.totalram/2;
+ }
#else
- bufsize = 16*1024*1024;
+ bufsize = 16*1024*1024;
#endif
-
+ }
+
cnt = bufsize/(priv->height*priv->bytesperline);
if (cnt < 2) cnt = 2;