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
Hou Qi
8dcb8a28af
v4l2videodec: copy colorimetry values to output_state caps
...
This is to avoid transcoding negotiation fail between v4l2h265dec
and v4l2h264enc caused by colorimetry mismatch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2192 >
2022-04-18 13:17:55 +00:00
Vivia Nikolaidou
cb8da91f7a
h264parse: Include coded-picture-structure info in caps
...
This reverts commit 652773de36
and
modifies it to rename the caps field name to coded-picture-structure.
It was previously removed because it confuses the decoder and we didn't
have a valid use case for including it in the encoded caps at this
stage. We now do have such a use case but still don't want to confuse
the decoder, so the field is renamed.
However, it is still not accurate without looking at the SEI picture
structure of each frame, so it was named coded-picture-structure. If its
value is "frame" it is most likely progressive, if it's "field" it is
most likely interlaced or mixed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2177 >
2022-04-18 11:00:29 +00:00
Guillaume Desmottes
7933fff83c
libav: fix frame leak on negotiation error
...
The function owns a reference on the frame. Drop it if negotiation
failed as we are already doing for the other error cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2196 >
2022-04-18 07:13:09 +00:00
Guillaume Desmottes
e482b995fb
decodebin3: fix collection leak
...
get_merged_collection() returns an owned stream collection and was
leaked in the else block.
Fix leak when running:
GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/954 >
2022-04-18 09:41:12 +03:00
He Junyan
4c5d34648c
va: h264enc: Fix the forgotten unlock() when getting device path property.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2215 >
2022-04-18 12:44:19 +08:00
Seungha Yang
23e280f05b
qsvdecoder: Use system memory for non-d3d11 downstream
...
QSV's memory download implementation seems to be more faster
than our implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 22:59:48 +09:00
Seungha Yang
9543998aa3
qsv: Add H.265 decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 20:57:31 +09:00
Seungha Yang
d136c98770
qsv: Include single gstva.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 20:57:31 +09:00
Seungha Yang
fba44e8a01
qsvh264dec: Don't register element if it's not supported by device
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 20:57:31 +09:00