Thibault Saunier
292d8453d3
autoconvert: Factor out a new GstBaseAutoConvert class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
f817afb865
auto: Expose colorspace and scaler elements for well know elements
...
And require Scaler in the class of elements to be plugged by
autovideoconvert
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
e153c558c7
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
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
69db5b77d1
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.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
8266f534a7
autovideoconvert: Ignore elements with rank == NONE
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
a0a9e9e3cf
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)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
17029974e0
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.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
4cfe898f9b
autovideoconvert: Make it a subclass of GstAutoConvert
...
Instead of a wrapper, making it much simpler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
8be2ae303a
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.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
1409826232
autoconvert: Remove not thread safe use of ->current_subelement
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:22 +00:00
Thibault Saunier
7fae06604e
autoconvert: Stop using generic element name
...
It makes it harder to debug for no real benefice in the case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:21 +00:00
Thibault Saunier
6a4425e46a
meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
...
Removing some copy pasted code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Thibault Saunier
019971a3c7
Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir
2021-09-24 16:14:36 -03:00