2021-12-07 11:11:28 +00:00
|
|
|
// common.rs
|
|
|
|
//
|
|
|
|
// Copyright 2021 Stéphane Cerveau <scerveau@collabora.com>
|
|
|
|
//
|
2022-02-09 10:28:59 +00:00
|
|
|
// This file is part of GstPipelineStudio
|
2021-12-07 11:11:28 +00:00
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
|
|
|
|
use anyhow::Result;
|
2022-02-23 11:51:14 +00:00
|
|
|
use gtk::glib;
|
2021-12-07 11:11:28 +00:00
|
|
|
|
|
|
|
pub fn init() -> Result<()> {
|
2022-11-16 12:22:27 +00:00
|
|
|
std::env::set_var("GST_XINITTHREADS", "1");
|
2021-12-07 11:11:28 +00:00
|
|
|
gst::init()?;
|
|
|
|
gtk::init()?;
|
|
|
|
Ok(())
|
|
|
|
}
|
2022-02-23 11:51:14 +00:00
|
|
|
|
|
|
|
pub fn value_as_str(v: &glib::Value) -> Option<String> {
|
|
|
|
match v.type_() {
|
|
|
|
glib::Type::I8 => Some(str_some_value!(v, i8).to_string()),
|
|
|
|
glib::Type::U8 => Some(str_some_value!(v, u8).to_string()),
|
|
|
|
glib::Type::BOOL => Some(str_some_value!(v, bool).to_string()),
|
|
|
|
glib::Type::I32 => Some(str_some_value!(v, i32).to_string()),
|
|
|
|
glib::Type::U32 => Some(str_some_value!(v, u32).to_string()),
|
|
|
|
glib::Type::I64 => Some(str_some_value!(v, i64).to_string()),
|
|
|
|
glib::Type::U64 => Some(str_some_value!(v, u64).to_string()),
|
|
|
|
glib::Type::F32 => Some(str_some_value!(v, f32).to_string()),
|
|
|
|
glib::Type::F64 => Some(str_some_value!(v, f64).to_string()),
|
|
|
|
glib::Type::STRING => str_opt_value!(v, String),
|
|
|
|
_ => None,
|
|
|
|
}
|
|
|
|
}
|