macro_rules! gst_element_info {
($obj:expr, $err:expr, ($msg:expr), [$debug:expr]) => { ... };
($obj:expr, $err:expr, ($msg:expr)) => { ... };
($obj:expr, $err:expr, [$debug:expr]) => { ... };
($obj:expr, $err:expr, ($($msg:tt)*), [$($debug:tt)*]) => { ... };
($obj:expr, $err:expr, ($($msg:tt)*)) => { ... };
($obj:expr, $err:expr, [$($debug:tt)*]) => { ... };
($obj:expr, $err:expr, ($msg:expr), [$debug:expr], details: $details:expr) => { ... };
($obj:expr, $err:expr, ($msg:expr), details: $details:expr) => { ... };
($obj:expr, $err:expr, [$debug:expr], details: $details:expr) => { ... };
($obj:expr, $err:expr, ($($msg:tt)*), [$($debug:tt)*], details: $details:expr) => { ... };
($obj:expr, $err:expr, ($($msg:tt)*), details: $details:expr) => { ... };
($obj:expr, $err:expr, [$($debug:tt)*], details: $details:expr) => { ... };
}