libfunnel
Loading...
Searching...
No Matches
funnel-gbm.h
Go to the documentation of this file.
1
2#pragma once
3
4#include "funnel.h"
5#include <gbm.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
17
31int funnel_stream_init_gbm(struct funnel_stream *stream, int gbm_fd);
32
47int funnel_stream_gbm_add_format(struct funnel_stream *stream, uint32_t format,
48 uint64_t *modifiers, size_t num_modifiers);
49
58int funnel_stream_gbm_set_flags(struct funnel_stream *stream, uint32_t flags);
59
77int funnel_buffer_get_gbm_bo(struct funnel_buffer *buf, struct gbm_bo **pbo);
78
96 uint32_t *phandle, uint64_t *ppoint);
97
115 uint32_t *phandle, uint64_t *ppoint);
116
134
151
152#ifdef __cplusplus
153}
154#endif
int funnel_buffer_get_release_sync_object(struct funnel_buffer *buf, uint32_t *phandle, uint64_t *ppoint)
Get the sync object and point for releasing the buffer.
int funnel_stream_gbm_add_format(struct funnel_stream *stream, uint32_t format, uint64_t *modifiers, size_t num_modifiers)
Add a supported GBM format.
int funnel_buffer_get_acquire_sync_file(struct funnel_buffer *buf, int *pfd)
Get the sync object and point for acquiring the buffer.
int funnel_buffer_set_release_sync_file(struct funnel_buffer *buf, int fd)
Set the sync file for releasing the buffer.
int funnel_stream_init_gbm(struct funnel_stream *stream, int gbm_fd)
Set up a stream for GBM integration.
int funnel_stream_gbm_set_flags(struct funnel_stream *stream, uint32_t flags)
Set the GBM BO allocation flags.
int funnel_buffer_get_gbm_bo(struct funnel_buffer *buf, struct gbm_bo **pbo)
Get the GBM buffer object for a Funnel buffer.
int funnel_buffer_get_acquire_sync_object(struct funnel_buffer *buf, uint32_t *phandle, uint64_t *ppoint)
Get the sync object and point for acquiring the buffer.
libfunnel core API
struct funnel_stream funnel_stream
A PipeWire video stream.
Definition funnel.h:36
struct funnel_buffer funnel_buffer
A video buffer (frame).
Definition funnel.h:58