Víctor Manuel Jáquez Leal
031b77ce97
libs: va: display_wrapper: Use gpointer for VADisplay.
...
In order to be coherent along all the implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2196 >
2021-05-18 12:15:36 +02:00
He Junyan
e0915ce982
libs: va: Move the VA common logic as a lib.
...
The VA acceleration now has more usages in linux-like platforms,
such as the MSDK. The different plugins based on the VA acceleration
need to share some common logic and types. We now move the display
related functions and types into a common va lib.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2196 >
2021-05-18 12:15:30 +02:00
Matthew Waters
640a65bf96
gst: don't use volatile to mean atomic
...
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2098 >
2021-03-22 14:34:36 +11:00
He Junyan
0158849145
va: Fix some gst_object_unref error because the pointer is NULL.
...
!1957 introduces some error of gst_object_unref for NULL pointer.
Fixes all of them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1959 >
2021-01-17 14:00:50 +08:00
He Junyan
6b1e1924fd
va: Fix a latent race condition in vabasedec.
...
The vabasedec's display and decoder are created/destroyed between
the gst_va_base_dec_open/close pair. All the data and event handling
functions are between this pair and so the accessing to these pointers
are safe. But the query function can be called anytime. So we need to:
1. Make these pointers operation in open/close and query atomic.
2. Hold an extra ref during query function to avoid it destroyed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1957 >
2021-01-15 20:40:10 +08:00
Víctor Manuel Jáquez Leal
9ed141734e
va: utils: use GstObject for GstVaDisplay in context
...
Thus application could fetch the GstVaDisplay through the sync bus
without knowning the specific implementation, and sharing it or
extract properties.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1586 >
2020-09-21 17:07:51 +00:00
Víctor Manuel Jáquez Leal
ed80aa5d6b
va: utils: fix code style and wrong log message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1586 >
2020-09-21 17:07:51 +00:00
Víctor Manuel Jáquez Leal
80de32b017
va: utils: free allocated string
...
and fix a memleak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1516 >
2020-08-24 19:35:57 +00:00
Víctor Manuel Jáquez Leal
69a00541dd
va: utils: fix log category initialization
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1516 >
2020-08-24 19:35:57 +00:00
Víctor Manuel Jáquez Leal
f332c35ec0
va: utils: fix precondition check for handle_context_query()
...
display paramater can be NULL, but if it's not, it has to be a
GstVaDisplay.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1489 >
2020-08-04 10:39:05 +02:00
Víctor Manuel Jáquez Leal
f7cfb422f1
va: context: instanciate VA display through GstContext
...
Add all the machinery to instanciate VA display through GstContext,
thus all va elements can share the same display and the user can set
a custom one.
2020-08-03 19:33:01 +02:00