Tim-Philipp Müller
f7fd71be89
gstreamer: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4388 >
2023-04-11 09:21:18 +00:00
Mengkejiergeli Ba
471f3b3b93
msdkcontext: Remove unused codes in msdkcontext
...
We don't maintain three list (i.e. avail, locked and used) surfaces
as the old way did to achieve memory management, so remove the
correcponding codes for old memory management.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276 >
2023-04-11 06:59:33 +00:00
Mengkejiergeli Ba
ec2ef6e2d3
msdk: Remove unused gstmsdkbufferpool and memory
...
GstMsdkBufferPool, GstMsdkVideoMemory and GstMsdkSystemMemory are no
longer used in msdk plugins, instead we use va/d3d11 pool for memory
allocation. So, remove the codes of unused stuffs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276 >
2023-04-11 06:59:33 +00:00
Mengkejiergeli Ba
ef1397cbe3
msdk: Remove the func gst_msdk_is_msdk_buffer
...
Since we use va/d3d11 pool to allocate memory, the old msdk bufferpool
stuffs are not used anymore, so we don't need to check if an input
buffer is msdk buffer using gst_msdk_is_msdk_buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276 >
2023-04-11 06:59:33 +00:00
Edward Hervey
0fa3c5c561
typefindhelper: Avoid dead assignment
...
Move variables within the loop (where they are actually used)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4387 >
2023-04-11 07:23:48 +02:00
Tim-Philipp Müller
a40c38eddf
avmux: fix element leak
...
Fixes #2473
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4384 >
2023-04-10 18:06:17 +01:00
Tim-Philipp Müller
c723d9a1e0
avdeinterlace: fix element leak
...
Fixes #2473
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4384 >
2023-04-10 17:59:30 +01:00
Seungha Yang
bb5c151336
h264decoder: Enable low-latency bumping in case of pic_order_cnt_type 2
...
In case of POC type 2, output order is equal to decoding order
(no frame reordering)
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2447
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Seungha Yang
73daa0e0ad
h264decoder: Fix for latency report
...
The minimum latency answered by an element should be the maximum
latency from the element's perspective. Also consider max_reorder_frames
update as a sequence change
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Seungha Yang
e0c2578f73
h264decoder: Ignore invalid max_num_reorder_frames in VUI
...
It's not fatal and can be ignored
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Seungha Yang
f439481d8e
h265decoder: Fix for latency report when src caps is not configured
...
Depending on subclass, negotiation might not happen on new_sequence()
Fixing regression introduced by the commit
4a4823b972
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Seungha Yang
560fd4834c
h264decoder: Fix for latency report when src caps is not configured
...
Depending on subclass, negotiation might not happen on new_sequence()
Fixing regression introduced by the commit
4a4823b972
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Wang Chuan
d7d0c969df
gstd3d11window: fix memory leak
...
GstStructure may leak when using external HWND
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4373 >
2023-04-10 12:12:27 +00:00
Edward Hervey
7e619f7e83
twcc: Better handle duplicate packets
...
The previous code would only check if two packets in a row were duplicates. If
not (i.e. a packet is a duplicate of a packet received slightly before) the code
would generate completely bogus FCI because it assumes there were no duplicates
present in the array.
In order to be efficient, just store all received packets and remove the
duplicates just before the FCI is generated once the array of observations have
been sorted by seqnum.
Fixes TWCC usage with moderate to high packet duplication.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4328 >
2023-04-10 09:37:51 +00:00
Seungha Yang
ba8f944df7
amfencoder: Set output DTS
...
AMF runtime does not provide correct DTS. Although GetPts() seems to
be returning DTS, it still needs to be adjusted to meet DTS <= PTS
requirement. Do calculate DTS in baseclass instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4092 >
2023-04-08 23:11:32 +09:00
Evgeny Pavlov
6f62128433
amfcodec: Add options for B-frames for amfh264enc plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4092 >
2023-04-08 23:11:28 +09:00
Seungha Yang
7117cba831
decklinkaudiosink: Fix playback when video caps is configured before audio
...
Scheduled playback starts on videosink's state change or on caps
but it's possible that audiosink is configure without caps yet.
Try start scheduled playback on audiosink's caps event as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4364 >
2023-04-07 18:59:17 +00:00
Dario Marino Saccavino
07cf7b2a29
wasapi2: Add option to monitor loopback device's mute state
...
When loopback recording from a render device, the wasapi2src element
captures audio even if the device is muted. This change adds the
'loopback-silence-on-device-mute' property that, when set to `true`,
causes wasapi2src to inject silence in the pipeline when
the device is muted.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1306
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4337 >
2023-04-07 17:19:33 +00:00
Sebastian Dröge
9d25a5075e
ptp-helper: Set a process priority / nice value of -5 on UNIX platforms
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3889 >
2023-04-07 15:49:02 +00:00
Sebastian Dröge
572d344482
ptp-helper: Set thread priority to time-critical on Windows
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3889 >
2023-04-07 15:49:02 +00:00
Sebastian Dröge
3fdfcdf2f6
ptp-helper: Rewrite in Rust for portability and security
...
This works on Linux, Android, Windows, macOS, FreeBSD, NetBSD, OpenBSD,
DragonFlyBSD, Solaris and Illumos.
Newly supported compared to the C version is Windows.
Compared to the C version various error paths are handled more correctly
and a couple of memory leaks are fixed. Otherwise it should work identically.
The minimum required Rust version for compiling this is 1.48, i.e. the
version currently in Debian stable. On Windows, Rust 1.54 is needed at
least.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1259
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3889 >
2023-04-07 15:49:02 +00:00
Sebastian Dröge
8ed0b03c78
appsink: Use a class handler callback instead of vfunc for propose-allocation
...
There would otherwise be no padding left in the class struct anymore and
we might need it for something else in the future.
A class handler callback can be overridden by subclasses via
`g_signal_override_class_handler()` and chained up via
`g_signal_chain_from_overridden_handler()`.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2422
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4356 >
2023-04-06 15:21:35 +00:00
Eva Pace
f3ab697d2a
docs: Add missing dot in handy elements (tutorial 14)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4353 >
2023-04-06 15:16:15 +00:00
Eva Pace
ce467b72aa
docs: Update tutorial 14 to 1.0 (audio/x-raw)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4353 >
2023-04-06 15:16:15 +00:00
Sebastian Dröge
51a2adb837
allocators: drm-dumb: Annotate allocator instance parameters with the correct type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4360 >
2023-04-06 17:04:45 +03:00
Sebastian Dröge
edcb8e8f35
allocators: drm-dumb: Annotate device-path as a filename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4358 >
2023-04-06 15:41:27 +03:00
Rouven Czerwinski
7ad84674ab
gst-plugins-base: gl: wayland: cleanup on close
...
The proxy and queue are created in the gst_gl_window_wayland_egl_open()
function and will be recreated on open. This leaks both objects, the
wayland client documentation mentions that they should be destroyed
using the appropriate destroy functions.
Found during valgrind memory leak testing, these blocks were marked as
definitely lost.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4354 >
2023-04-06 08:09:36 +02:00
Jan Schmidt
1b762ba012
mpegpsdemux: Rework gap sending
...
Take the gap logic from mpegtsdemux, and don't
send gap events on a stream that's outputting buffers with
no timestamps. Time isn't advancing, but the stream has
buffers - so it's not sparse.
Fixes #2374
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4333 >
2023-04-06 01:34:03 +00:00
Sebastian Dröge
b90c0bd79b
vulkan: Use new GLib APIs as suggested by comments
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4349 >
2023-04-06 00:26:13 +00:00
Jordan Petridis
1c301df91a
jack: remove version guards from the code
...
We already require >= 1.9.7 in meson and thus we can remove
the older codepath.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4348 >
2023-04-05 21:39:00 +00:00
Xavier Claessens
06478b79b1
ci: trigger cerbero when MESON_COMMIT is set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4325 >
2023-04-05 20:30:43 +00:00
Nicolas Dufresne
b2ebc2cac4
medias: Bump the medias commit
...
See !4259
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4259 >
2023-04-05 13:38:30 -04:00
Nicolas Dufresne
c883fea19e
h265parse: Don't override upstream framerate
...
The framerate should only be replaced (and corrected for alternating field)
when it is parsed from the bitstream. Otherwise, the upstream framerate
from caps should be trusted and assumed correct.
Related to gst-plugins-bad!2020
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4259 >
2023-04-05 13:33:39 -04:00
Nicolas Dufresne
93904f1921
h265parse: Rename parsed_framerate to framerate_from_caps
...
That meaning of parsed_framerate is ambigious, it is set whenever the
framerate has been parsed from caps, which can be confused with being
parsed from the bitstream. Rename this as framerate_from_caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4259 >
2023-04-05 13:33:39 -04:00
Jordan Petridis
86489dd456
ci: Add .gitlab-images-tags.yml to the changes rules
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4331 >
2023-04-05 12:39:23 +00:00
Sebastian Dröge
15aa0478b9
ci: fedora: Update cargo-c to 0.9.17
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4331 >
2023-04-05 12:39:23 +00:00
Guillaume Desmottes
84dea99132
appsrc: properly handle events received before sending the segment
...
The first serialized events that can be send on a src pad are a CAPS and then a
SEGMENT event.
When handling events from user in appsrc, we used to send a segment
automatically if the SEGMENT has not been sent yet.
This breaks if the CAPS event was not send either as we were now sending
a SEGMENT before the CAPS.
Fix this by delaying such events until the CAPS has been configured.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Guillaume Desmottes
7b41db3ab6
basesrc: add gst_base_src_push_segment()
...
gst_base_src_new_segment() does not send the segment right away, which
may break events ordering if subclass sends other events after
calling it.
Introducing a variant pushing the segment right away to preserve
ordering in such cases.
Will be used by appsrc which has its own internal queue where we need to
preserve events order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Guillaume Desmottes
4587a70998
tests: appsrc: test_appsrc_send_custom_event: check that event was actually received
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Guillaume Desmottes
4bffa7b537
appsrc: log when popping caps and buffer (list) from queue
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Alexande B
452c06782e
osxvideosink: fix broken aspect ration and frame drawing region
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3336 >
2023-04-05 09:48:34 +00:00
Sebastian Dröge
5b178caadf
rtsp-server: media: First set state to PLAYING again temporarily, then send EOS
...
Sending the EOS event while the pipeline is PAUSED can deadlock on the
stream lock if a sink is currently blocked because of pre-rolling.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4340 >
2023-04-05 08:06:50 +00:00
Sebastian Dröge
a17209220f
sdp: Skip source-specific caps fields when creating an SDP media from caps
...
Regression from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132
We parse the source-specific fields from the SDP and put it into the
caps, but when converting caps into an SDP again this would need special
handling. By default it would end up as part of the fmtp field, which is
simply wrong.
Automatically putting it into the caps and SDP will need some more work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4338 >
2023-04-05 05:20:33 +00:00
Sebastian Dröge
43e4db9fc9
rtspsrc: Skip PTs with caps incompatible to the global caps
...
Otherwise empty caps are created while all following code assumes that
the caps will have exactly one structure, and then run into assertions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4339 >
2023-04-04 22:13:59 +00:00
Edward Hervey
38dd5deb66
tsdemux: Minor refactoring
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4336 >
2023-04-04 20:54:50 +00:00
Edward Hervey
8e51399334
mpegts: Fix include headers
...
<gst/mpegts/mpegts.h> is the unique header to use
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4336 >
2023-04-04 20:54:50 +00:00
Jan Schmidt
8ec6ef8ca4
adaptivedemux: Don't parse URI unnecessarily
...
Short-circuit parsing and recreating the playlist URI if
no HLS directives are going to be applied to it.
Fixes problems playing some streams (YouTube) that have
unneeded escaped characters in the URI and then complain
when GStreamer removes the escaping
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4335 >
2023-04-04 19:21:31 +00:00
Wojciech Kapsa
8d4916df84
decklink: fix 10 bit RGB (r210) format auto detection
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2391
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4332 >
2023-04-04 20:37:09 +03:00
Jan Alexander Steffens (heftig)
cd827e790a
multiqueue: Simplify gst_multi_queue_iterate_internal_links
...
We don't need to obtain the mutex to ensure that `sq` is non-NULL. `sq`
is assigned immediately after the pads are created and not destroyed
until the pads are finalized.
Use the pad direction to determine which internal peer we need.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/888 >
2023-04-04 12:22:18 +00:00
Michael Gruner
53c145a158
gstelement: protect async state changes against spurious wake ups
...
When a pipeline is pre-rolling, it waits for all sink elements to report
they have received a buffer before completing the transition to paused.
This async wait is done using a state condition variable. The way this
waits are currently implemented do not protect against spurious conditional
wake ups, which may happen due to external factors in the kernel.
This change implements the wait within a loop that iterates over the protected
variable to reinitiates the wait if the wakeup was spurious. More details in
the [GCond docs](https://docs.gtk.org/glib/struct.Cond.html ).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4086 >
2023-04-04 07:24:57 +00:00