gstreamer/subclass/
mod.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3#![allow(clippy::cast_ptr_alignment)]
4
5#[macro_use]
6mod error;
7
8#[macro_use]
9mod plugin;
10
11mod allocator;
12mod bin;
13mod buffer_pool;
14mod child_proxy;
15mod element;
16mod ghost_pad;
17mod object;
18mod pad;
19mod pipeline;
20mod proxy_pad;
21mod task_pool;
22mod tracer;
23
24mod device;
25mod device_provider;
26
27mod clock;
28mod system_clock;
29
30mod preset;
31mod tag_setter;
32mod uri_handler;
33
34pub use self::{
35    device_provider::DeviceProviderMetadata,
36    element::{CatchPanic, ElementMetadata},
37    error::{post_panic_error_message, FlowError},
38    plugin::{MAJOR_VERSION, MINOR_VERSION},
39    task_pool::TaskPoolFunction,
40};
41
42pub mod prelude {
43    #[doc(hidden)]
44    pub use glib::subclass::prelude::*;
45
46    pub use super::{
47        allocator::{AllocatorImpl, AllocatorImplExt},
48        bin::{BinImpl, BinImplExt},
49        buffer_pool::{BufferPoolImpl, BufferPoolImplExt},
50        child_proxy::{ChildProxyImpl, ChildProxyImplExt},
51        clock::{ClockImpl, ClockImplExt},
52        device::{DeviceImpl, DeviceImplExt},
53        device_provider::{DeviceProviderImpl, DeviceProviderImplExt},
54        element::{ElementImpl, ElementImplExt},
55        ghost_pad::GhostPadImpl,
56        object::GstObjectImpl,
57        pad::{PadImpl, PadImplExt},
58        pipeline::PipelineImpl,
59        preset::PresetImpl,
60        proxy_pad::ProxyPadImpl,
61        system_clock::SystemClockImpl,
62        tag_setter::TagSetterImpl,
63        task_pool::TaskPoolImpl,
64        tracer::{TracerHook, TracerImpl, TracerImplExt},
65        uri_handler::{URIHandlerImpl, URIHandlerImplExt},
66    };
67}