Edward Hervey
900a9c47be
gst-python: Fix unit test for python >= 3.12
...
unittest.TestCase.assertEquals was marked deprecated since 3.0 and was finally
removed in 3.12
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5633 >
2024-02-02 14:15:49 +01:00
Edward Hervey
7c68ef354b
gst-python: Fix override loading in python >= 3.12
...
The `imp` module got removed in python 3.12 and the `importlib` module should be
used instead.
This is also a good excuse to switch to the new finder module from PEP 451 :
https://www.python.org/dev/peps/pep-0451/
This only requires implement the `find_spec()` method in our custom loaders
Co-authored-by: Stefan <107316-stefan6419846@users.noreply.gitlab.freedesktop.org>
Co-authored-by: Jordan Petrids <jordan@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5633 >
2024-02-02 13:30:38 +01:00
Piotr Brzeziński
0b65c0ead5
tutorials: Fix warning when compiling on macOS
...
GstMainFunc has one more arg than the standard main() to support bindings, let's cast to get rid of the warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6038 >
2024-02-02 12:54:32 +01:00
Heiko Becker
567a2a7f67
neon: Allow building against neon 0.33.x
...
From its NEWS file:
"API and ABI backwards-compatible with 0.27.x and later"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6036 >
2024-02-02 00:22:39 +01:00
Hou Qi
aa68b5e02a
hlsdemux2/m3u8: use GstClockTimeDiff to do timestamp comparison
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5234 >
2024-02-01 08:41:23 +00:00
Thibault Saunier
5051a34318
nlecomposition: Do not forward QoS event while setting up the new stack
...
Otherwise we might end up dropping buffers even before prerolling the sources
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6032 >
2024-01-31 19:43:06 +00:00
Philippe Normand
1b01415c3b
srtpenc: Fix potential leak
...
When attempting to process a buffer after the rtcp session was closed the output
buffer memory would remain referenced.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6029 >
2024-01-31 18:46:59 +00:00
Thibault Saunier
b684ce33b7
timeline: forward element messages we do not know
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
1627a944e7
nlecomposition: Use a bus message to retrieve pipeline position
...
Instead of recursing up, as this will allow to have nested composition
run inside auxiliary pipelines. It is a bit cleaner also.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
79c211a5fb
nlecomposition: Use a message to check if we need an initialization seek
...
Subtimeline might be in an auxiliary pipeline which make the current
recurse up approach not working.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
37602d1d02
ges: Keep internal stream selection messages internally
...
Timeline StreamCollection are very specific to inner working of nested
timelines and should not interfere with the usual stream selection
process and are now handled as element messages.
Stream selection inside `nleobject` need to be handled internally by the
application or GES itself so we should just drop all those as they would
interfere and fail if they are exposed to other elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
b14207cc9e
nle: Use a message based mechanism to detect parent nleobject duration
...
Recursing up is pretty ugly and will fail when we start using ancillary
pipelines for sources in nle, using a message/event based mechanism is
a common pattern that is much cleaner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Sebastian Dröge
b730e7a1b2
rtpvp8pay: Use GstBitReader instead of dboolhuff implementation from libvpx
...
All compressed frame header values that are read as part of the
payloader are encoded as bits with 50:50 probability, and as such are
just the plain bits as they are.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5810 >
2024-01-31 16:52:28 +00:00
Daniel Morin
95464c8977
analyticsoverlay: add object-detection overlay
...
- Overlay analytics-meta-od attached to video buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5768 >
2024-01-31 16:15:06 +00:00
Daniel Morin
8122f623f6
analytics: Change indexes type from i32 -> gsize
...
- gst_analytics_cls_mtd_get_length() return a gsize, this type dicated index
type for gst_analytics_cls_mtd_get_quark() and
gst_analytics_cls_mtd_get_level().
- Minor cleanup/improvement on index validation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6018 >
2024-01-31 15:22:43 +00:00
Daniel Morin
f1d2147ba8
analytics: add test for OD confidence level retrieval
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6017 >
2024-01-31 14:40:56 +00:00
Daniel Morin
42227d7de3
analytics: add api on OD to retrieve bbox confidence
...
- Add a specific api to retrieve bbox confidence level without having to
retrieve it's location.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6017 >
2024-01-31 14:40:56 +00:00
Seungha Yang
6dc902a962
nvcodec: Add JPEG encoder
...
Adding nvJPEG library based JPEG encoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6021 >
2024-01-31 12:51:28 +00:00
Seungha Yang
fc4b136ac8
nvcodec: Move runtime compiler check to plugin init function
...
Required information for other elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6021 >
2024-01-31 12:51:28 +00:00
Daniel Morin
0a55c86e6a
rtspsrc: update rtsp url on redirect
...
- If a redirect took place on a GET when rtsp is tunneled we update the
rtsp url too.
- log source and final destination on redirect
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5222 >
2024-01-31 11:43:45 +00:00
Daniel Morin
13c5406747
rtspconnection: support redirect when using tunnel
...
- Support HTTP redirect codes (301,302,307,308) on response to GET.
"Location" field is extracted and used for following GET and POST.
- Notify caller a redirect took place using return value
- log source and destination url on redirect
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5222 >
2024-01-31 11:43:45 +00:00
Thibault Saunier
f1ad885c9b
valgrind: Ignore some leaks in the X server that have been fixed already
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:25 +00:00
Thibault Saunier
1891fff7a9
validate: flow: Plug leak about ignored fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
5d4bf4c6a5
bad: Update plugins cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
4dcea207d9
auto: Reuse subbins instead of recreating them over and over
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
79612de803
autoconvert: Force raw memory when using videoconvertscale
...
videoconvertscale advertises `ANY` feature, but it supports it only
in passthrough. Our goal with autoconvert is to ensure that conversion
is possible with the elements that are being plugged so we avoid
plugging `videoconvertscale` if the memory type is not system memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
9821c0ae96
autovideoconvert: Use cudaconvert for formats not allowed by glcolorconverts
...
There are some pixel formats supported by `cudaconvert` but not `glcolorconvert`
so prefer using `cudaconvert` for those cases rather than using
`videoconvertscale` and system memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
9908d11dab
auto: Add an 'autovideoflip' element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
aa7c49ded8
autoconvert: Accept new caps when they are exactly equal to previous ones
...
That basically was overlooked as the code was clearly intending to do that
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
e41e31f2ae
auto: Add a gstautodeinterlace element
...
Which can do colorspace conversion if necessary.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
b0fdbcec64
autovideoconvert: Handle passing bin description instead of factories
...
This way we can build our own well know bins for conversion keeping the
code simple.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
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
Alexander Slobodeniuk
2d7d9f35f5
videoaggregator: fix bufferpool leak
...
that happens if it fails to activate the pool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6025 >
2024-01-31 09:49:48 +00:00
Mengkejiergeli Ba
bf7f4eef20
msdk: Use gst_video_info_dma_drm_to_video_info to extract video info
...
Note that we need mappings for all drm_fourcc, otherwise we will get
GST_VIDEO_FORMAT_UNKNOWN for some formats...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5991 >
2024-01-31 06:24:13 +00:00
Piotr Brzeziński
ffdec6bc2b
macos: Fix gst_macos_main() terminating whole process before returning a value
...
Removes the usage of [NSApp terminate] to avoid killing the process and thus never actually returning a value.
The new way is just to use [NSApp stop] and send an event, since stop only happens after an event is processed.
Unlike terminate, stop will only halt the event loop, not the whole process.
This uses an NSApplicationDelegate to listen for NSApp finishing the launch process, and then signals the 'main' thread
to proceed. That makes sure to never call [NSApp stop] before NSApp is actually running, which could happen if the
provided 'main' function finished quickly enough.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6005 >
2024-01-30 19:37:23 +00:00
He Junyan
637d253e9f
va: baseenc: Fix the wrong parameter order to call va_map_buffer()
...
The current gst_va_base_enc_copy_output_data() uses wrong parameter
order to call va_map_buffer().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6020 >
2024-01-30 15:50:23 +00:00
Seungha Yang
51162acc31
cuda: Report device open error
...
Call gst_cuda_result() with CUDA_ERROR_NO_DEVICE error code if
we could not open device, so that application can catch the error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
Seungha Yang
cd6d62ddf0
cuda: Use cuStreamDestroy_v2 API
...
Sync up with CUDA 11.x/12.0 header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
Seungha Yang
07ba225183
cudaipc: Add support for custom meta forwarding
...
Forward custom meta to peer ipcsrc elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
Víctor Manuel Jáquez Leal
c760c72f7a
vkformat: fetch correctly feature flags2
...
Feature flags2 are fetch through VkFormatProperties3KHR and needs more guards
checking.
Moved out all the feature flags fetching to another function for clarity.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6014 >
2024-01-30 12:57:41 +00:00