Tim-Philipp Müller [Mon, 1 Feb 2016 00:29:37 +0000 (00:29 +0000)]
Remove dead libfame plugin
Was never even ported to 0.10, and the lib
has been unmaintained for ever and doesn't
even seem to be packaged any more.
Tim-Philipp Müller [Sun, 31 Jan 2016 19:09:57 +0000 (19:09 +0000)]
Remove dead audiofile plugin
This was never even ported to 0.10.
Tim-Philipp Müller [Sun, 31 Jan 2016 19:04:20 +0000 (19:04 +0000)]
Remove gsettings plugin which was never ported
Don't think we need this any longer or want to
support it, and clearly no one has been missing
it all these years either, so let's just get rid
of it.
Tim-Philipp Müller [Sun, 31 Jan 2016 16:02:33 +0000 (16:02 +0000)]
smoothstreaming: remove unused dependency on uridownloader
Tim-Philipp Müller [Sun, 31 Jan 2016 14:42:21 +0000 (14:42 +0000)]
faad: simplify configure check and require faad >= 2.7
Just check whether LATM is defined which is only available
in 2.7 and later. Allows us to simplify the configure check
a little and we can get rid of some hackish workarounds for
problems with earlier version headers.
Tim-Philipp Müller [Sat, 30 Jan 2016 17:31:41 +0000 (17:31 +0000)]
dvbsrc: drop unnecessary use of _stdint.h
Sebastian Dröge [Fri, 29 Jan 2016 22:39:26 +0000 (23:39 +0100)]
mxftypes: Generate UUIDs according to RFC4122 version 4 (aka random)
Instead of fully random UUIDs, these should follow a scheme.
Sebastian Dröge [Fri, 29 Jan 2016 20:09:44 +0000 (21:09 +0100)]
mxfmetadata: Properly write video line map data as an array of 32 bit integers
Sebastian Dröge [Fri, 29 Jan 2016 19:58:27 +0000 (20:58 +0100)]
mxfmetadata: DMSchemes in the Preface is a required field
Even if it has 0 entries.
Sebastian Dröge [Fri, 29 Jan 2016 17:41:52 +0000 (18:41 +0100)]
mxful: Fix Content Storage UL
Sebastian Dröge [Fri, 29 Jan 2016 17:28:03 +0000 (18:28 +0100)]
mxfmetadata: Best effort values must be written and if unset must contain the distinguished value
It's invalid to not write them at all.
Sebastian Dröge [Fri, 29 Jan 2016 16:36:11 +0000 (17:36 +0100)]
mxful: Add missing OperationalPattern UL, which fixes an off-by-one with the others
Sebastian Dröge [Fri, 29 Jan 2016 16:07:08 +0000 (17:07 +0100)]
mxfmux: Our body partition is always complete and closed
We have no metadata in it.
Sebastian Dröge [Fri, 29 Jan 2016 16:02:01 +0000 (17:02 +0100)]
mxfmux: Use IndexSID of 2 instead of 1
Some tools complain if essence and index have the same SID.
Sebastian Dröge [Fri, 29 Jan 2016 15:38:23 +0000 (16:38 +0100)]
mxfmux: Rewrite body partition pack on EOS and mark it as complete/closed
Matthew Waters [Fri, 29 Jan 2016 12:28:59 +0000 (23:28 +1100)]
amcvideodec: guard against not finding a valid frame in loop
Fixes sporadic crashes on finishing decoding a video.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Matthew Waters [Fri, 29 Jan 2016 04:24:36 +0000 (15:24 +1100)]
amcvideodec: set our data pointer in java to NULL on close
The frame available callback can be called after deconfiguring the amc codec.
Guard against this by setting the back pointer to NULL on close() and ignoring
any NULL data pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Alessandro Decina [Fri, 29 Jan 2016 04:07:59 +0000 (15:07 +1100)]
applemedia: refactor GL context code
Rework the GL context code. Now both avfvideosrc and vtdec can create an
internal GL context for pushing textures. Both elements will still try to
use/switch to a local context where available (including after RECONFIGURE
events).
Wang Xin-yu (王昕宇) [Fri, 29 Jan 2016 02:35:15 +0000 (10:35 +0800)]
glprototypes: fix parameter type of glGenBuffers
The number of buffers should be GLsizei instead of GLuint.
https://bugzilla.gnome.org/show_bug.cgi?id=761272
Haihua Hu [Tue, 8 Dec 2015 06:09:58 +0000 (14:09 +0800)]
gleffects: fix gleffects fisheye shader compile error
On some embedded systems, sqrt() is not supported in the shader,
use the actual value of sqrt(2) instead.
Signed-off-by: Haihua Hu <b55597@freescale.com>
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=761271
Matthew Waters [Fri, 29 Jan 2016 03:03:26 +0000 (14:03 +1100)]
glvideomixer: par may not exist in the caps
Fixes a critical in the gst-validate tests:
gst_structure_fixate_field_nearest_fraction: assertion 'gst_structure_has_field
(structure, field_name)
Matthew Waters [Fri, 29 Jan 2016 01:45:57 +0000 (12:45 +1100)]
glcontext: back out unintended lost_context changes
Matthew Waters [Thu, 28 Jan 2016 05:39:07 +0000 (16:39 +1100)]
egl: implement selecting opengl3 contexts
Matthew Waters [Thu, 28 Jan 2016 03:31:33 +0000 (14:31 +1100)]
gl/egl: pass the error value to get_error_string()
Aurélien Zanelli [Thu, 28 Jan 2016 17:20:44 +0000 (18:20 +0100)]
videoparse: initialize update_size to FALSE when updating info
Otherwise, behavior will be undefined when no strides/offsets are set
and it will likely go wrong.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Nicolas Dufresne [Thu, 28 Jan 2016 16:56:36 +0000 (11:56 -0500)]
videoparse: Fix framesize calculation
When the framesize is not specified, we try and calculate a size from
the strides and offset information. This was done with the sum of
offsets + the size of the last frame. That is just wrong method. We also
need to account for video meta that may be flipping two planes. An
example is if you convert I420 to YV12 by flipping the two last offsets.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Sebastian Dröge [Thu, 28 Jan 2016 18:36:47 +0000 (19:36 +0100)]
gdpdepay: Add ts-offset property to adjust buffer timestamps
Jan Schmidt [Thu, 28 Jan 2016 17:50:42 +0000 (04:50 +1100)]
pkg-config: Don't generate and install pkg-config with relative paths
Don't put relative paths in pkg-config files, including uninstalled
ones. For those, use @abs_topbuilddir@ and @abs_topsrcdir@ as we
do elsewhere.
Remove libraries= directives, which doesn't seem to be a pkg-config
variable that actually exists, but has been in all our pkg-config
files for as long as they've existed.
Sebastian Dröge [Thu, 28 Jan 2016 15:49:53 +0000 (16:49 +0100)]
mxfmpeg: Write the correct essence container UL for all codecs
Sebastian Dröge [Thu, 28 Jan 2016 15:41:31 +0000 (16:41 +0100)]
mxfmpeg: Write version number into the picture essence coding UL
Sebastian Dröge [Thu, 28 Jan 2016 15:32:34 +0000 (16:32 +0100)]
mxfmux: Write a timecode track into the source package too
Aurélien Zanelli [Mon, 11 Jan 2016 14:47:24 +0000 (15:47 +0100)]
videoparse: use decide_allocation to check if downstream supports videometa
If yes, we add them to each output buffers and we avoid frame copy.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Mon, 11 Jan 2016 14:46:16 +0000 (15:46 +0100)]
rawparse: add 'decide_allocation' vfunc to let subclass parse an allocation query
And so send an allocation query. This could be used to check whether
downstream element supports some metas or not.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Fri, 8 Jan 2016 16:17:01 +0000 (17:17 +0100)]
rawparse: use size of buffer we got from adapter
Otherwise position in stream could be wrong if subclass 'pre_push_frame'
method changes the buffer size.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Thu, 7 Jan 2016 13:27:27 +0000 (14:27 +0100)]
videoparse: add properties to set framesize, strides and planes offsets
To make parser work with image having non-standard strides, plane
offsets or with padding between images.
For now, since element doesn't check for videometa, we can't directly
push buffers when these properties are set so it convert the frame
in the pre_push_buffer method to remove any custom padding.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Fri, 8 Jan 2016 14:21:28 +0000 (15:21 +0100)]
rawparse: rename 'set_buffer_flags' vfunc to 'pre_push_buffer'
to allow subclass to change other fields of the buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Thu, 7 Jan 2016 13:18:08 +0000 (14:18 +0100)]
videoparse: cache video info in instance
To avoid initializing and filling video info each time we need it.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Sebastian Dröge [Thu, 28 Jan 2016 14:38:45 +0000 (15:38 +0100)]
mxfmux: Write This Generation UID into the Identification metadata
It's required according to the standard and we forgot to actually write it to
the file although we stored it in the data structures.
Sebastian Dröge [Thu, 28 Jan 2016 14:29:01 +0000 (15:29 +0100)]
mxfmetadata: Add workaround for ffmpeg only writing one Video Line Map value
https://ffmpeg.org/pipermail/ffmpeg-devel/2016-January/188202.html
Matthew Waters [Wed, 14 Oct 2015 10:13:57 +0000 (21:13 +1100)]
videoaggregator: don't do caps processing that is not overridable
Allows the subclass to completely override the chosen src caps.
This is needed as videoaggregator generally has no idea exactly
what operation is being performed.
- Adds a fixate_caps vfunc for fixation
- Merges gst_video_aggregator_update_converters() into
gst_videoaggregator_update_src_caps() as we need some of its info
for proper caps handling.
- Pass the downstream caps to the update_caps vfunc
https://bugzilla.gnome.org/show_bug.cgi?id=756207
Matthew Waters [Wed, 27 Jan 2016 09:23:21 +0000 (20:23 +1100)]
glcolorbalance: return HARDWARE from get_balance_type
Matthew Waters [Wed, 27 Jan 2016 09:04:00 +0000 (20:04 +1100)]
glsinkbin: add glcolorbalance element
This makes playbin not plug videobalance as glcolorbalance already exists and
implements the GstColorBalance interface.
Matthew Waters [Wed, 27 Jan 2016 08:56:36 +0000 (19:56 +1100)]
gl: move control binding proxy implementation from glvideomixer
Other elements may need to use it's functionality
Matthew Waters [Wed, 27 Jan 2016 07:17:06 +0000 (18:17 +1100)]
glcolorbalance: create the shader if it doesn't exist in the render callback
Changing the properties may result in glcolorbalance moving from passthrough to
non-passthrough and we weren't creating the shader in that case.
Matthew Waters [Mon, 25 Jan 2016 05:29:46 +0000 (16:29 +1100)]
qt: specify that we currently only take 2D textures
Fixes black screen video playback on android without a caps filter.
Matthew Waters [Mon, 25 Jan 2016 08:11:38 +0000 (19:11 +1100)]
glvideoflip: incorporate the aspect ratio into the scale_x calculations
1. Otherwise rotating the video will clip and show black bars due to
gltransformation's implementation.
2. The other option of make gltransformation aspect-agnostic produces
incorrect output with perspective transformations.
Alessandro Decina [Wed, 27 Jan 2016 03:36:36 +0000 (14:36 +1100)]
applemedia: avfvideosrc: actually set the configured framerate
Actually set the configured framerate. Before we only used to set the first
matching framerate range. On iOS where the camera reports ranges [2, 60], we
used to configure the camera to output anything between 2 and 60fps.
Luis de Bethencourt [Mon, 25 Jan 2016 22:30:29 +0000 (22:30 +0000)]
opencv: add mask property to cvlaplace
Add a "mask" property that sets whether the edges by cvLaplace should be
used as a mask on the original input or not. The same way the original
image is copied to the edges in edgedetect.
Luis de Bethencourt [Mon, 25 Jan 2016 21:42:52 +0000 (21:42 +0000)]
opencv: add mask property to cvsobel
Add a "mask" property that sets whether the detected derivative edges
should be used as a mask on the original input or not. The same way
the original image is added to the edges in edgedetect.
Luis de Bethencourt [Mon, 25 Jan 2016 15:19:37 +0000 (15:19 +0000)]
opencv: update deprecated function in skindetect
cvCvtPixToPlane() has been deprecated in OpenCV 3.0, and cvSplit() is the
suggested replacement. Since cvSplit() is available in OpenCV 2.4, it is
safe and cautious to update the function usage before it becomes an issue.
Luis de Bethencourt [Mon, 25 Jan 2016 11:43:59 +0000 (11:43 +0000)]
opencv: fix cvlaplace
cvlaplace was also affected by the silent change in OpenCV API, same as
cvsobel. It hasn't been working for a while. It would return a plain black
image. This commit updates the usage of cvLaplace by using cvCvtColor to
create the grayscale intermediate image to process. This also means there
is no need anymore to use GstBaseTransform's transform_caps, since the pads
are RGB.
Vineeth TM [Mon, 25 Jan 2016 04:33:09 +0000 (13:33 +0900)]
h265parse: Fix buffer leak when sps is not present
When sps data is NULL, the buffer allocated and mapped is not being freed.
In this scenario there is no need to allocate the buffer as we are supposed to return NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=761070
Vineeth TM [Mon, 25 Jan 2016 03:05:12 +0000 (12:05 +0900)]
h265parse: Fix buffer memory leak.
While setting caps, codec_data buffer is mapped, but not being unmapped
leading to memory leaks.
https://bugzilla.gnome.org/show_bug.cgi?id=761070
Luis de Bethencourt [Sat, 23 Jan 2016 17:10:51 +0000 (17:10 +0000)]
opencv: fix cvsobel
cvsobel han't been working for a while due to a silent change in OpenCV
API. It would return a plain black image. This commit updates the usage
of cvSobel by using cvCvtColor to create the grayscale image to process.
This also means there is no need to use GstBaseTransform's transform_caps
anymore, since the pads can be RGB.
Sebastian Dröge [Sat, 23 Jan 2016 03:30:05 +0000 (05:30 +0200)]
pkg-config: Properly version and install base/audio/video .pc files
https://bugzilla.gnome.org/show_bug.cgi?id=760733#c17
Alex Ashley [Fri, 22 Jan 2016 16:43:03 +0000 (16:43 +0000)]
adaptivedemux: fix leak of stream->internal_pad
The function gst_adaptive_demux_stream_update_source() function creates
a new GstPad called internal_pad. This pad is not freed when releasing
the stream.
The solution is to set GST_PAD_FLAG_NEED_PARENT so that the chain
functions do not get called when the pad has no parent and then
remove the parent in the gst_adaptive_demux_stream_free() function. This
causes the refcount of the pad to be set to zero.
https://bugzilla.gnome.org/show_bug.cgi?id=760982
John Chang [Thu, 21 Jan 2016 14:00:44 +0000 (22:00 +0800)]
mpdparser: Use RepresentationIndex instead of Initialization to get the URL of the RepresentationIndex
https://bugzilla.gnome.org/show_bug.cgi?id=760936
Sebastian Dröge [Fri, 22 Jan 2016 15:25:28 +0000 (17:25 +0200)]
ahc: Fail gracefully if our callback class can't be found
Instead of just ignoring that error and then calling JNI functions with NULL,
which will kill the virtual machine.
The error handling here needs some further improvements though, errors in more
places are just ignored.
Sebastian Dröge [Fri, 22 Jan 2016 15:22:47 +0000 (17:22 +0200)]
ahc: Initialize GError pointer with NULL
Otherwise there will be assertions.
Sebastian Dröge [Fri, 22 Jan 2016 15:18:58 +0000 (17:18 +0200)]
amcvideodec: Only free GstAmcBuffer if it's not NULL
And also free it on GL errors.
Julien Moutte [Wed, 13 Jan 2016 21:05:49 +0000 (22:05 +0100)]
decklinkvideosrc: implement RGB capture support
Combine mode and format to generate caps and support the flags from VideoChanged callback to support RGB capture.
https://bugzilla.gnome.org/show_bug.cgi?id=760594
Sebastian Dröge [Fri, 22 Jan 2016 14:22:07 +0000 (16:22 +0200)]
amc: Add an assertion for NULL GErrors
Should never happen! But an assertion is better than a NULL pointer
dereference.
Sebastian Dröge [Fri, 22 Jan 2016 14:14:46 +0000 (16:14 +0200)]
ahc: Fix indentation
Sebastian Dröge [Fri, 22 Jan 2016 14:13:45 +0000 (16:13 +0200)]
amc: MediaCodec::getOutputBuffer() can return NULL without exception
Happens when doing zerocopy rendering, or when passing a wrong index to it.
Handle this properly for zerocopy rendering, fail properly for the other
cases.
https://bugzilla.gnome.org/show_bug.cgi?id=760961
Sebastian Dröge [Sat, 16 Jan 2016 16:59:43 +0000 (18:59 +0200)]
base/audio/video: Install headers and pkg-config files
They are still considered unstable API but it would be good to give them some
wider testing already to make sure the API is useful.
https://bugzilla.gnome.org/show_bug.cgi?id=760733
Sebastian Dröge [Sat, 16 Jan 2016 16:56:26 +0000 (18:56 +0200)]
audio: Move audioaggregator base class to a library
It's useful enough already to be used in other elements for audio aggregation,
let's give people the opportunity to use it and give it some API testing.
https://bugzilla.gnome.org/show_bug.cgi?id=760733
Holger Kaelberer [Thu, 21 Jan 2016 22:13:36 +0000 (23:13 +0100)]
glwindow: Fix android build
https://bugzilla.gnome.org/show_bug.cgi?id=760972
Alessandro Decina [Fri, 22 Jan 2016 02:51:49 +0000 (13:51 +1100)]
applemedia: texture cache: copy the input metas
Copy the input metas so avfvideosrc and vtenc can fast path to using
CVPixelBuffer(s) even when using GLMemory.
Nicolas Dufresne [Thu, 21 Jan 2016 18:50:44 +0000 (13:50 -0500)]
Merge branch 'android-hardware-camera'
This branch adds support for Android Hardware Camera API through a new
element called ahcsrc. This is the "old" Android Camera API, then only
API available on Android 4.X.
https://bugzilla.gnome.org/show_buf.cgi?id=737786
Nicolas Dufresne [Fri, 8 Jan 2016 21:16:09 +0000 (16:16 -0500)]
ahcsrc: Fix latency reporting
Currently it was wrongly reporting min/max as being the shortest and
longest possible frame duration. This is not how latency works in
GStreamer.
Fix by reporting min latency as being the longest possible duration of
one frame. As we don't know how many buffers the stack can accumulate, we
simply assume that max latency is the same (the usual default behaviour).
George Kiagiadakis [Mon, 7 Dec 2015 13:31:40 +0000 (14:31 +0100)]
ahcsrc: fix deadlock when flushing
_data_queue_item_free() calls gst_buffer_unref(), which
calls gst_ahc_src_buffer_free_func(), which calls
g_mutex_lock() on self->mutex and there you go... deadlock!
Justin Kim [Thu, 24 Dec 2015 03:51:13 +0000 (12:51 +0900)]
ahcsrc: porting from 0.10 to 1.0
Justin Kim [Thu, 24 Dec 2015 03:14:24 +0000 (12:14 +0900)]
move androidcamera into androidmedia
This commit is a part of portng android hardware camera from 0.10 implementation.
To preserve history and get diff clearly, the interesting files are moved to
deployment directory and the remaining files are removed.
Youness Alaoui [Mon, 7 Jan 2013 23:27:40 +0000 (18:27 -0500)]
androidcamera: Separate release and free APIs
Youness Alaoui [Mon, 7 Jan 2013 23:20:47 +0000 (18:20 -0500)]
androidmedia: Fix get_level and get_profile exception checking by not using return
Youness Alaoui [Mon, 7 Jan 2013 23:19:28 +0000 (18:19 -0500)]
androidmedia: Add extern gint declarations
Youness Alaoui [Mon, 7 Jan 2013 23:18:18 +0000 (18:18 -0500)]
gstdvm: Fix GST_DVM_GET_STATIC_FIELD
Youness Alaoui [Fri, 30 Nov 2012 01:10:19 +0000 (20:10 -0500)]
androidcamera: Small refactor in case open doesn't throw an exception but returns null
Sebastian Dröge [Thu, 13 Dec 2012 17:57:58 +0000 (17:57 +0000)]
androidcamera: Fix some compiler warnings
Sebastian Dröge [Thu, 13 Dec 2012 17:56:01 +0000 (17:56 +0000)]
dvm: Rename gst-dvm.[ch] to gstdvm.[ch] for consistency with other GStreamer code
Sebastian Dröge [Thu, 13 Dec 2012 17:40:22 +0000 (17:40 +0000)]
dvm: Add new function to check if we started a VM or only used an existing one
Sebastian Dröge [Thu, 13 Dec 2012 17:40:04 +0000 (17:40 +0000)]
androidmedia: Make everything compile with the new wrappers
Sebastian Dröge [Thu, 13 Dec 2012 12:13:27 +0000 (12:13 +0000)]
androidmedia: Add remaining bits of the Java wrappers using libgstdvm
Sebastian Dröge [Thu, 13 Dec 2012 12:13:12 +0000 (12:13 +0000)]
dvm: Add some more helper macros
Sebastian Dröge [Wed, 12 Dec 2012 18:10:13 +0000 (18:10 +0000)]
androidmedia: Remove g_return_if_fails()
This is not public API so it has no advantage to have them here.
Youness Alaoui [Thu, 29 Nov 2012 01:53:51 +0000 (20:53 -0500)]
androidmedia: Use gst-dvm and refactor java wrappers (WIP)
Moved the java wrapper API into its own files and made use of the
gst-dvm macros. Also renamed the API to have the proper naming
convention and coding style in order to match the one in androidcamera.
This is a work in progress! "android/media/MediaCodecList" is still missing
and the actual elements have not been ported to use the new function names.
Youness Alaoui [Wed, 28 Nov 2012 20:26:49 +0000 (15:26 -0500)]
androidcamera: Add G_BEGIN/END_DECLS to the .h
Youness Alaoui [Wed, 28 Nov 2012 00:25:06 +0000 (19:25 -0500)]
gst-dvm: Create a gst-dvm library using part of androidcamera
Youness Alaoui [Tue, 27 Nov 2012 22:24:35 +0000 (17:24 -0500)]
androidcamera: Adding a device-name property
Youness Alaoui [Wed, 21 Nov 2012 00:56:22 +0000 (19:56 -0500)]
androidcamera: Add element documentation
Youness Alaoui [Mon, 19 Nov 2012 23:25:12 +0000 (18:25 -0500)]
androidcamera: Prettify the gstahccallback.c generation line in the makefile
Youness Alaoui [Thu, 15 Nov 2012 17:33:26 +0000 (12:33 -0500)]
androicamera: Make sure the TMP env var exists and check for DEX var too
Youness Alaoui [Wed, 14 Nov 2012 16:38:51 +0000 (11:38 -0500)]
androidcamera: Do not use gst_list_free_full since it requires glib 2.28
Youness Alaoui [Mon, 12 Nov 2012 23:59:57 +0000 (18:59 -0500)]
androidcamera: Add smooth-zoom property for smooth zooming feature
Youness Alaoui [Mon, 12 Nov 2012 23:19:20 +0000 (18:19 -0500)]
androidcamera: Add focal-length, view-angle and video-stabilization properties
Youness Alaoui [Mon, 12 Nov 2012 23:18:11 +0000 (18:18 -0500)]
androidcamera: Add video stabilization API
Youness Alaoui [Mon, 12 Nov 2012 21:38:40 +0000 (16:38 -0500)]
androidcamera: Add property probe for the photography properties
Youness Alaoui [Fri, 9 Nov 2012 23:21:21 +0000 (18:21 -0500)]
androidcamera: Small refactor
Youness Alaoui [Fri, 9 Nov 2012 21:57:30 +0000 (16:57 -0500)]
androidcamera: Fix small memleak
Youness Alaoui [Fri, 9 Nov 2012 21:55:57 +0000 (16:55 -0500)]
androidcamera: Store GParamSpec for properties and use that for the PropertyProbe comparison