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}
68