summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2016-04-14 12:21:26 +0200
committerAnton Khirnov <anton@khirnov.net>2016-04-30 08:31:08 +0200
commit74beead9bd596180bcac6108548fc0a86d8eb4ae (patch)
treed66a92f984547ae7951a5a055f2787618e204f43 /configure
parent45a954f5aa35161a741fffd6c8bb92e9f91a1720 (diff)
mmaldec: limit internal buffering
This uses a new MMAL feature, which limits the number of extra frames that can be buffered within the decoder. VIDEO_MAX_NUM_CALLBACKS can be defined as positive or negative number. Positive numbers are absolute, and can lead to deadlocks if the user underestimates the number of required buffers. Negative numbers specify the number of extra buffers, e.g. -1 means no extra buffer, (-1-N) means N extra buffers. Set a gratuitous default of -11 (N=10). This is much lower than the firmware default, which appears to be 96. This is backwards compatible, but needs a symbol only present in newer firmware headers. (It's an enum item, so it requires a check in configure.) Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure2
1 files changed, 2 insertions, 0 deletions
diff --git a/configure b/configure
index 4f41be7ebe..e395e38b4a 100755
--- a/configure
+++ b/configure
@@ -1645,6 +1645,7 @@ HAVE_LIST="
libc_msvcrt
libdc1394_1
libdc1394_2
+ MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS
sdl
section_data_rel_ro
threads
@@ -4628,6 +4629,7 @@ enabled mmal && { check_lib interface/mmal/mmal.h mmal_port_connect
check_lib interface/mmal/mmal.h mmal_port_connect ; }
check_lib interface/mmal/mmal.h mmal_port_connect ; } ||
die "ERROR: mmal not found"; }
+enabled mmal && check_func_headers interface/mmal/mmal.h "MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS"
enabled omx_rpi && enable omx
enabled omx && { check_header OMX_Core.h ||
{ ! enabled cross_compile && enabled omx_rpi && {