forked from mirrors/gstreamer-rs
gst/log: accept non-ref obj in macros
This commit is contained in:
parent
67ecf0823d
commit
87ea535bc1
2 changed files with 20 additions and 8 deletions
|
@ -1328,12 +1328,9 @@ unsafe extern "C" fn base_transform_copy_metadata<T: BaseTransformImpl>(
|
||||||
let imp = instance.imp();
|
let imp = instance.imp();
|
||||||
|
|
||||||
if gst::ffi::gst_mini_object_is_writable(outbuf as *mut _) == glib::ffi::GFALSE {
|
if gst::ffi::gst_mini_object_is_writable(outbuf as *mut _) == glib::ffi::GFALSE {
|
||||||
gst::warning!(
|
let instance = imp.instance();
|
||||||
gst::CAT_RUST,
|
let obj = instance.unsafe_cast_ref::<BaseTransform>();
|
||||||
obj: imp.instance().unsafe_cast_ref::<BaseTransform>(),
|
gst::warning!(gst::CAT_RUST, obj: obj, "buffer {:?} not writable", outbuf);
|
||||||
"buffer {:?} not writable",
|
|
||||||
outbuf
|
|
||||||
);
|
|
||||||
return glib::ffi::GFALSE;
|
return glib::ffi::GFALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -491,7 +491,11 @@ macro_rules! log_with_level(
|
||||||
// Check the log level before using `format_args!` otherwise
|
// Check the log level before using `format_args!` otherwise
|
||||||
// formatted arguments are evaluated even if we end up not logging.
|
// formatted arguments are evaluated even if we end up not logging.
|
||||||
if $level <= $cat.threshold() {
|
if $level <= $cat.threshold() {
|
||||||
$crate::DebugCategory::log_unfiltered($cat.clone(), Some(&*$obj),
|
use $crate::glib::Cast;
|
||||||
|
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
let obj = unsafe { $obj.unsafe_cast_ref::<$crate::glib::Object>() };
|
||||||
|
$crate::DebugCategory::log_unfiltered($cat.clone(), Some(obj),
|
||||||
$level, file!(), module_path!(), line!(), format_args!($($args)*))
|
$level, file!(), module_path!(), line!(), format_args!($($args)*))
|
||||||
}
|
}
|
||||||
}};
|
}};
|
||||||
|
@ -502,8 +506,9 @@ macro_rules! log_with_level(
|
||||||
use $crate::glib::Cast;
|
use $crate::glib::Cast;
|
||||||
|
|
||||||
let obj = $imp.instance();
|
let obj = $imp.instance();
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
let obj = unsafe { obj.unsafe_cast_ref::<$crate::glib::Object>() };
|
let obj = unsafe { obj.unsafe_cast_ref::<$crate::glib::Object>() };
|
||||||
$crate::DebugCategory::log_unfiltered($cat.clone(), Some(&*obj),
|
$crate::DebugCategory::log_unfiltered($cat.clone(), Some(obj),
|
||||||
$level, file!(), module_path!(), line!(), format_args!($($args)*))
|
$level, file!(), module_path!(), line!(), format_args!($($args)*))
|
||||||
}
|
}
|
||||||
}};
|
}};
|
||||||
|
@ -724,6 +729,7 @@ mod tests {
|
||||||
memdump!(cat, "meh");
|
memdump!(cat, "meh");
|
||||||
|
|
||||||
let obj = crate::Bin::new(Some("meh"));
|
let obj = crate::Bin::new(Some("meh"));
|
||||||
|
|
||||||
error!(cat, obj: &obj, "meh");
|
error!(cat, obj: &obj, "meh");
|
||||||
warning!(cat, obj: &obj, "meh");
|
warning!(cat, obj: &obj, "meh");
|
||||||
fixme!(cat, obj: &obj, "meh");
|
fixme!(cat, obj: &obj, "meh");
|
||||||
|
@ -732,6 +738,15 @@ mod tests {
|
||||||
log!(cat, obj: &obj, "meh");
|
log!(cat, obj: &obj, "meh");
|
||||||
trace!(cat, obj: &obj, "meh");
|
trace!(cat, obj: &obj, "meh");
|
||||||
memdump!(cat, obj: &obj, "meh");
|
memdump!(cat, obj: &obj, "meh");
|
||||||
|
|
||||||
|
error!(cat, obj: obj, "meh");
|
||||||
|
warning!(cat, obj: obj, "meh");
|
||||||
|
fixme!(cat, obj: obj, "meh");
|
||||||
|
info!(cat, obj: obj, "meh");
|
||||||
|
debug!(cat, obj: obj, "meh");
|
||||||
|
log!(cat, obj: obj, "meh");
|
||||||
|
trace!(cat, obj: obj, "meh");
|
||||||
|
memdump!(cat, obj: obj, "meh");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Reference in a new issue