From: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> All users of vb2_find_timestamp() combine it with vb2_get_buffer() to retrieve a videobuf2 buffer, given a u64 timestamp. Introduce an API for this use-case. Users will be converted to the new API as follow-up commits. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> --- include/media/videobuf2-v4l2.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/media/videobuf2-v4l2.h b/include/media/videobuf2-v4l2.h index d818d9707695..7f9ae5b39b78 100644 --- a/include/media/videobuf2-v4l2.h +++ b/include/media/videobuf2-v4l2.h @@ -78,6 +78,24 @@ struct vb2_v4l2_buffer { int vb2_find_timestamp(const struct vb2_queue *q, u64 timestamp, unsigned int start_idx); +/** + * vb2_find_buffer() - Find a buffer with given timestamp + * + * @q: pointer to &struct vb2_queue with videobuf2 queue. + * @timestamp: the timestamp to find. + * + * Returns the buffer with the given @timestamp, or NULL if not found. + */ +static inline struct vb2_buffer *vb2_find_buffer(struct vb2_queue *q, + u64 timestamp) +{ + int index = vb2_find_timestamp(q, timestamp, 0); + + if (index < 0) + return NULL; + return vb2_get_buffer(q, index); +} + int vb2_querybuf(struct vb2_queue *q, struct v4l2_buffer *b); /** -- 2.34.3