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
26
27
28
// Take a look at the license at the top of the repository in the LICENSE file.

use glib::translate::*;

use crate::TypeFindFactory;

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