From ef21addd7434b71809b775a5d918ab8925b4048e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com> Date: Sun, 31 Jan 2021 14:44:45 +0200 Subject: [PATCH] Use gst::PARAM_FLAG_MUTABLE_PLAYING consistently everywhere Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/139 --- audio/audiofx/src/audioecho/imp.rs | 8 +++---- audio/audiofx/src/audioloudnorm/imp.rs | 8 +++---- audio/csound/src/filter/imp.rs | 8 +++---- generic/file/src/filesrc/imp.rs | 2 +- generic/threadshare/src/inputselector/imp.rs | 2 +- generic/threadshare/src/udpsink/imp.rs | 11 +--------- generic/threadshare/src/udpsrc/imp.rs | 4 ++-- generic/threadshare/tests/pad.rs | 11 ++++------ net/reqwest/src/reqwesthttpsrc/imp.rs | 22 +++++++++---------- net/rusoto/src/aws_transcriber/imp.rs | 6 ++--- net/rusoto/src/s3sink/imp.rs | 8 +++---- text/wrap/src/gsttextwrap/imp.rs | 8 +++---- tutorial/src/progressbin/imp.rs | 4 ++-- tutorial/src/rgb2gray/imp.rs | 4 ++-- tutorial/src/sinesrc/imp.rs | 10 ++++----- utils/fallbackswitch/src/fallbacksrc/imp.rs | 22 +++++++++---------- .../src/fallbacksrc/video_fallback/imp.rs | 4 ++-- .../fallbackswitch/src/fallbackswitch/imp.rs | 6 ++--- utils/togglerecord/src/togglerecord/imp.rs | 2 +- video/closedcaption/src/ccdetect/imp.rs | 2 +- video/closedcaption/src/mcc_enc/imp.rs | 4 ++-- video/closedcaption/src/tttocea608/imp.rs | 2 +- video/closedcaption/src/tttojson/imp.rs | 2 +- video/gif/src/gifenc/imp.rs | 2 +- video/hsv/src/hsvdetector/imp.rs | 12 +++++----- video/hsv/src/hsvfilter/imp.rs | 10 ++++----- video/rav1e/src/rav1enc/imp.rs | 20 ++++++++--------- video/rspng/src/pngenc/imp.rs | 4 ++-- 28 files changed, 98 insertions(+), 110 deletions(-) diff --git a/audio/audiofx/src/audioecho/imp.rs b/audio/audiofx/src/audioecho/imp.rs index 19fa2decaa..8abf4de7b5 100644 --- a/audio/audiofx/src/audioecho/imp.rs +++ b/audio/audiofx/src/audioecho/imp.rs @@ -112,7 +112,7 @@ impl ObjectImpl for AudioEcho { "Maximum delay of the echo in nanoseconds (can't be changed in PLAYING or PAUSED state)", 0, u64::MAX, DEFAULT_MAX_DELAY, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint64( "delay", @@ -121,7 +121,7 @@ impl ObjectImpl for AudioEcho { 0, u64::MAX, DEFAULT_DELAY, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::double( "intensity", @@ -130,7 +130,7 @@ impl ObjectImpl for AudioEcho { 0.0, 1.0, DEFAULT_INTENSITY, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::double( "feedback", @@ -139,7 +139,7 @@ impl ObjectImpl for AudioEcho { 0.0, 1.0, DEFAULT_FEEDBACK, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), ] }); diff --git a/audio/audiofx/src/audioloudnorm/imp.rs b/audio/audiofx/src/audioloudnorm/imp.rs index 102894e553..5553016411 100644 --- a/audio/audiofx/src/audioloudnorm/imp.rs +++ b/audio/audiofx/src/audioloudnorm/imp.rs @@ -1763,7 +1763,7 @@ impl ObjectImpl for AudioLoudNorm { -70.0, -5.0, DEFAULT_LOUDNESS_TARGET, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::double( "loudness-range-target", @@ -1772,7 +1772,7 @@ impl ObjectImpl for AudioLoudNorm { 1.0, 20.0, DEFAULT_LOUDNESS_RANGE_TARGET, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::double( "max-true-peak", @@ -1781,7 +1781,7 @@ impl ObjectImpl for AudioLoudNorm { -9.0, 0.0, DEFAULT_MAX_TRUE_PEAK, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::double( "offset", @@ -1790,7 +1790,7 @@ impl ObjectImpl for AudioLoudNorm { -99.0, 99.0, DEFAULT_OFFSET, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); diff --git a/audio/csound/src/filter/imp.rs b/audio/csound/src/filter/imp.rs index 9967587e4f..3a5c492a36 100644 --- a/audio/csound/src/filter/imp.rs +++ b/audio/csound/src/filter/imp.rs @@ -352,7 +352,7 @@ impl ObjectImpl for CsoundFilter { "Loop", "loop over the score (can be changed in PLAYING or PAUSED state)", DEFAULT_LOOP, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::string( "location", @@ -360,7 +360,7 @@ impl ObjectImpl for CsoundFilter { "Location of the csd file to be used by csound. Use either location or CSD-text but not both at the same time, if so and error would be triggered", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::string( "csd-text", @@ -368,7 +368,7 @@ impl ObjectImpl for CsoundFilter { "The content of a csd file passed as a String. Use either location or csd-text but not both at the same time, if so and error would be triggered", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::double( "score-offset", @@ -377,7 +377,7 @@ impl ObjectImpl for CsoundFilter { 0.0, f64::MAX, SCORE_OFFSET_DEFAULT, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); diff --git a/generic/file/src/filesrc/imp.rs b/generic/file/src/filesrc/imp.rs index 1d037c3712..742e0a17c6 100644 --- a/generic/file/src/filesrc/imp.rs +++ b/generic/file/src/filesrc/imp.rs @@ -146,7 +146,7 @@ impl ObjectImpl for FileSrc { "File Location", "Location of the file to read from", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, )] }); diff --git a/generic/threadshare/src/inputselector/imp.rs b/generic/threadshare/src/inputselector/imp.rs index 36c7364953..fcd2d784ef 100644 --- a/generic/threadshare/src/inputselector/imp.rs +++ b/generic/threadshare/src/inputselector/imp.rs @@ -441,7 +441,7 @@ impl ObjectImpl for InputSelector { "Active Pad", "Currently active pad", gst::Pad::static_type(), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), ] }); diff --git a/generic/threadshare/src/udpsink/imp.rs b/generic/threadshare/src/udpsink/imp.rs index 8b44588c11..628c3df3b4 100644 --- a/generic/threadshare/src/udpsink/imp.rs +++ b/generic/threadshare/src/udpsink/imp.rs @@ -737,16 +737,7 @@ impl UdpSink { if let Some(ref wrapped_socket) = wrapped_socket { use std::net::UdpSocket; - let socket: UdpSocket; - - #[cfg(unix)] - { - socket = wrapped_socket.get() - } - #[cfg(windows)] - { - socket = wrapped_socket.get() - } + let socket = wrapped_socket.get(); let socket = context.enter(|| { tokio::net::UdpSocket::from_std(socket).map_err(|err| { diff --git a/generic/threadshare/src/udpsrc/imp.rs b/generic/threadshare/src/udpsrc/imp.rs index b8d92e1432..151cdeb79a 100644 --- a/generic/threadshare/src/udpsrc/imp.rs +++ b/generic/threadshare/src/udpsrc/imp.rs @@ -786,14 +786,14 @@ impl ObjectImpl for UdpSrc { "Socket", "Socket to use for UDP reception. (None == allocate)", gio::Socket::static_type(), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_CONDITIONALLY_AVAILABLE, )); properties.push(glib::ParamSpec::object( "used-socket", "Used Socket", "Socket currently in use for UDP reception. (None = no socket)", gio::Socket::static_type(), - glib::ParamFlags::READABLE, + glib::ParamFlags::READABLE | gst::PARAM_FLAG_CONDITIONALLY_AVAILABLE, )); } diff --git a/generic/threadshare/tests/pad.rs b/generic/threadshare/tests/pad.rs index e7d8bb960b..d5574464e2 100644 --- a/generic/threadshare/tests/pad.rs +++ b/generic/threadshare/tests/pad.rs @@ -666,7 +666,7 @@ mod imp_sink { "Sender", "Channel sender to forward the incoming items to", ItemSender::get_type(), - glib::ParamFlags::WRITABLE, + glib::ParamFlags::WRITABLE | glib::ParamFlags::CONSTRUCT_ONLY, )] }); @@ -793,15 +793,12 @@ fn setup( } // Sink - let sink_element = glib::Object::new::<ElementSinkTest>(&[]).unwrap(); + let (sender, receiver) = mpsc::channel::<Item>(10); + let sink_element = + glib::Object::new::<ElementSinkTest>(&[("sender", &ItemSender { sender })]).unwrap(); pipeline.add(&sink_element).unwrap(); last_element.link(&sink_element).unwrap(); - let (sender, receiver) = mpsc::channel::<Item>(10); - sink_element - .set_property("sender", &ItemSender { sender }) - .unwrap(); - (pipeline, src_element, sink_element, receiver) } diff --git a/net/reqwest/src/reqwesthttpsrc/imp.rs b/net/reqwest/src/reqwesthttpsrc/imp.rs index 429d86c337..453b6dd39c 100644 --- a/net/reqwest/src/reqwesthttpsrc/imp.rs +++ b/net/reqwest/src/reqwesthttpsrc/imp.rs @@ -585,35 +585,35 @@ impl ObjectImpl for ReqwestHttpSrc { "Location", "URL to read from", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::string( "user-agent", "User-Agent", "Value of the User-Agent HTTP request header field", DEFAULT_USER_AGENT.into(), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boolean( "is-live", "Is Live", "Act like a live source", DEFAULT_IS_LIVE, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::string( "user-id", "User-id", "HTTP location URI user id for authentication", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::string( "user-pw", "User-pw", "HTTP location URI user password for authentication", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint( "timeout", @@ -622,42 +622,42 @@ impl ObjectImpl for ReqwestHttpSrc { 0, 3600, DEFAULT_TIMEOUT, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boolean( "compress", "Compress", "Allow compressed content encodings", DEFAULT_COMPRESS, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boxed( "extra-headers", "Extra Headers", "Extra headers to append to the HTTP request", gst::Structure::static_type(), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boxed( "cookies", "Cookies", "HTTP request cookies", Vec::<String>::static_type(), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boolean( "iradio-mode", "I-Radio Mode", "Enable internet radio mode (ask server to send shoutcast/icecast metadata interleaved with the actual stream data", DEFAULT_IRADIO_MODE, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boolean( "keep-alive", "Keep Alive", "Use HTTP persistent connections", DEFAULT_KEEP_ALIVE, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); diff --git a/net/rusoto/src/aws_transcriber/imp.rs b/net/rusoto/src/aws_transcriber/imp.rs index 3e5a9ae80f..6bf85a8185 100644 --- a/net/rusoto/src/aws_transcriber/imp.rs +++ b/net/rusoto/src/aws_transcriber/imp.rs @@ -1043,14 +1043,14 @@ impl ObjectImpl for Transcriber { <https://docs.aws.amazon.com/transcribe/latest/dg/how-streaming-transcription.html> \ for an up to date list of allowed languages", Some("en-US"), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boolean( "use-partial-results", "Latency", "Whether partial results from AWS should be used", DEFAULT_USE_PARTIAL_RESULTS, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::uint( "latency", @@ -1059,7 +1059,7 @@ impl ObjectImpl for Transcriber { 2 * GRANULARITY_MS, std::u32::MAX, DEFAULT_LATENCY_MS, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); diff --git a/net/rusoto/src/s3sink/imp.rs b/net/rusoto/src/s3sink/imp.rs index 0896419e49..dd9ec4696f 100644 --- a/net/rusoto/src/s3sink/imp.rs +++ b/net/rusoto/src/s3sink/imp.rs @@ -369,21 +369,21 @@ impl ObjectImpl for S3Sink { "S3 Bucket", "The bucket of the file to write", None, - glib::ParamFlags::READWRITE, /* + GST_PARAM_MUTABLE_READY) */ + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::string( "key", "S3 Key", "The key of the file to write", None, - glib::ParamFlags::READWRITE, /* + GST_PARAM_MUTABLE_READY) */ + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::string( "region", "AWS Region", "An AWS region (e.g. eu-west-2).", None, - glib::ParamFlags::READWRITE, /* + GST_PARAM_MUTABLE_READY) */ + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint64( "part-size", @@ -392,7 +392,7 @@ impl ObjectImpl for S3Sink { 5 * 1024 * 1024, // 5 MB 5 * 1024 * 1024 * 1024, // 5 GB DEFAULT_BUFFER_SIZE, - glib::ParamFlags::READWRITE, /* + GST_PARAM_MUTABLE_READY) */ + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); diff --git a/text/wrap/src/gsttextwrap/imp.rs b/text/wrap/src/gsttextwrap/imp.rs index 86b6235779..0d62fd37ed 100644 --- a/text/wrap/src/gsttextwrap/imp.rs +++ b/text/wrap/src/gsttextwrap/imp.rs @@ -416,7 +416,7 @@ impl ObjectImpl for TextWrap { "Path to a dictionary to load at runtime to perform hyphenation, see \ <https://docs.rs/crate/hyphenation/0.7.1> for more information", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::uint( "columns", @@ -425,7 +425,7 @@ impl ObjectImpl for TextWrap { 1, std::u32::MAX, DEFAULT_COLUMNS, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::uint( "lines", @@ -434,7 +434,7 @@ impl ObjectImpl for TextWrap { 0, std::u32::MAX, DEFAULT_LINES, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::int64( "accumulate-time", @@ -443,7 +443,7 @@ impl ObjectImpl for TextWrap { -1, std::i64::MAX, DEFAULT_ACCUMULATE, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), ] }); diff --git a/tutorial/src/progressbin/imp.rs b/tutorial/src/progressbin/imp.rs index 7410bc2b39..060c0c18eb 100644 --- a/tutorial/src/progressbin/imp.rs +++ b/tutorial/src/progressbin/imp.rs @@ -94,7 +94,7 @@ impl ObjectImpl for ProgressBin { "Defines the output type of the progressbin", ProgressBinOutput::static_type(), DEFAULT_OUTPUT_TYPE as i32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, )] }); @@ -237,7 +237,7 @@ impl BinImpl for ProgressBin { { let s = msg.get_structure().unwrap(); if let Ok(percent) = s.get_some::<f64>("percent-double") { - let output_type = self.output_type.lock().unwrap(); + let output_type = *self.output_type.lock().unwrap(); match *output_type { ProgressBinOutput::Println => println!("progress: {:5.1}%", percent), ProgressBinOutput::DebugCategory => { diff --git a/tutorial/src/rgb2gray/imp.rs b/tutorial/src/rgb2gray/imp.rs index 019e48d335..4db88fd8be 100644 --- a/tutorial/src/rgb2gray/imp.rs +++ b/tutorial/src/rgb2gray/imp.rs @@ -122,7 +122,7 @@ impl ObjectImpl for Rgb2Gray { "Invert", "Invert grayscale output", DEFAULT_INVERT, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::uint( "shift", @@ -131,7 +131,7 @@ impl ObjectImpl for Rgb2Gray { 0, 255, DEFAULT_SHIFT, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), ] }); diff --git a/tutorial/src/sinesrc/imp.rs b/tutorial/src/sinesrc/imp.rs index 558aaf58a2..e18c5a0233 100644 --- a/tutorial/src/sinesrc/imp.rs +++ b/tutorial/src/sinesrc/imp.rs @@ -182,7 +182,7 @@ impl ObjectImpl for SineSrc { 1, u32::MAX, DEFAULT_SAMPLES_PER_BUFFER, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint( "freq", @@ -191,7 +191,7 @@ impl ObjectImpl for SineSrc { 1, u32::MAX, DEFAULT_FREQ, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::double( "volume", @@ -200,21 +200,21 @@ impl ObjectImpl for SineSrc { 0.0, 10.0, DEFAULT_VOLUME, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::boolean( "mute", "Mute", "Mute", DEFAULT_MUTE, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::boolean( "is-live", "Is Live", "(Pseudo) live output", DEFAULT_IS_LIVE, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); diff --git a/utils/fallbackswitch/src/fallbacksrc/imp.rs b/utils/fallbackswitch/src/fallbacksrc/imp.rs index f4ceb1ebb4..26631f3468 100644 --- a/utils/fallbackswitch/src/fallbacksrc/imp.rs +++ b/utils/fallbackswitch/src/fallbacksrc/imp.rs @@ -204,29 +204,29 @@ impl ObjectImpl for FallbackSrc { "Enable Audio", "Enable the audio stream, this will output silence if there's no audio in the configured URI", true, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boolean( "enable-video", "Enable Video", "Enable the video stream, this will output black or the fallback video if there's no video in the configured URI", true, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), - glib::ParamSpec::string("uri", "URI", "URI to use", None, glib::ParamFlags::READWRITE), + glib::ParamSpec::string("uri", "URI", "URI to use", None, glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY), glib::ParamSpec::object( "source", "Source", "Source to use instead of the URI", gst::Element::static_type(), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::string( "fallback-uri", "Fallback URI", "Fallback URI to use for video in case the main stream doesn't work", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint64( "timeout", @@ -235,7 +235,7 @@ impl ObjectImpl for FallbackSrc { 0, std::u64::MAX, 5 * gst::SECOND_VAL, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint64( "restart-timeout", @@ -244,7 +244,7 @@ impl ObjectImpl for FallbackSrc { 0, std::u64::MAX, 5 * gst::SECOND_VAL, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint64( "retry-timeout", @@ -253,14 +253,14 @@ impl ObjectImpl for FallbackSrc { 0, std::u64::MAX, 60 * gst::SECOND_VAL, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boolean( "restart-on-eos", "Restart on EOS", "Restart source on EOS", false, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::enum_( "status", @@ -279,7 +279,7 @@ impl ObjectImpl for FallbackSrc { 0, std::u64::MAX, 0, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::int64( "buffer-duration", @@ -288,7 +288,7 @@ impl ObjectImpl for FallbackSrc { -1, std::i64::MAX, -1, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boxed( "statistics", diff --git a/utils/fallbackswitch/src/fallbacksrc/video_fallback/imp.rs b/utils/fallbackswitch/src/fallbacksrc/video_fallback/imp.rs index 20f2964edb..ca8053fc6d 100644 --- a/utils/fallbackswitch/src/fallbacksrc/video_fallback/imp.rs +++ b/utils/fallbackswitch/src/fallbacksrc/video_fallback/imp.rs @@ -94,7 +94,7 @@ impl ObjectImpl for VideoFallbackSource { "URI", "URI to use for video in case the main stream doesn't work", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | glib::ParamFlags::CONSTRUCT_ONLY, ), glib::ParamSpec::uint64( "min-latency", @@ -103,7 +103,7 @@ impl ObjectImpl for VideoFallbackSource { 0, std::u64::MAX, 0, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | glib::ParamFlags::CONSTRUCT_ONLY, ), ] }); diff --git a/utils/fallbackswitch/src/fallbackswitch/imp.rs b/utils/fallbackswitch/src/fallbackswitch/imp.rs index 39350b1a07..c5fcd951ec 100644 --- a/utils/fallbackswitch/src/fallbackswitch/imp.rs +++ b/utils/fallbackswitch/src/fallbackswitch/imp.rs @@ -679,21 +679,21 @@ impl ObjectImpl for FallbackSwitch { 0, std::u64::MAX, DEFAULT_TIMEOUT, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::object( "active-pad", "Active Pad", "Currently active pad. Writes are ignored if auto-switch=true", gst::Pad::static_type(), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::boolean( "auto-switch", "Automatically switch pads", "Automatically switch pads (If true, prefer primary sink, otherwise manual selection via the active-pad property)", DEFAULT_AUTO_SWITCH, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE| gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::enum_( "primary-health", diff --git a/utils/togglerecord/src/togglerecord/imp.rs b/utils/togglerecord/src/togglerecord/imp.rs index 37246dbef4..cb28e408b0 100644 --- a/utils/togglerecord/src/togglerecord/imp.rs +++ b/utils/togglerecord/src/togglerecord/imp.rs @@ -1711,7 +1711,7 @@ impl ObjectImpl for ToggleRecord { "Record", "Enable/disable recording", DEFAULT_RECORD, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::boolean( "recording", diff --git a/video/closedcaption/src/ccdetect/imp.rs b/video/closedcaption/src/ccdetect/imp.rs index 6506a1b2a3..deaa430b21 100644 --- a/video/closedcaption/src/ccdetect/imp.rs +++ b/video/closedcaption/src/ccdetect/imp.rs @@ -380,7 +380,7 @@ impl ObjectImpl for CCDetect { 0, u64::MAX, DEFAULT_WINDOW, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::boolean( "cc608", diff --git a/video/closedcaption/src/mcc_enc/imp.rs b/video/closedcaption/src/mcc_enc/imp.rs index e76eebb748..76a1792ad0 100644 --- a/video/closedcaption/src/mcc_enc/imp.rs +++ b/video/closedcaption/src/mcc_enc/imp.rs @@ -510,14 +510,14 @@ impl ObjectImpl for MccEnc { "UUID", "UUID for the output file", None, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boxed( "creation-date", "Creation Date", "Creation date for the output file", glib::DateTime::static_type(), - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); diff --git a/video/closedcaption/src/tttocea608/imp.rs b/video/closedcaption/src/tttocea608/imp.rs index cab504e4e0..f741d1b4c3 100644 --- a/video/closedcaption/src/tttocea608/imp.rs +++ b/video/closedcaption/src/tttocea608/imp.rs @@ -996,7 +996,7 @@ impl ObjectImpl for TtToCea608 { "Which mode to operate in", Cea608Mode::static_type(), DEFAULT_MODE as i32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, )] }); diff --git a/video/closedcaption/src/tttojson/imp.rs b/video/closedcaption/src/tttojson/imp.rs index 659df5bb40..f7e4df7dd7 100644 --- a/video/closedcaption/src/tttojson/imp.rs +++ b/video/closedcaption/src/tttojson/imp.rs @@ -237,7 +237,7 @@ impl ObjectImpl for TtToJson { "Which mode to operate in", Cea608Mode::static_type(), DEFAULT_MODE as i32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, )] }); diff --git a/video/gif/src/gifenc/imp.rs b/video/gif/src/gifenc/imp.rs index c97a6ee34f..6ae6db6002 100644 --- a/video/gif/src/gifenc/imp.rs +++ b/video/gif/src/gifenc/imp.rs @@ -158,7 +158,7 @@ impl ObjectImpl for GifEnc { -1, std::u16::MAX as i32, DEFAULT_REPEAT, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, )] }); diff --git a/video/hsv/src/hsvdetector/imp.rs b/video/hsv/src/hsvdetector/imp.rs index 03e047411d..82338c9439 100644 --- a/video/hsv/src/hsvdetector/imp.rs +++ b/video/hsv/src/hsvdetector/imp.rs @@ -106,7 +106,7 @@ impl ObjectImpl for HsvDetector { f32::MIN, f32::MAX, DEFAULT_HUE_REF, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "hue-var", @@ -115,7 +115,7 @@ impl ObjectImpl for HsvDetector { 0.0, 180.0, DEFAULT_HUE_VAR, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "saturation-ref", @@ -124,7 +124,7 @@ impl ObjectImpl for HsvDetector { 0.0, 1.0, DEFAULT_SATURATION_REF, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "saturation-var", @@ -133,7 +133,7 @@ impl ObjectImpl for HsvDetector { 0.0, 1.0, DEFAULT_SATURATION_VAR, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "value-ref", @@ -142,7 +142,7 @@ impl ObjectImpl for HsvDetector { 0.0, 1.0, DEFAULT_VALUE_REF, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "value-var", @@ -151,7 +151,7 @@ impl ObjectImpl for HsvDetector { 0.0, 1.0, DEFAULT_VALUE_VAR, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), ] }); diff --git a/video/hsv/src/hsvfilter/imp.rs b/video/hsv/src/hsvfilter/imp.rs index bbbb2180a5..747e4e5c29 100644 --- a/video/hsv/src/hsvfilter/imp.rs +++ b/video/hsv/src/hsvfilter/imp.rs @@ -101,7 +101,7 @@ impl ObjectImpl for HsvFilter { f32::MIN, f32::MAX, DEFAULT_HUE_SHIFT, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "saturation-mul", @@ -110,7 +110,7 @@ impl ObjectImpl for HsvFilter { f32::MIN, f32::MAX, DEFAULT_SATURATION_MUL, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "saturation-off", @@ -119,7 +119,7 @@ impl ObjectImpl for HsvFilter { f32::MIN, f32::MAX, DEFAULT_SATURATION_OFF, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "value-mul", @@ -128,7 +128,7 @@ impl ObjectImpl for HsvFilter { f32::MIN, f32::MAX, DEFAULT_VALUE_MUL, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), glib::ParamSpec::float( "value-off", @@ -137,7 +137,7 @@ impl ObjectImpl for HsvFilter { f32::MIN, f32::MAX, DEFAULT_VALUE_OFF, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, ), ] }); diff --git a/video/rav1e/src/rav1enc/imp.rs b/video/rav1e/src/rav1enc/imp.rs index 2974a662f2..6516f6ceb0 100644 --- a/video/rav1e/src/rav1enc/imp.rs +++ b/video/rav1e/src/rav1enc/imp.rs @@ -233,14 +233,14 @@ impl ObjectImpl for Rav1Enc { 0, 10, DEFAULT_SPEED_PRESET, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::boolean( "low-latency", "Low Latency", "Low Latency", DEFAULT_LOW_LATENCY, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint64( "min-key-frame-interval", @@ -249,7 +249,7 @@ impl ObjectImpl for Rav1Enc { 0, std::u64::MAX, DEFAULT_MIN_KEY_FRAME_INTERVAL, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint64( "max-key-frame-interval", @@ -258,7 +258,7 @@ impl ObjectImpl for Rav1Enc { 0, std::u64::MAX, DEFAULT_MAX_KEY_FRAME_INTERVAL, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::int( "bitrate", @@ -267,7 +267,7 @@ impl ObjectImpl for Rav1Enc { 0, std::i32::MAX, DEFAULT_BITRATE, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint( "quantizer", @@ -276,7 +276,7 @@ impl ObjectImpl for Rav1Enc { 0, std::u32::MAX, DEFAULT_QUANTIZER as u32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint( "tile-cols", @@ -285,7 +285,7 @@ impl ObjectImpl for Rav1Enc { 0, std::u32::MAX, DEFAULT_TILE_COLS as u32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint( "tile-rows", @@ -294,7 +294,7 @@ impl ObjectImpl for Rav1Enc { 0, std::u32::MAX, DEFAULT_TILE_ROWS as u32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint( "tiles", @@ -303,7 +303,7 @@ impl ObjectImpl for Rav1Enc { 0, std::u32::MAX, DEFAULT_TILES as u32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::uint( "threads", @@ -312,7 +312,7 @@ impl ObjectImpl for Rav1Enc { 0, std::u32::MAX, DEFAULT_THREADS as u32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); diff --git a/video/rspng/src/pngenc/imp.rs b/video/rspng/src/pngenc/imp.rs index 42e5854a58..145c6054a3 100644 --- a/video/rspng/src/pngenc/imp.rs +++ b/video/rspng/src/pngenc/imp.rs @@ -193,7 +193,7 @@ impl ObjectImpl for PngEncoder { "Selects the compression algorithm to use", CompressionLevel::static_type(), DEFAULT_COMPRESSION_LEVEL as i32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), glib::ParamSpec::enum_( "filter", @@ -201,7 +201,7 @@ impl ObjectImpl for PngEncoder { "Selects the filter type to applied", FilterType::static_type(), DEFAULT_FILTER_TYPE as i32, - glib::ParamFlags::READWRITE, + glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, ), ] }); -- GitLab