media_pp/elements/source/
mod.rs1mod app_source;
18mod audio_mixer;
19mod capture;
20mod compositor;
21mod file_demuxer;
22mod pipeline_bridge;
23mod rtsp_source;
24mod test;
25
26#[cfg(all(
27 target_os = "linux",
28 any(
29 feature = "pipewire-audio-capture",
30 feature = "pipewire-audio-renderer"
31 )
32))]
33pub use crate::platform::linux::pipewire::{
34 PipeWireAudioDevice, PipeWireAudioDeviceKind, PipeWireDeviceError,
35};
36#[cfg(all(
37 target_os = "windows",
38 any(feature = "wasapi-capture", feature = "wasapi-renderer")
39))]
40pub use crate::platform::windows::wasapi::{WasapiDevice, WasapiDeviceKind};
41pub use app_source::{AppSource, AppSourceError, AppSourceHandle};
42pub use audio_mixer::{
43 AudioMixer, AudioMixerError, AudioMixerOptions, MixFormat, MixerHandle, MixerInputSink,
44};
45#[cfg(all(target_os = "windows", feature = "dxgi-capture"))]
46pub use capture::{
47 CaptureArea, CaptureMode, CaptureRect, DxgiCaptureOptions, DxgiCaptureSource,
48 DxgiCaptureSourceError,
49};
50#[cfg(all(target_os = "linux", feature = "pipewire-screen-capture"))]
51pub use capture::{
52 CaptureSourceKind, PipeWireScreenCaptureOptions, PipeWireScreenCaptureSource,
53 PipeWireScreenCaptureSourceError,
54};
55#[cfg(all(target_os = "windows", feature = "mf-capture"))]
56pub use capture::{MfCaptureOptions, MfCaptureSource, MfCaptureSourceError};
57#[cfg(all(target_os = "linux", feature = "pipewire-audio-capture"))]
58pub use capture::{
59 PipeWireAudioCaptureOptions, PipeWireAudioCaptureSource, PipeWireAudioCaptureSourceError,
60};
61#[cfg(all(target_os = "linux", feature = "v4l2-capture"))]
62pub use capture::{V4l2CaptureOptions, V4l2CaptureSource, V4l2CaptureSourceError};
63#[cfg(all(target_os = "windows", feature = "wasapi-capture"))]
64pub use capture::{WasapiCaptureOptions, WasapiCaptureSource, WasapiCaptureSourceError};
65#[cfg(all(target_os = "windows", feature = "wgc-capture"))]
66pub use capture::{WgcCaptureOptions, WgcCaptureSource, WgcCaptureSourceError};
67#[cfg(feature = "cuda")]
68pub use compositor::{
69 CudaTextLayerHandle, CudaVideoCompositor, CudaVideoCompositorError, CudaVideoCompositorHandle,
70 CudaVideoCompositorInput, CudaVideoCompositorInputSink, CudaVideoLayerHandle,
71};
72#[cfg(all(target_os = "windows", feature = "d3d11"))]
73pub use compositor::{
74 D3d11TextLayerError, D3d11TextLayerHandle, D3d11VideoCompositor, D3d11VideoCompositorError,
75 D3d11VideoCompositorHandle, D3d11VideoCompositorInput, D3d11VideoCompositorInputSink,
76 D3d11VideoLayerHandle,
77};
78pub use compositor::{
79 SwVideoCompositor, SwVideoCompositorError, SwVideoCompositorHandle, SwVideoCompositorInput,
80 SwVideoCompositorInputSink, SwVideoLayerHandle, TextLayer, VideoCompositorOptions, VideoFit,
81 VideoInputId, VideoLayer, VideoRect, VideoSourceRect,
82};
83pub use file_demuxer::{FileDemuxError, FileDemuxer, FileDemuxerHandle, StreamInfo};
84pub use pipeline_bridge::{
85 PipelineBridge, PipelineBridgeError, PipelineBridgeHandle, PipelineBridgeOptions,
86};
87pub use rtsp_source::{RtspOptions, RtspSource, RtspSourceError};
88pub use test::{
89 TestAudioOptions, TestAudioSource, TestAudioSourceError, TestVideoOptions, TestVideoSource,
90 TestVideoSourceError,
91};