Thibault Saunier
add38d537c
tests: convertscale: Do not log EOS events in validateflow
...
We already checked that we are getting an EOS before going back to ready
and adding the EOS at the end of the .validateflow is racy as the ERROR
message might reach the bus before it is logged.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2264 >
2022-04-21 12:50:43 -04:00
Thibault Saunier
956270f3ab
ci: Trigger cerbero on user project if a branch with the same name exists there
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2264 >
2022-04-21 12:50:43 -04:00
Thibault Saunier
f90916f4bb
docs:examples: Fix building iOS examples
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2264 >
2022-04-21 09:18:56 -04:00
Thibault Saunier
a3d00f3b98
validate:pipeline-monitor: Minor cleanup setting unused variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898 >
2022-04-20 17:09:26 -04:00
Thibault Saunier
cd7a91cef1
videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898 >
2022-04-20 17:09:20 -04:00
Thibault Saunier
05225ac602
validate: scenario: Add a 'allow-error' configuration
...
This new configuration allows the scenario to keep running even
after receiving an "error" message on the bus.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898 >
2022-04-20 17:09:01 -04:00
Thibault Saunier
f3fd4d7e90
videoconvertscale: Don't claim we can support any kind of memory
...
Since d0133a2d11
"videoconvert: Allow
passthrough for ANY caps features" videoconvert will always claim that
it supports any kind of memory which is true in very specific case (when
it is running in passthrough mode). To get elements that autoplug
converters depending on the caps running in the pipeline (like
autovideoconvert), we need to have converters no lie about what they can
do when queried `accept_caps` or `query_caps`.
This still accepts any caps feature as before but it introduces
a restriction in the way we handle memory capsfeatures.
We keep previous behaviour in videoconvert and videoscale.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898 >
2022-04-20 17:03:21 -04:00
Thibault Saunier
d11f13f476
Introduce the videocolorscale element
...
Now that videoconvert and videoscale's are both based on
GstVideoConverter and are using the exact same code, it makes much more
sense to have one element doing the two operation, and it can be
more efficient in some cases (one single path for both operations).
This removes the `videoscale` and `videoconvert` plugins but keeps the element
but makes them also do both operations (adding some APIs to each element).
There is a small change in API for the `videoscale:dither` property which
was previously a totally unused boolean, it is now an enum and is used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898 >
2022-04-20 17:03:21 -04:00
Seungha Yang
6a3776c527
qsv: Add GPU description to element long-name on Windows
...
Would be useful for a multi-Intel-GPU system
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2249 >
2022-04-20 18:49:18 +00:00
Edward Hervey
8f2d347559
hls: Relax webvtt checks
...
If no hour field is present (which is allowed), the remaining data can be less
than 15 character.
Fix time translation failures if the hour field wasn't present
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2248 >
2022-04-20 17:47:00 +00:00
Víctor Manuel Jáquez Leal
722a6c7708
vapostproc: Notify if hdr-tone-mapping property changes.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2247 >
2022-04-20 17:01:52 +00:00
Guillaume Desmottes
8eccf79fff
gstleaks: log the number of alive objects
...
Can help checking if the number of alive objects is growing over time or stays stable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2245 >
2022-04-20 15:58:29 +00:00
Víctor Manuel Jáquez Leal
e207ff905b
va: Expose a couple va surface/buffer methods.
...
And use them in va plugin.
Also, set as default logging category the vadisplay one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2077 >
2022-04-20 15:15:56 +00:00
Sebastian Dröge
02115a5efc
rtpmanager: Move some duplicated constant and helper function to a single place
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
1eb7f81f9d
gstreamer: Document various caps for the reference timestamp meta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
c7e12974ba
rtpbin/rtpjitterbuffer: Don't parse RTCP SRs twice unless needed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
82169aa140
rtpjitterbuffer: Add property to throttle handling of RTCP SR / NTP-64 syncing
...
This proxies the "rtcp-sync-interval" property of rtpbin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
ce38614e1a
rtpsession: Handle RTCP-SR-REQ (RFC6051) RTCP feedback message
...
This causes an RTCP SR to be sent at the earliest possible time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
0c819d2f31
rtpbin/rtpjitterbuffer: Allow syncing to an SR without CNAME if the CNAME is already known
...
The RTCP SR packet might be without SDES in case of a reduced-size RTCP
packet. For syncing purposes the CNAME is needed but it might be known
already from an earlier RTCP packet or out of band, via the SDP for
example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
cbaac3cdba
rtpbin/jitterbuffer: Use inband 64-bit NTP timestamps according to RFC6051 for faster synchronization
...
When signalled via the caps that the header extension is used, it will
be read and used in the same way as the RTP/NTP time mapping from RTCP
SRs.
If the CNAME of the stream's SSRC is provided out of band via e.g. the
SDP then this allows streams to be synchronized immediately on the first
packet instead of having to wait for the first RTCP SR to arrive.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/383
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
7c796b3c05
rtpsession: Only add send latency to the running time if it is actually known
...
Otherwise we can't know the running time yet if rtcp-sync-send-time is
set, and have to wait until the latency is known later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
7ffc830959
rtpsession: Update 64-bit NTP header extensions with the actual NTP time in senders
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
8980c35efe
rtpmanager: Add header extension implementation for the 64-bit RFC6051 NTP header extension
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
06f90deb5f
sdp: Parse the RFC5576 Source-specific media SDP attributes into caps
...
The format of the caps fields is
ssrc-(SSRC_VALUE)-(ATTRIBUTE_NAME)=(ATTRIBUTE_VALUE)
.
Parsing of the attributes from the caps into the SDP is not implemented
as this depends not only a single stream's caps but on the whole rtpbin
configuration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
a91b1c64a1
rtsp-server: Add RFC5576 Source-specific media attribute to the SDP media for signalling the CNAME
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Wonchul Lee
150db81287
dashsink: Unlock when failed to get content
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2242 >
2022-04-20 09:07:29 +00:00
Camilo Celis Guzman
4c0d64dd10
gstglmixerbin: minor refactor of _find_element_pad_template
...
As suggested by @slomo, make the loop more readable and prevent returning
a garbage value to the caller from the previous implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2232 >
2022-04-20 07:04:44 +00:00
Camilo Celis Guzman
8707d0cb26
gstav1parse: fixup various possible logical errors
...
Found via an analyzed build for Clang. Specifically we had:
gstav1parse.c[1850,11] in gst_av1_parse_detect_stream_format: Logic error: The left operand of '==' is a garbage value
gstav1parse.c[1606,11] in gst_av1_parse_handle_to_small_and_equal_align: Logic error: The left operand of '==' is a garbage value
Also a couple of false-positives:
gstav1parse.c[1398,24] in gst_av1_parse_handle_one_obu: Logic error: Branch condition evaluates to a garbage value
gstav1parse.c[1440,37] in gst_av1_parse_handle_one_obu: Logic error: The left operand of '-' is a garbage value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2230 >
2022-04-19 18:36:38 +00:00
Xavier Claessens
e950095867
Always define ENABLE_NLS
...
GLib guarantees libintl API is always available, provided by
proxy-libintl as last resort. GLib itself unconditionally define
ENABLE_NLS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Xavier Claessens
82ca0e291b
Delete unused i18n headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Xavier Claessens
b99ecc78ca
Replace gst-i18n-*.h with gi18n-lib.h
...
GLib guarantees libintl is always present, using proxy-libintl as
last resort. There is no need to mock gettex API any more.
This fix static build on Windows because G_INTL_STATIC_COMPILATION must
be defined before including libintl.h, and glib does it for us as part
as including glib.h.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Xavier Claessens
50b58aa974
gst-play: Do not split translatable string
...
Concatenating N_() strings does not work with gi18n.h macro, was working
only with GStreamer's redefinition.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Thibault Saunier
dcd2ccad59
cuda: Fix typo in gst_cuda_buffery_copy_type_to_string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472 >
2022-04-19 16:39:43 +00:00
Thibault Saunier
86dcfc29dc
cuda: Add a gst_cuda_context_new_wrapped
constructor
...
So that application or people implementing cuda element from
outside GStreamer itself can ensure that their contexts are used
by GStreamer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472 >
2022-04-19 16:39:43 +00:00
Thibault Saunier
c033f8fad2
cuda: Factor out a public GstCUDA library
...
So applications and elements implemented outside GStreamer can reuse
our infrastructure
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472 >
2022-04-19 16:39:43 +00:00
Thibault Saunier
3549d59725
nvenc: Give more details about errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472 >
2022-04-19 16:39:43 +00:00
Nicolas Dufresne
b7ded51382
video: Fix possible overrun when iterating comp[] array
...
Fix 2 iterations that can overrun the array if the number of component is
equal to the size of the array.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239 >
2022-04-19 11:12:42 -04:00
Nicolas Dufresne
e0ad0eda23
Revert "video-frame: avoid possible out of bound memory access"
...
This reverts commit c4255f08f7
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239 >
2022-04-19 10:57:14 -04:00
Camilo Celis Guzman
fc31be0917
meson_options: declare glib and gobject checks at top level
...
This makes it easier to specify this features for all subprojects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2238 >
2022-04-19 13:29:03 +00:00
Nirbheek Chauhan
97655eb8ac
meson: Add -Wl,-rpath,${libdir} on macOS
...
We made the gstreamer installation prefix relocatable by picking up
plugins relative to the location of libgstreamer-1.0.dylib, similar to
how it's done for Windows:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
This had a lot of side-effects:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
A partial fix for the cerbero side of these was:
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
However, this relied on the consumers knowing that they need to add
`LC_RPATH` entries to the libdir of the prefix. This is done
automatically by build systems like Meson, but not by others, such as
Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
RPATH entries to the gstreamer-1.0.pc file.
This also has the side-effect of fixing the loading of gstreamer rust
plugins on macOS:
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218 >
2022-04-19 12:11:17 +00:00
Camilo Celis Guzman
c4255f08f7
video-frame: avoid possible out of bound memory access
...
Although the components' initialization code would fill in -1 to all
unset components, make the code a bit more defensive and check for an
index bound first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2231 >
2022-04-19 11:18:52 +00:00
Tim-Philipp Müller
0dd04764f7
tests: dash_mpd: fix linker issues with non-optimizing compilers
...
undefined reference to `download_request_take_buffer'
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2117#note_1344646
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2228 >
2022-04-19 10:35:30 +00:00
Ruben Gonzalez
70579285a8
gst_plugin_load_file: force plugin reload if diff filename
...
If a file includes a new version of a plugin that exits in the
registry, the output of gst-inspect is incorrect. The output has the
correct version but incorrect filename, and element description.
This seems to have also fixed some documentation issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344 >
2022-04-19 14:26:08 +05:30
Tim-Philipp Müller
819d436ec4
docs: design: fix up some document titles
...
These show up in the index.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2222 >
2022-04-18 21:39:32 +00:00
Tim-Philipp Müller
d726a839e4
docs: design: add adaptive streaming design docs to sitemap
...
.. and some small additions to make it clearer what exist
and what's new.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2222 >
2022-04-18 21:39:32 +00:00
Seungha Yang
c38869212c
d3dvideosink: Remove outdated comment
...
d3dvideosink is not a primary video sink element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2223 >
2022-04-18 20:27:34 +00:00
Seungha Yang
9d51cae7ee
h264decoder,h265decoder: Do not hold codec_data buffer
...
... also do not need to extract it from caps.
Decoder uses codec_data only once per set_format() and
baseclass will extract codec_data buffer already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2212 >
2022-04-18 19:55:15 +00:00
Seungha Yang
dd32e2efbc
d3d11decoder: Do not preallocate texture using downstream d3d11 buffer pool
...
Our decoder implementation does not use downstream d3d11 pool for
decoding because of special requirement of D3D11/DXVA. So preallocation
using the downstream buffer pool will waste GPU memory in most cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2211 >
2022-04-18 18:31:02 +00:00
Tulio Beloqui
cf684051dd
gstdevicemonitor: added cleanup of signal handlers and hidden providers list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2182 >
2022-04-18 15:30:35 +00:00
Edward Hervey
af78c16dd5
New HLS, DASH and MSS adaptive demuxer elements
...
This provides new HLS, DASH and MSS adaptive demuxer elements as a single plugin.
These elements offer many improvements over the legacy elements. They will only
work within a streams-aware context (`urisourcebin`, `uridecodebin3`,
`decodebin3`, `playbin3`, ...).
Stream selection and buffering is handled internally, this allows them to
directly manage the elementary streams and stream selection.
Authors:
* Edward Hervey <edward@centricular.com>
* Jan Schmidt <jan@centricular.com>
* Piotrek Brzeziński <piotr@centricular.com>
* Tim-Philipp Müller <tim@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2117 >
2022-04-18 14:11:23 +00:00