diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2021-11-06 10:34:10 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2021-11-06 10:34:10 +0300 |
commit | d9bda62a4720c0539a443a4e489645e9bb4af1eb (patch) | |
tree | d59eef871715fda4a9b37e355909a345dbd598d0 /audio/csound | |
parent | c99b7785f941fa4f9388a88e52d74c0fa34129ec (diff) |
Update for GLib/GStreamer API changes
And clean up a lot of related property/caps/structure code.
Diffstat (limited to 'audio/csound')
-rw-r--r-- | audio/csound/src/filter/imp.rs | 15 | ||||
-rw-r--r-- | audio/csound/tests/csound_filter.rs | 105 |
2 files changed, 48 insertions, 72 deletions
diff --git a/audio/csound/src/filter/imp.rs b/audio/csound/src/filter/imp.rs index cd8f9286..9341a30b 100644 --- a/audio/csound/src/filter/imp.rs +++ b/audio/csound/src/filter/imp.rs @@ -464,15 +464,12 @@ impl ElementImpl for CsoundFilter { fn pad_templates() -> &'static [gst::PadTemplate] { static PAD_TEMPLATES: Lazy<Vec<gst::PadTemplate>> = Lazy::new(|| { - let caps = gst::Caps::new_simple( - "audio/x-raw", - &[ - ("format", &gst_audio::AUDIO_FORMAT_F64.to_str()), - ("rate", &gst::IntRange::<i32>::new(1, i32::MAX)), - ("channels", &gst::IntRange::<i32>::new(1, i32::MAX)), - ("layout", &"interleaved"), - ], - ); + let caps = gst::Caps::builder("audio/x-raw") + .field("format", gst_audio::AUDIO_FORMAT_F64.to_str()) + .field("rate", gst::IntRange::new(1, i32::MAX)) + .field("channels", gst::IntRange::new(1, i32::MAX)) + .field("layout", "interleaved") + .build(); let src_pad_template = gst::PadTemplate::new( "src", gst::PadDirection::Src, diff --git a/audio/csound/tests/csound_filter.rs b/audio/csound/tests/csound_filter.rs index 54f856a2..87ef8d88 100644 --- a/audio/csound/tests/csound_filter.rs +++ b/audio/csound/tests/csound_filter.rs @@ -99,15 +99,12 @@ fn csound_filter_eos() { let num_channels = 1; let sr: i32 = 44_100; - let caps = gst::Caps::new_simple( - "audio/x-raw", - &[ - ("format", &gst_audio::AUDIO_FORMAT_F64.to_str()), - ("rate", &sr), - ("channels", &num_channels), - ("layout", &"interleaved"), - ], - ); + let caps = gst::Caps::builder("audio/x-raw") + .field("format", gst_audio::AUDIO_FORMAT_F64.to_str()) + .field("rate", sr) + .field("channels", num_channels) + .field("layout", "interleaved") + .build(); let mut h = build_harness( caps.clone(), @@ -212,15 +209,12 @@ fn csound_filter_underflow() { let num_channels = 1; let sr: i32 = 44_100; - let caps = gst::Caps::new_simple( - "audio/x-raw", - &[ - ("format", &gst_audio::AUDIO_FORMAT_F64.to_str()), - ("rate", &sr), - ("channels", &num_channels), - ("layout", &"interleaved"), - ], - ); + let caps = gst::Caps::builder("audio/x-raw") + .field("format", gst_audio::AUDIO_FORMAT_F64.to_str()) + .field("rate", sr) + .field("channels", num_channels) + .field("layout", "interleaved") + .build(); let mut h = build_harness( caps.clone(), @@ -294,27 +288,21 @@ fn csound_filter_caps_negotiation() { let ochannels = 1; let sr: i32 = 44_100; - let src_caps = gst::Caps::new_simple( - "audio/x-raw", - &[ - ("format", &gst_audio::AUDIO_FORMAT_F64.to_str()), - ("rate", &sr), - ("channels", &ichannels), - ("layout", &"interleaved"), - ], - ); + let src_caps = gst::Caps::builder("audio/x-raw") + .field("format", gst_audio::AUDIO_FORMAT_F64.to_str()) + .field("rate", sr) + .field("channels", ichannels) + .field("layout", "interleaved") + .build(); // Define the output caps which would be fixated // at the end of the caps negotiation - let sink_caps = gst::Caps::new_simple( - "audio/x-raw", - &[ - ("format", &gst_audio::AUDIO_FORMAT_F64.to_str()), - ("rate", &gst::IntRange::<i32>::new(1, 48000)), - ("channels", &gst::IntRange::<i32>::new(1, 2)), - ("layout", &"interleaved"), - ], - ); + let sink_caps = gst::Caps::builder("audio/x-raw") + .field("format", gst_audio::AUDIO_FORMAT_F64.to_str()) + .field("rate", gst::IntRange::new(1i32, 48000)) + .field("channels", gst::IntRange::new(1i32, 2)) + .field("layout", "interleaved") + .build(); // build the harness setting its src and sink caps, // also passing the csd score to the filter element @@ -349,15 +337,12 @@ fn csound_filter_caps_negotiation() { .expect("pad has no caps"); // our expected caps at the harness sinkpad - let expected_caps = gst::Caps::new_simple( - "audio/x-raw", - &[ - ("format", &gst_audio::AUDIO_FORMAT_F64.to_str()), - ("rate", &44_100i32), - ("channels", &ochannels), - ("layout", &"interleaved"), - ], - ); + let expected_caps = gst::Caps::builder("audio/x-raw") + .field("format", gst_audio::AUDIO_FORMAT_F64.to_str()) + .field("rate", 44_100i32) + .field("channels", ochannels) + .field("layout", "interleaved") + .build(); assert_eq!(harness_sink_caps, expected_caps); } @@ -373,27 +358,21 @@ fn csound_filter_caps_negotiation_fail() { let ichannels = 2; let ochannels = 1; - let src_caps = gst::Caps::new_simple( - "audio/x-raw", - &[ - ("format", &gst_audio::AUDIO_FORMAT_F64.to_str()), - ("rate", &44_100i32), - ("channels", &ichannels), - ("layout", &"interleaved"), - ], - ); + let src_caps = gst::Caps::builder("audio/x-raw") + .field("format", gst_audio::AUDIO_FORMAT_F64.to_str()) + .field("rate", 44_100i32) + .field("channels", ichannels) + .field("layout", "interleaved") + .build(); // instead of having a range for channels/rate fields // we fixate them to 2 and 48_000 respectively, which would cause the negotiation error - let sink_caps = gst::Caps::new_simple( - "audio/x-raw", - &[ - ("format", &gst_audio::AUDIO_FORMAT_F64.to_str()), - ("rate", &48_000i32), - ("channels", &ichannels), - ("layout", &"interleaved"), - ], - ); + let sink_caps = gst::Caps::builder("audio/x-raw") + .field("format", gst_audio::AUDIO_FORMAT_F64.to_str()) + .field("rate", 48_000i32) + .field("channels", ichannels) + .field("layout", "interleaved") + .build(); let mut h = build_harness( src_caps, |