1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Take a look at the license at the top of the repository in the LICENSE file.

use glib::translate::*;

use crate::TracerFactory;

impl TracerFactory {
    /// Gets the list of all registered tracer factories. You must free the
    /// list using `gst_plugin_feature_list_free()`.
    ///
    /// The returned factories are sorted by factory name.
    ///
    /// Free-function: gst_plugin_feature_list_free
    ///
    /// # Returns
    ///
    /// the list of all
    ///  registered [`TracerFactory`][crate::TracerFactory].
    #[doc(alias = "gst_tracer_factory_get_list")]
    #[doc(alias = "get_list")]
    pub fn factories() -> glib::List<TracerFactory> {
        assert_initialized_main_thread!();
        unsafe { FromGlibPtrContainer::from_glib_full(crate::ffi::gst_tracer_factory_get_list()) }
    }
}