From c766f164033ce0900ecd9adb6dedd1969fb176ab Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Thu, 23 May 2019 15:07:02 +0200 Subject: [PATCH] video: add GST_BUFFER_POOL_OPTION_VIDEO_*_META constants --- gstreamer-video/Cargo.toml | 1 + gstreamer-video/src/lib.rs | 7 ++++++ gstreamer-video/src/video_buffer_pool.rs | 32 ++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 gstreamer-video/src/video_buffer_pool.rs diff --git a/gstreamer-video/Cargo.toml b/gstreamer-video/Cargo.toml index 03b92dc93..01d2d9f84 100644 --- a/gstreamer-video/Cargo.toml +++ b/gstreamer-video/Cargo.toml @@ -23,6 +23,7 @@ gstreamer-video-sys = { git = "https://gitlab.freedesktop.org/gstreamer/gstreame glib = { git = "https://github.com/gtk-rs/glib" } gstreamer = { path = "../gstreamer" } gstreamer-base = { path = "../gstreamer-base" } +lazy_static = "1.0" [build-dependencies.rustdoc-stripper] version = "0.1" diff --git a/gstreamer-video/src/lib.rs b/gstreamer-video/src/lib.rs index fc1e5be8b..0feada17a 100644 --- a/gstreamer-video/src/lib.rs +++ b/gstreamer-video/src/lib.rs @@ -8,6 +8,8 @@ #[macro_use] extern crate bitflags; +#[macro_use] +extern crate lazy_static; extern crate libc; #[macro_use] @@ -70,6 +72,11 @@ pub use video_time_code::{ValidVideoTimeCode, VideoTimeCode, VideoTimeCodeMeta}; mod video_time_code_interval; #[cfg(any(feature = "v1_12", feature = "dox"))] pub use video_time_code_interval::VideoTimeCodeInterval; +mod video_buffer_pool; +pub use video_buffer_pool::{ + BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META, BUFFER_POOL_OPTION_VIDEO_ALIGNMENT, + BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META, BUFFER_POOL_OPTION_VIDEO_META, +}; mod video_codec_frame; mod video_decoder; diff --git a/gstreamer-video/src/video_buffer_pool.rs b/gstreamer-video/src/video_buffer_pool.rs new file mode 100644 index 000000000..6f67e59de --- /dev/null +++ b/gstreamer-video/src/video_buffer_pool.rs @@ -0,0 +1,32 @@ +// Copyright (C) 2019 Guillaume Desmottes +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use std::ffi::CStr; + +lazy_static! { + pub static ref BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META: &'static str = unsafe { + CStr::from_ptr(gst_video_sys::GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META) + .to_str() + .unwrap() + }; + pub static ref BUFFER_POOL_OPTION_VIDEO_ALIGNMENT: &'static str = unsafe { + CStr::from_ptr(gst_video_sys::GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT) + .to_str() + .unwrap() + }; + pub static ref BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META: &'static str = unsafe { + CStr::from_ptr(gst_video_sys::GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META) + .to_str() + .unwrap() + }; + pub static ref BUFFER_POOL_OPTION_VIDEO_META: &'static str = unsafe { + CStr::from_ptr(gst_video_sys::GST_BUFFER_POOL_OPTION_VIDEO_META) + .to_str() + .unwrap() + }; +}