summaryrefslogtreecommitdiff
path: root/src/v4l2.c
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2023-05-14 20:53:27 +0200
committerDmitry V. Levin <ldv@strace.io>2023-05-16 08:00:00 +0000
commit42f460aa02b317df79d4630ad82145c02f692672 (patch)
tree47b7289739b75450164bf4baf94f8c2b860e19ea /src/v4l2.c
parent8f691206e4aa769cc99e264f1c15ae6956789f91 (diff)
downloadstrace-ldv/next.tar.gz
v4l2: Add support for interpreting remaining fields in VIDIOC_ENUMINPUT struct v4l2_inputldv/next
Interpret $audioset as flags, $tuner as integer. Add ID list for v4l2_std_id. Add flags for status and capabilities and interpret them. This is based off Linux commit: b6456c0cfe9d ("V4L/DVB (13571): v4l: Adding Digital Video Timings APIs") Latest documentation is at: https://docs.kernel.org/userspace-api/media/v4l/vidioc-enuminput.html Signed-off-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'src/v4l2.c')
-rw-r--r--src/v4l2.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/v4l2.c b/src/v4l2.c
index d8b4ab81c..a652837ae 100644
--- a/src/v4l2.c
+++ b/src/v4l2.c
@@ -763,7 +763,10 @@ print_v4l2_standard(struct tcb *const tcp, const kernel_ulong_t arg)
return RVAL_IOCTL_DECODED;
}
+#include "xlat/v4l2_input_capabilities_flags.h"
+#include "xlat/v4l2_input_status_flags.h"
#include "xlat/v4l2_input_types.h"
+#include "xlat/v4l2_std_ids.h"
static int
print_v4l2_input(struct tcb *const tcp, const kernel_ulong_t arg)
@@ -787,6 +790,19 @@ print_v4l2_input(struct tcb *const tcp, const kernel_ulong_t arg)
tprint_struct_next();
PRINT_FIELD_XVAL(i, type, v4l2_input_types,
"V4L2_INPUT_TYPE_???");
+ tprint_struct_next();
+ PRINT_FIELD_X(i, audioset);
+ tprint_struct_next();
+ PRINT_FIELD_U(i, tuner);
+ tprint_struct_next();
+ PRINT_FIELD_FLAGS(i, std, v4l2_std_ids, "V4L2_STD_???");
+ tprint_struct_next();
+ PRINT_FIELD_FLAGS(i, status, v4l2_input_status_flags,
+ "V4L2_IN_ST_???");
+ tprint_struct_next();
+ PRINT_FIELD_FLAGS(i, capabilities,
+ v4l2_input_capabilities_flags,
+ "V4L2_IN_CAP_???");
}
tprint_struct_end();