autoconvert: Misc cleanups and enhancements
Copied from https://gitlab.freedesktop.org//gstreamer/gst-plugins-bad/-/merge_requests/2283
commit b8b18b4398bb4064555a20f94175c382610d5753
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Tue May 25 20:44:46 2021 -0400
autoconvert: Handle reconfiguring on the srcpad
Only upstream renegotiation was properly handled, we needed to answer
that when downstream forces a renegotiation we take into account the
new downstream restrictions.
And add tests for it
commit 9809b9c521a5ddcd27b5c84d6a3a04d619f0a00c
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Mon May 24 16:07:41 2021 -0400
autoconvert: Remove unused elements from the bin
Instead of letting all the elements that were added into the bin,
add them only when strictly needed and removed them when we stop using
them.
With previous refactoring we are keeping them in our own hashmap in
amy case so we can keep reusing the same elements as before.
commit c12d8c2544ee284e066f8634be2c23bc20a23b52
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Fri May 21 23:06:34 2021 -0400
autovideoconvert: Ignore elements with rank == NONE
commit 1ebf7538c658756deb4b16fc75e647b4a84d7a9a
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Fri May 21 22:25:15 2021 -0400
autoconvert: Fix the way we compare element types
We used to conside elements that were subclassses of another
element type as being the same (for example with videoconvertscale,
bother videoconvert and videoscale are subclasses of videoconvertscale
and that code was lost)
commit 4afd3f04bb1e9a61546758c027b262640da18a8a
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Thu May 20 23:46:15 2021 -0400
autoconvert: Stop using qdata and unsafe weak refs
We are still using internal pads that are not added to the bin
but we now have a subclass and avoid qdata and weak refs as
they are not MT safe.
commit 734d404980197679578d3e5e38c105013e9e25e3
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Thu May 20 18:50:46 2021 -0400
autovideoconvert: Make it a subclass of GstAutoConvert
Instead of a wrapper, making it much simpler.
commit ac1c3c0629e6f13aa6c3fe35dbae7535c5423e1e
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Thu May 20 18:13:27 2021 -0400
autoconvert: Add a 'factory-names' property
Making the element more gst-launch friendly.
This also stop trying to handle usage of ->factories atomic and instead
use the object lock to handle them.
commit ad7824bfd070231f3a72a2d949ce4b96fc2e258f
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Thu May 20 17:37:47 2021 -0400
autoconvert: Remove not thread safe use of ->current_subelement
commit 3680b652567bc484824e59e7b3f94cfe011ddbf8
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Thu May 20 17:22:32 2021 -0400
autoconvert: Stop using generic element name
It makes it harder to debug for no real benefice in the case
commit 7f6da7dfde771f0794fa84de6bfc0178f53270d1
Author: Thibault Saunier <tsaunier@igalia.com>
Date: Wed May 19 12:06:08 2021 -0400
autovideoconvert: Use the new Colorspace and Scale classifications
Depends on: gstreamer/gst-devtools!248 (merged)