feat(gst): enhance GStreamer integration with new modules and improved API
Some checks failed
build / checks-matrix (push) Has been cancelled
build / codecov (push) Has been cancelled
docs / docs (push) Has been cancelled
build / checks-build (push) Has been cancelled

This commit introduces significant enhancements to the GStreamer integration by:
- Adding new modules for bins, caps, elements, pads, and plugins
- Implementing a more ergonomic API with helper methods like play(), pause(), ready()
- Adding support for various GStreamer plugins including app, autodetect, playback, and videoconvertscale
- Improving error handling with better context attachment
- Updating dependencies to latest versions including gstreamer-video 0.24.4
- Refactoring existing code to use modern Rust patterns and features
This commit is contained in:
uttarayan21
2025-12-17 23:35:05 +05:30
parent 21cbaff610
commit d42ef3b550
19 changed files with 619 additions and 117 deletions

View File

@@ -31,10 +31,8 @@ impl HdrTextureFormatExt for wgpu::TextureFormat {
matches!(
self,
wgpu::TextureFormat::Rgba16Float
// | wgpu::TextureFormat::Rg11b10float
// | wgpu::TextureFormat::R11g11b10float
| wgpu::TextureFormat::Rgb10a2Unorm
| wgpu::TextureFormat::Rgba32Float
| wgpu::TextureFormat::Rgb10a2Unorm
)
}
}
@@ -61,7 +59,7 @@ impl State {
let adapter = instance
.request_adapter(&wgpu::RequestAdapterOptions {
power_preference: wgpu::PowerPreference::LowPower,
power_preference: wgpu::PowerPreference::HighPerformance,
compatible_surface: Some(&surface),
force_fallback_adapter: false,
})
@@ -207,6 +205,7 @@ impl State {
label: Some("Jello Texture Bind Group"),
});
let gst = Video::new().context("Failed to create Video")?;
std::thread::sleep(std::time::Duration::from_secs(10));
// surface.configure(&device, &config);
Ok(Self {