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
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
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
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
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
f515ee6bdf
appsrc: fix annotations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2188 >
2022-04-15 23:49:40 +00:00
Sebastian Dröge
fa070d20cf
rtpbasepayload: Don't write header extensions if there's no corresponding input buffer for the packet
...
The GstRTPHeaderExtension API requires the input buffer to exist.
This can happen if the output packet is generated e.g. from a caps or
tags event like in the case for rtpgstpay.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2198 >
2022-04-15 19:56:49 +03:00
Sebastian Dröge
c1a3aaa3ec
Fix transfer
gobject-introspection annotation typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2160 >
2022-04-12 12:43:08 +00:00
Mathieu Duponchelle
4c98e2d289
rtpbasepayload: fix transfer annotation for push and push_list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2133 >
2022-04-08 07:20:31 +00:00
hoonhee.lee
27b945aa03
riff-media: fix memory leak after usage for g_strjoin
...
This leak is observed with valgrind.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2129 >
2022-04-07 20:36:42 +00:00
Nirbheek Chauhan
bfe43121f1
appsrc: Clarify buffer ref semantics in signals
...
The documentation could be read to mean that the caller continuous to
'own' the buffer, and that there is some other mechanism to find out
when to unref it.
Clarify that "not taking ownership" here means "taking a reference",
and specify that you can unref it at any time after calling the
function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2110 >
2022-04-05 14:40:21 +00:00
Xavier Claessens
b004464ac6
Remove glib and gobject dependencies everywhere
...
They are part of gst_dep already and we have to make sure to always have
gst_dep. The order in dependencies matters, because it is also the order
in which Meson will set -I args. We want gstreamer's config.h to take
precedence over glib's private config.h when it's a subproject.
While at it, remove useless fallback args for gmodule/gio dependencies,
only gstreamer core needs it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031 >
2022-04-01 16:32:17 +00:00
Xabier Rodriguez Calvar
199b62570f
glcolorconvert: should copy metadatas from the incoming buffer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094 >
2022-04-01 13:07:46 +02:00
Thibault Saunier
b358897a3b
navigation: Rename parse_state to parse_modifier_state
...
`parse_state` sounds a bit weird and `parse_modifier_state` is clearer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2087 >
2022-04-01 06:38:43 +00:00
Stéphane Cerveau
8492dd4255
base:gl: add x11 deps to gstglx11_dep
...
On MacOS with homebrew the xlib-xcb.h is in
own cellar /opt/homebrew/Cellar/libx11/1.7.3.1/include
Need to add the windowing dependencies to gl tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2061 >
2022-04-01 00:43:54 +00:00
Edward Hervey
00187ddb0c
pbutils: Fix wmv screen detection
...
strncmp vs !strncmp :)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2050 >
2022-03-29 17:31:44 +00:00
Sebastian Dröge
a4ea62ef5b
video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045 >
2022-03-28 10:39:24 +03:00
Stéphane Cerveau
4f970bb811
gl: cocoa: fix warnings of unused variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2026 >
2022-03-25 18:01:11 +00:00
Thibault Saunier
25819c41fb
navigation: Add support for key Modifiers in all relevant events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010 >
2022-03-25 15:16:03 +00:00
Vivienne Watermeier
09ebe06fdf
navigation: Add missing annotation to send_event_simple
...
Adds the missing "transfer full" annotation for the event argument.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2017 >
2022-03-24 18:07:16 +00:00
Vivienne Watermeier
01876d5712
navigation: Add API for touchscreen events
...
Add 5 new navigation event types for touchscreen events, with the same
naming and meaning as in libinput - touch-down, touch-motion, touch-up,
touch-frame and touch-cancel - as well as constructors and parse
functions for them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633 >
2022-03-23 13:14:52 +00:00
Vivienne Watermeier
f402b2e180
navigation: Add coordinate helper functions
...
Add a function to get x/y coordinates from suitable navigation events,
and one to create a copy with given coordinate values.
For e.g. translating event coordinates, this avoids having to either
switch on the event type to select the right parse function, or
having to rely on implementation details of the underlying event
structure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633 >
2022-03-23 13:14:51 +00:00
Vivienne Watermeier
8648275601
navigation: Improve interface to avoid exposing implementation details
...
This deprecates the current send_event interface, and the wrapper
functions based on it, replacing it with a send_event_simple interface and
wrapper function. Together with the new event constructors, this avoids
implementations having to directly access the underlying structure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633 >
2022-03-23 13:14:51 +00:00
Ming Qian
094d121812
video: Add support for linear 8x128 NV12 tiles and 10bit BE tiles
...
This adds linear 8x128 NV12 based tiles and NV12 10bit big endian tiles.
These formats are used by i.MX 8QXP/8QM VPU and exposed in V4L2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379 >
2022-03-22 00:41:39 +00:00
Matthew Waters
203e34fb75
discoverer: chain up to parent finalize methods in all our types
...
Fixes a memory leak:
Direct leak of 32 byte(s) in 1 object(s) allocated from:
#0 0x5ac5cd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3
#1 0x1007007 in g_malloc /work/glib-2.72.0/_builddir/../glib/gmem.c:125:13
#2 0xf82e82 in g_data_set_internal /work/glib-2.72.0/_builddir/../glib/gdataset.c:464:8
#3 0xf833f7 in g_datalist_id_set_data_full /work/glib-2.72.0/_builddir/../glib/gdataset.c:670:3
#4 0xef81be in g_object_notify_queue_freeze /work/glib-2.72.0/_builddir/../gobject/gobject.c:295:7
#5 0xef79c6 in g_object_unref /work/glib-2.72.0/_builddir/../gobject/gobject.c:3632:16
#6 0x5e58bf in LLVMFuzzerTestOneInput /src/gstreamer/ci/fuzzing/gst-discoverer.c:132:5
#7 0x4dd1a2 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
#8 0x4dc98a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
#9 0x4de6c4 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:809:5
#10 0x4dea29 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:857:3
#11 0x4ce4a0 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
#12 0x4f6f52 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
#13 0x7f1c709980b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1984 >
2022-03-18 17:49:08 +00:00
Corentin Noël
a5249f7c5f
gst-plugins-base: Fix several annotations
...
Add annotations for virtual methods when possible.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965 >
2022-03-16 10:37:44 +00:00
Nirbheek Chauhan
1ae7ea508d
rtpbuffer: The out args for rtp extension data are optional
...
The code checks that these are != NULL before dereferencing them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1962 >
2022-03-16 02:48:34 +00:00
Bastien Nocera
bd39ad4519
convertframe: Add support for GL-memory backend GstFrame input
...
Add "gldownload" early in the pipeline so that GL-memory backed raw
frames can be downloaded and processed on the CPU.
Closes : #1073
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1916 >
2022-03-15 20:31:24 +00:00
Xavier Claessens
0fa7923937
Meson: Set install_tag on some files
...
Meson tries to guess the tag (runtime, devel, etc) for every installed
file, but it cannot guess them all. There is a list at the end of
meson-log.txt of files we need to tag manually.
See https://mesonbuild.com/Installing.html#installation-tags .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934 >
2022-03-14 08:56:54 -04:00
Edward Hervey
bce779e66d
pbutils: Add function to parse RFC 6381 codecs field
...
This is the opposite of `gst_codec_utils_caps_get_mime_codec()`, which allows
elements to get the `GstCaps`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1894 >
2022-03-11 07:14:33 +00:00
Nirbheek Chauhan
146111d7c2
rtpbasepayload: Remove dead twcc code
...
This feature was removed in 7a53fbad68
,
but this code was left behind.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1902 >
2022-03-10 11:27:49 +00:00
Edward Hervey
0d617885f1
tagdemux: Properly propagate sequence numbers
...
If we received a time segment from upstream, we need to make sure we propagate
it downstream with the same sequence number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903 >
2022-03-09 23:58:07 +00:00
Seungha Yang
16f37f8b9c
gldisplay: Reorder GST_GL_WINDOW check for egl-device
...
"egl-device" should be checked before the "egl", otherwise unexpected egl will be picked
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1853 >
2022-03-04 13:34:34 +00:00
Matthew Waters
207769edbb
sdp: support multiple rid parameters
...
As specified formally in RFC8851
Each rid description is placed in its own caps field in the structure.
This is very similar to the already existing extmap-$id sdp<->caps
transformations that already exists.
The mapping is as follows:
a=rid:0 direction ';'-separated params
where direction is either 'send' or 'recv'
gets put into a caps structure like so:
rid-0=(string)<"direction","param1","param2",etc>
If there are no rid parameters then the caps structure is generated to
only contain the direction as a single string like:
rid-0=(string)direction
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1760 >
2022-03-03 03:34:38 +00:00
Sebastian Fricke
0b6bbce012
Remove the uninstalled term
...
Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
The `uninstalled` is the old name and the project should stick to a
single name for the procedure.
Remove the term from all the files, exceptions are variables from
dependencies like `uninstalled_variables` from pkgconfig and
`meson-uninstalled`.
Adjust mentions of the script in the documentation and README.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743 >
2022-03-01 11:33:10 +00:00
Célestin Marot
cabff7a20f
video-info: encoded format can have RGB color-matrix ( Fixes #1435 )
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1435 >
2022-02-28 16:05:43 +00:00
Sebastian Dröge
6c3642da49
video-format-info: Use correct parameter name in gst_video_format_info_extrapolate_stride() docs
...
../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c:7570: Warning: GstVideo: gst_video_format_info_extrapolate_stride: unknown parameter 'info' in documentation comment, should be 'finfo'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1803 >
2022-02-27 13:19:49 +02:00
Sebastian Dröge
3941eb7dbd
audioconvert: Add dithering-threshold property
...
By default, no dithering is applied if the target bit depth is above 20
bits. This new property allows to apply dithering nonetheless in these
cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1730 >
2022-02-25 19:32:28 +00:00
Sebastian Dröge
e119cdee3b
audio-quantize: Switch dither PRNG from LCG to xorshift
...
While this is slightly more expensive (~48% slower per random number) it
does not cause any measurable difference when running through a complete
audio conversion pipeline.
On the other hand its random numbers are of much higher quality and on
spectrograms for 32 bit to 24 bit conversion the difference is clearly
visible.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1729 >
2022-02-25 12:41:18 +00:00
Jan Alexander Steffens (heftig)
4567d569ca
videoaggregator: Correct use of start_time/end_time
...
When 29713c5d
changed most uses of `start_time` and `end_time` to
`start_running_time` and `end_running_time`, it missed two.
Fixes: 29713c5d40
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1038
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1779 >
2022-02-22 16:00:54 +00:00
Sebastian Dröge
2d134c0432
rtpbasepayload: Copy all buffer metadata instead of just GstMetas for the input meta buffer
...
This gives RTP header extensions some more metadata to work from.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1774 >
2022-02-22 10:54:23 +02:00
Sebastian Dröge
a10b35c011
gl: Mark GL memory GType functions as deprecated
...
They can't be used in any useful way. The type of every GstMemory is
always GST_TYPE_MEMORY and the subtyping relationship has to be
implemented on top of that via the associated allocator and mem_type
string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
bd867aea4f
gl: Add #ifndef GST_REMOVE_DEPRECATED
for existing deprecated API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
5acb8ac559
gl: Add versioned Deprecated
marker to gst_gl_display_find_window
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
5d8705437d
gl: Replace existing G_DEPRECATED_FOR usage with GST_GL_DEPRECATED_FOR
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
6d83665d7a
gl: Add GST_GL_DEPRECATED
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Groß
6372aaa608
audiovisualizer: shader: Fix dframe out of bound write
...
shader_fade_and_move_horiz_out writes a complete stride at the end of its
dframe data
This led to SIGSEGV since the stride reached into sframe->map[0]->memory
which could not be umpapped later on.
This is due to `d` is increased twice. Once at the end of the upper loop
and at the start of the lower loop.
The corresponding dframe stride is therefore skipped.
Rewind `d` and start at the correct position.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1702
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1751 >
2022-02-21 08:20:44 +01:00