Olivier Crête
f3cd913b3c
sdpmessage: Parse zero clock-rate as default
...
It seems there is at least one broken RTSP server out there that returns a clock-rate of 0.
Let's just ignore it and use the default in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5171 >
2023-08-14 08:26:59 +00:00
Philippe Normand
b2e121054d
sdp: Add API to remove media from a SDP message
...
Based on initial patch by Stefano Buora.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/579
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4670 >
2023-05-20 09:23:17 +01:00
Thibault Saunier
b14e675a27
gir: Checkout all .gir files and check that they are updated on the CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010 >
2023-04-22 09:32:32 -04:00
Seungha Yang
5765eb8dce
sdpmessage: Don't set "source-filter" to caps
...
Multiple "source-filter" can exist, and it requires special handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3485 >
2023-04-12 16:32:07 +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
Bart Van Severen
a62b07f3b4
sdp: gstmikey: gst_mikey_message_to_caps: extract salt and append to srtp-key
...
A KEMAC can hold both key and salt, so if salt is present, we should extract it
and append it to the srtp-key cap because libsrtp expects the srtp-key to hold
the concantenated srtp master key and salt.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3568 >
2023-01-26 07:46:59 +00:00
Bart Van Severen
5678151799
sdp: gstmikey: gst_mikey_message_to_caps: extract ROC from first crypto session
...
We need the ROC to decrypt a SRTP stream as the ROC is part of the AES IV.
So look for first crypto session, from which we can get the ROC and find corresponding
crypto policy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3568 >
2023-01-26 07:46:59 +00:00
Sebastian Dröge
0378bd3fed
sdp: Fix gst_mikey_payload_key_data_set_interval() array length annotation
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1744
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3787 >
2023-01-25 13:16:44 +00:00
Tim-Philipp Müller
58722ba48e
libs: sdp: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Sebastian Dröge
12aa3925d0
sdpmessage: Annotate SDP message parameters for parse_uri()
and parse_buffer()
correctly
...
They are not actually `out` parameters but must be allocated and
initialized to a valid SDP message by the caller. Just allocating them
without initialization will cause memory corruptions because the
functions will try to clear/append to the existing SDP message.
As such they should be just marked as `transfer none`.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1605
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3484 >
2022-11-29 14:02:55 +02:00
Ignacio Casal Quinteiro
2aa34164f6
sdp: use g_strdup instead of strdup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3475 >
2022-11-28 09:36:18 +00:00
Sebastian Dröge
366893e9ac
Fix various warnings from gobject-introspection
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261 >
2022-10-25 09:45:25 +03:00
Sebastian Dröge
2650bba844
sdp: Add/fix various annotations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194 >
2022-10-18 13:51:17 +03:00
Thibault Saunier
bc9c1e3956
meson: Namespace the plugins_doc_dep/libraries variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Sebastian Dröge
3f71a467fc
sdpmessage: Don't set SDP medias from caps without media/payload/clock-rate fields
...
Previously it would've silently failed reading the payload/clock-rate
and instead would've used some random value that happened to be on the
stack.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689 >
2022-06-30 09:28:27 +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
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
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
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
Tomasz Andrzejak
5fb769e95d
Add FEC SDP message test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1527 >
2022-01-19 16:05:11 +00:00
Tomasz Andrzejak
95f5538fa4
sdpmessage: fix mapping single char fmtp params
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1527 >
2022-01-19 16:05:11 +00:00
Thibault Saunier
9ac502c21d
sdp: Handle level-asymmetry-allowed for H264 streams
...
The ["level-asymmetry-allowed"] field states that the peer wants the
profile specified in the "profile-level-id" fields but doesn't care
about the level. To express this in GStreamer caps term, we add a
"profile" field in the caps, which reuses the usual "profile" semantics
for H.264 streams and, and remove "profile-level-id" and
"level-asymmetry-allowed" fields.
["level-asymmetry-allowed"]: https://www.iana.org/assignments/media-types/video/H264
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1410 >
2021-12-12 10:59:00 -03:00
Tim-Philipp Müller
cf9be70946
gst-plugins-base: define G_LOG_DOMAIN for all libraries
...
Fixes #634
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009 >
2021-10-19 00:12:25 +00:00
Thibault Saunier
6e79932ad9
meson: List libraries and their corresponding gir definition
...
Introduces a `libraries` variable that contains all libraries in a
list with the following format:
``` meson
libraries = [
[pkg_name, {
'lib': library_object
'gir': [ {full gir definition in a dict } ]
],
....
]
```
It therefore refactors the way we build the gir so that we can reuse the
same information to build them against 'gstreamer-full' in gst-build
when linking statically
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
e2dd28a753
meson: Mark files as files()
...
Making it more robust and future proof
And fix issues that it creates
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
2fd28195ca
Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir
2021-09-24 16:13:26 -03:00