Class GStreamerPipeline#
Defined in File gstreamer_pipeline.ixx
Nested Relationships#
Nested Types#
Class Documentation#
-
class GStreamerPipeline#
Public Functions
-
GStreamerPipeline()#
-
~GStreamerPipeline()#
-
GStreamerPipeline(const GStreamerPipeline&) = delete#
-
auto operator=(const GStreamerPipeline&) -> GStreamerPipeline& = delete#
-
GStreamerPipeline(GStreamerPipeline&&) noexcept#
-
auto operator=(GStreamerPipeline&&) noexcept -> GStreamerPipeline&#
-
auto create_pipeline(const PipelineConfig &config) -> std::expected<void, GStreamerError>#
-
auto create_pipeline_from_string(const std::string &description) -> std::expected<void, GStreamerError>#
-
auto create_inference_pipeline(const std::string &input_source, const std::string &model_path, const std::vector<std::size_t> &input_shape, const std::string &output_format = "RAW") -> std::expected<void, GStreamerError>#
-
auto start() -> std::expected<void, GStreamerError>#
-
auto stop() -> std::expected<void, GStreamerError>#
-
auto pause() -> std::expected<void, GStreamerError>#
-
auto resume() -> std::expected<void, GStreamerError>#
-
auto is_playing() const -> bool#
-
auto is_paused() const -> bool#
-
auto set_buffer_callback(BufferCallback callback) -> void#
-
auto pull_sample(std::uint32_t timeout_ms = 5000) -> std::expected<BufferInfo, GStreamerError>#
-
auto push_buffer(void *data, std::size_t size, const FrameMetadata &metadata) -> std::expected<void, GStreamerError>#
-
auto get_position_ns() const -> std::expected<std::uint64_t, GStreamerError>#
-
auto get_duration_ns() const -> std::expected<std::uint64_t, GStreamerError>#
-
auto seek(std::uint64_t timestamp_ns) -> std::expected<void, GStreamerError>#
-
auto get_caps_string() const -> std::string#
-
auto get_current_state() const -> int#
Public Static Functions
-
static auto initialize_gstreamer(int *argc = nullptr, char ***argv = nullptr) -> std::expected<void, GStreamerError>#
-
static auto deinitialize_gstreamer() -> void#
-
struct Impl#
-
Public Members
-
GstElement *pipeline = {nullptr}#
-
GstElement *appsink = {nullptr}#
-
GstElement *appsrc = {nullptr}#
-
BufferCallback buffer_callback#
-
std::atomic<bool> is_playing = {false}#
-
std::atomic<bool> is_paused = {false}#
-
std::string caps_string#
-
GMainLoop *main_loop = {nullptr}#
-
std::thread main_loop_thread#
-
GstElement *pipeline = {nullptr}#
-
GStreamerPipeline()#