GStreamerCppHelpers is a set of lightweight C++ headers designed to simplify working with GStreamer from C++, without requiring full C++ bindings or introspection.
This library is intended for C++ developers who need to work with GStreamer but prefer not to use complete C++ binding libraries (such as gstreamermm
) or rely on GObject introspection.
- Header-only: no need to compile or install anything beyond the headers themselves.
- Zero external dependencies, aside from GStreamer.
- No use of
.gir
introspection files or generated wrappers.
⚠️ Note for Visual Studio users:
Make sure your CMake setup properly enables C++17. You may need to explicitly add:target_compile_options(<YOUR_TARGET> PRIVATE "/Zc:__cplusplus")
GstPtr<>
A smart pointer for managing GStreamer object lifetimes, wrappingref/unref
in a safe, RAII-style interface.
It provides functionality similar tostd::shared_ptr
, but tailored for GStreamer types.
This library is header-only, so building is only required for running tests.
clang-tidy
≥ 10- Python ≥ 3.8
- Conan ≥ 2.0
(the build system will automatically detect or generate a default profile if needed)
cmake -Bbuild -DCONAN_BUILD_MISSING=ON
cmake --build build
A Conan 2.x recipe is provided under /conan_recipe
.
- Export the Recipe
cd conan_recipe
conan export . --name gstreamercpphelpers --version=0.0.3
- Add the Dependency to Your conanfile.txt or Similar
[requires]
gstreamercpphelpers/0.0.3
- Link with CMake
find_package(gstreamercpphelpers REQUIRED)
target_link_libraries(<YOUR TARGET> gstreamercpphelpers::gstreamercpphelpers)