Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorVivia Nikolaidou <vivia@ahiru.eu>2022-10-13 21:02:04 +0300
committerVivia Nikolaidou <vivia@ahiru.eu>2022-10-13 22:24:57 +0300
commitf11b0fa5eb0d294f09d4dda7a052cf647f254688 (patch)
tree6c3bd1726dc87c6a7d97f2804e1423f4c33acf72 /audio
parent862c2af1d9e81743f659609552ad4d409fb9c1fb (diff)
plugins, examples, tutorials: Use AudioCapsBuilder and VideoCapsBuilder
Simplify caps creation code
Diffstat (limited to 'audio')
-rw-r--r--audio/audiofx/src/hrtfrender/imp.rs16
-rw-r--r--audio/audiofx/tests/hrtfrender.rs90
-rw-r--r--audio/claxon/tests/claxondec.rs9
-rw-r--r--audio/csound/tests/csound_filter.rs63
-rw-r--r--audio/lewton/src/lewtondec/imp.rs8
-rw-r--r--audio/lewton/tests/lewtondec.rs9
6 files changed, 85 insertions, 110 deletions
diff --git a/audio/audiofx/src/hrtfrender/imp.rs b/audio/audiofx/src/hrtfrender/imp.rs
index f79472174..c78878d38 100644
--- a/audio/audiofx/src/hrtfrender/imp.rs
+++ b/audio/audiofx/src/hrtfrender/imp.rs
@@ -547,11 +547,9 @@ impl ElementImpl for HrtfRender {
fn pad_templates() -> &'static [gst::PadTemplate] {
static PAD_TEMPLATES: Lazy<Vec<gst::PadTemplate>> = Lazy::new(|| {
- let src_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", gst::IntRange::new(1, i32::MAX))
- .field("channels", 2i32)
- .field("layout", "interleaved")
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .channels(2)
+ .format(gst_audio::AUDIO_FORMAT_F32)
.build();
let src_pad_template = gst::PadTemplate::new(
@@ -562,11 +560,9 @@ impl ElementImpl for HrtfRender {
)
.unwrap();
- let sink_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", gst::IntRange::new(1, i32::MAX))
- .field("channels", gst::IntRange::new(1i32, 64))
- .field("layout", "interleaved")
+ let sink_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .channels_range(1..=64)
+ .format(gst_audio::AUDIO_FORMAT_F32)
.build();
let sink_pad_template = gst::PadTemplate::new(
diff --git a/audio/audiofx/tests/hrtfrender.rs b/audio/audiofx/tests/hrtfrender.rs
index a84e64be9..1b0abd666 100644
--- a/audio/audiofx/tests/hrtfrender.rs
+++ b/audio/audiofx/tests/hrtfrender.rs
@@ -40,19 +40,17 @@ fn build_harness(src_caps: gst::Caps, sink_caps: gst::Caps) -> (gst_check::Harne
fn test_hrtfrender_samples_in_samples_out() {
init();
- let src_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 1i32)
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(1)
.field("channel-mask", gst::Bitmask::new(0x1))
- .field("layout", "interleaved")
.build();
- let sink_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 2i32)
- .field("layout", "interleaved")
+ let sink_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(2)
.build();
let (mut h, _) = build_harness(src_caps, sink_caps);
@@ -97,19 +95,17 @@ fn test_hrtfrender_samples_in_samples_out() {
fn test_hrtfrender_implicit_spatial_objects() {
init();
- let src_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 8i32)
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(8)
.field("channel-mask", gst::Bitmask::new(0xc3f))
- .field("layout", "interleaved")
.build();
- let sink_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 2i32)
- .field("layout", "interleaved")
+ let sink_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(2)
.build();
let (mut h, hrtf) = build_harness(src_caps, sink_caps);
@@ -124,18 +120,16 @@ fn test_hrtfrender_implicit_spatial_objects() {
fn test_hrtfrender_explicit_spatial_objects() {
init();
- let src_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 8i32)
- .field("layout", "interleaved")
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(8)
.build();
- let sink_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 2i32)
- .field("layout", "interleaved")
+ let sink_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(2)
.build();
let (mut h, hrtf) = build_harness(src_caps, sink_caps);
@@ -166,18 +160,16 @@ fn test_hrtfrender_explicit_spatial_objects() {
fn test_hrtfrender_caps_negotiation_fail() {
init();
- let src_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 6i32)
- .field("layout", "interleaved")
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(6)
.build();
- let sink_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 2i32)
- .field("layout", "interleaved")
+ let sink_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(2)
.build();
let (mut h, hrtf) = build_harness(src_caps, sink_caps);
@@ -213,18 +205,16 @@ fn test_hrtfrender_caps_negotiation_fail() {
fn test_hrtfrender_multiple_instances_sharing_thread_pool() {
init();
- let src_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 1i32)
- .field("layout", "interleaved")
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(1)
.build();
- let sink_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 2i32)
- .field("layout", "interleaved")
+ let sink_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(2)
.build();
let (_, hrtf) = build_harness(src_caps.clone(), sink_caps.clone());
diff --git a/audio/claxon/tests/claxondec.rs b/audio/claxon/tests/claxondec.rs
index 2974b6405..c9cfe7435 100644
--- a/audio/claxon/tests/claxondec.rs
+++ b/audio/claxon/tests/claxondec.rs
@@ -50,11 +50,10 @@ fn test_stereo_s32() {
assert_eq!(
caps,
- gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_S2432.to_str())
- .field("rate", 44_100i32)
- .field("channels", 2i32)
- .field("layout", "interleaved")
+ gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_S2432)
+ .rate(44100)
+ .channels(2)
.field("channel-mask", gst::Bitmask::new(0x3))
.build()
);
diff --git a/audio/csound/tests/csound_filter.rs b/audio/csound/tests/csound_filter.rs
index ed8b15987..6d3ee8961 100644
--- a/audio/csound/tests/csound_filter.rs
+++ b/audio/csound/tests/csound_filter.rs
@@ -91,11 +91,10 @@ fn csound_filter_eos() {
let num_channels = 1;
let sr: i32 = 44_100;
- 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")
+ let caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F64)
+ .rate(sr)
+ .channels(num_channels)
.build();
let mut h = build_harness(
@@ -201,11 +200,10 @@ fn csound_filter_underflow() {
let num_channels = 1;
let sr: i32 = 44_100;
- 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")
+ let caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F64)
+ .rate(sr)
+ .channels(num_channels)
.build();
let mut h = build_harness(
@@ -280,20 +278,18 @@ fn csound_filter_caps_negotiation() {
let ochannels = 1;
let sr: i32 = 44_100;
- 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")
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F64)
+ .rate(sr)
+ .channels(ichannels)
.build();
// Define the output caps which would be fixated
// at the end of the caps negotiation
- 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")
+ let sink_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F64)
+ .rate_range(1..=48000)
+ .channels_range(1..=2)
.build();
// build the harness setting its src and sink caps,
@@ -329,11 +325,10 @@ fn csound_filter_caps_negotiation() {
.expect("pad has no caps");
// our expected caps at the harness sinkpad
- 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")
+ let expected_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F64)
+ .rate(44_100)
+ .channels(ochannels)
.build();
assert_eq!(harness_sink_caps, expected_caps);
@@ -350,20 +345,18 @@ fn csound_filter_caps_negotiation_fail() {
let ichannels = 2;
let ochannels = 1;
- 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")
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F64)
+ .rate(44_100)
+ .channels(ichannels)
.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::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F64.to_str())
- .field("rate", 48_000i32)
- .field("channels", ichannels)
- .field("layout", "interleaved")
+ let sink_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F64)
+ .rate(48_000)
+ .channels(ichannels)
.build();
let mut h = build_harness(
diff --git a/audio/lewton/src/lewtondec/imp.rs b/audio/lewton/src/lewtondec/imp.rs
index 0a58c3596..6c76ddd55 100644
--- a/audio/lewton/src/lewtondec/imp.rs
+++ b/audio/lewton/src/lewtondec/imp.rs
@@ -81,11 +81,9 @@ impl ElementImpl for LewtonDec {
)
.unwrap();
- let src_caps = gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", gst::IntRange::new(1, std::i32::MAX))
- .field("channels", gst::IntRange::new(1i32, 255))
- .field("layout", "interleaved")
+ let src_caps = gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .channels_range(1..=255)
.build();
let src_pad_template = gst::PadTemplate::new(
"src",
diff --git a/audio/lewton/tests/lewtondec.rs b/audio/lewton/tests/lewtondec.rs
index 814c2b950..1e8584725 100644
--- a/audio/lewton/tests/lewtondec.rs
+++ b/audio/lewton/tests/lewtondec.rs
@@ -93,11 +93,10 @@ fn run_test(inline_headers: bool) {
.expect("pad has no caps");
assert_eq!(
caps,
- gst::Caps::builder("audio/x-raw")
- .field("format", gst_audio::AUDIO_FORMAT_F32.to_str())
- .field("rate", 44_100i32)
- .field("channels", 1i32)
- .field("layout", "interleaved")
+ gst_audio::AudioCapsBuilder::new_interleaved()
+ .format(gst_audio::AUDIO_FORMAT_F32)
+ .rate(44_100)
+ .channels(1)
.build()
);
}