Commit graph

115078 commits

Author SHA1 Message Date
Stéphane Cerveau 0c96e838e8 docs: update to mono repo locations
Some links/repos in the documentation were still pointing to old
repositories, change to mono repository

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2982>
2022-09-06 14:20:49 +02:00
Jordan Petridis a7f9c97454 fluidsynth: correctly version guard methods
We bumped the minimum version to 2.1 but the api we used
wasn't introduced till version 2.2 of fluidsynth

Follow-up to gstreamer/gstreamer!2718

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2835>
2022-09-05 17:48:27 +00:00
Jan Schmidt 43209d0ee6 dashdemux2: Preserve current representation on live manifest updates
When updating a manifest during live playback, preserve the current
representation for each stream.

During update_fragment_info, if the current representation changed
because it couldn't be matched, trigger a caps change and new
header download.

This reverts commit e0e1db212f
and reapplies "dashdemux: Fix issue when manifest update sets slow start
without passing necessary header & caps changes downstream" with
changes.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2920>
2022-09-05 16:07:00 +00:00
Jan Schmidt 4e25c519de dashdemux: Preserve current representation on live manifest updates
When updating a manifest during live playback, preserve the current
representation for each stream.

During update_fragment_info, if the current representation changed
because it couldn't be matched, trigger a caps change and new
header download.

This reverts commit e0e1db212f
and reapplies "dashdemux: Fix issue when manifest update sets slow start
without passing necessary header & caps changes downstream" with
changes.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/507
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1729

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2920>
2022-09-05 16:07:00 +00:00
Nirbheek Chauhan a5ef7e2781 examples: Disable bitcode support in iOS examples
For explanation, see:

https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/879

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2978>
2022-09-03 18:04:34 +05:30
Sebastian Dröge cc454f0fc3 rtpjitterbuffer: Add test for crash caused by removing timers twice
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
2022-09-03 09:26:24 +00:00
Sebastian Dröge 648b8f3362 rtpjitterbuffer: Make it more explicit that update_rtx_timers() takes ownership of the passed in timer
It is not valid anymore afterwards and must not be used, otherwise an
already freed pointer might be used.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
2022-09-03 09:26:24 +00:00
Sebastian Dröge e66f5e2423 rtpjitterbuffer: Don't shadow variable
While this didn't cause any problems in this context it is simply
confusing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
2022-09-03 09:26:24 +00:00
Sebastian Dröge 0b19c457ca rtpjitterbuffer: Change RTX timer availability checks to assertions
It's impossible to end up in the corresponding code without a timer for
RTX packets because otherwise it would be an unsolicited RTX packet and
we would've already returned early.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
2022-09-03 09:26:24 +00:00
Sebastian Dröge 2ca849499e rtpjitterbuffer: Only unschedule timers for late packets if they're not RTX packets and only once
Timers for RTX packets are dealt with later in update_rtx_timers(), and
timers for non-RTX packets would potentially also be unscheduled a
second time from there so avoid that.

Also don't shadow the timer variable from the outer scope but instead
make use of it directly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
2022-09-03 09:26:24 +00:00
Tim-Philipp Müller 034faeae31 subprojects: update openh264 wrap to v2.3.0
.. and use tarball instead of git checkout.

Also bump ci image tags so the images cache the new tarball.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2968>
2022-09-02 18:41:32 +01:00
Bruce Liang 657cc3e6d6 gst-rtsp-server: Fix pushing backlog to client
Check back pressure of a stream transport before popping buffer from its backlog.

If the stream transport is not experiencing back pressure, the buffer can be popped from backlog and pushed to client.

Fixes:#1298

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2936>
2022-09-02 16:04:06 +00:00
Xavier Claessens ef6f157205 meson: Subprjects can define both "plugins" and "gst_plugins"
If "gst_plugins" is defined we can ignore the value of legacy "plugins"
variable, subprojects could be using it for something else, which is the
case of gst-plugin-rs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2976>
2022-09-02 15:01:45 +00:00
Sebastian Dröge 57a6e48ed1 rtsp-server: stream: Don't loop forever if binding to the multicast address fails
The address/port is pre-defined by the caller of the function, so
retrying is only going to loop forever.

Ideally the multicast address should be checked after allocating but
this doesn't happen currently, so it's better to error out cleanly then
to loop forever trying the same address.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2975>
2022-09-02 14:28:26 +00:00
Florian Zwoch a1b60be22b va: Fix log message when registering H264 encoder.
The log message would report an error for the H264 decoder when
registering failed, but we tried to register the H264 encoder instead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2974>
2022-09-02 10:29:11 +00:00
Olivier Crête 4b3b234f72 webrtcbin: Allow locked mlines with no caps, as the last ones
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
2022-09-02 11:52:58 +02:00
Olivier Crête 0930c467d4 webrtcbin: Reject creating an offer if a locked mline has no caps
This avoids getting in a bunch of corner cases. We'd have to insert
a "rejected" line from the start as a place-holder to get around this,
but the rest of the code just becomes more complicated, so just
disallow it for now.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
2022-09-02 11:52:58 +02:00
Olivier Crête 3503599e0a webrtcbin: Store pending mid to make create-offer idempotent
If the mid is not stored in the transceiver, but it is stored in
last_offer, then a further create-offer call will just ignore that
transceiver.

Also include unit test for ensure it doesn't regress.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
2022-09-02 11:52:58 +02:00
Patricia Muscalu 3c9e4f4886 rtph265: keep delta unit flag
Without this patch all buffers that pass the payloader
are marked as non-delta-unit buffers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2969>
2022-09-02 08:56:13 +00:00
Mengkejiergeli Ba da9479a034 msdkvpp: Add va memory when fixating src caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba bb79853d20 msdkvpp : Use va pool at linux path and system pool for windows
We use msdkvpp's own pool to allocate buffers instead of external frame
allocator mfxFrameAllocator.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba 4c6b719445 msdkvpp: Import buffer to msdk_surface
If the buffer is not msdk_buffer, we can try to directly import the
attached memory (i.e. va mem and dmabuf mem) by applying the common
uitl function: import_to_msdk_function ().

Here add a flag "from_qdata" in GstMsdkSurface to handle the cropping case,
we should avoid updating the crop values when msdk_surface is from the
memory's qdata, because the crop info from this surface is the already
updated one.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba 45819899c3 msdkvpp: Add va caps at sink and src pad
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba 966a2c3754 msdkenc: Apply common util func to import mem as msdk_surface
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba 2854af85fd msdk: Add help functions to get mfxFrameSurface1 from GstBuffer and wrap it as GstMsdkSurface
Note that the memory abstraction for system memory is for windows path.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba 23f5bdcee7 msdkenc: Use va pool on linux and system pool for windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba 956dc40fb8 msdkenc: Directly import dmabuf memory as mfx surface
When input buffer is of dmabuf memory but not a msdk buffer (i.e., the
allocator is not msdk_allocator), then we can try to get fd of this mem,
create the corresponding va surface and wrap it as mfx surface.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba b2e18f7f88 msdkenc: Directly import va memory as mfx surface
If input buffer is of va memory, we can directly obtain va surface from
the buffer and wrap it as mfx surface.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Mengkejiergeli Ba a8c1cec051 msdk: Use va libs API to get VA surface from buffer
Direct apply gst_va_buffer_get_surface to get VASurface from a buffer,
so remove corresponding functions which are not used.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
2022-09-02 11:06:29 +08:00
Thibault Saunier 6a4425e46a meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
Removing some copy pasted code

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
2022-09-01 21:17:35 +00: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
Thibault Saunier c971a6d71f cuda: meson: Fix generating GstCuda gir file against gstreamer-full
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
2022-09-01 21:17:35 +00:00
Thibault Saunier b5e90fe579 meson: Rename plugins list and make them "dependency" objects
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
2022-09-01 21:17:35 +00:00
Raul Tambre e1d3612321 rtpjitterbuffer: remove lost timer for out of order packets
When receiving old packets remove the running lost timer if present.
This fixes incorrect reporting of a lost packet even if it arrived in time.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2922>
2022-09-01 09:01:31 +00:00
Ádám Balázs 55716ac21c gstaudioconvert: doc: Fix mix-matrix example
mix-matrix should contain float elements, modify the example to do so

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2966>
2022-08-31 17:24:51 +00:00
Martin Dørum 5745791345 gstpluginloader: Don't hang on short reads/writes
If read_one or write_one was called but the stream closed before it could
read/write a whole packet, read_one/write_one would hang indefinitely,
consuming 100% CPU. This commit fixes that by treating a short read/write
as an error.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2964>
2022-08-31 16:54:24 +00:00
Thibault Saunier eca3e7c56f validate: Fix gir generation
It broke in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2555
where we stopped parsing some .c files

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2965>
2022-08-31 16:17:52 +00:00
Jordan Petridis 272560463c validate: don't look for the common supression file
We no longer have a common submodule

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2841>
2022-08-31 14:51:20 +00:00
Xavier Claessens 165fbec0a3 gst_init: Initialize static plugins just before dynamic plugins
All plugins needs to be initialized after `gst_initialized = TRUE;`
otherwise they could complain that gst_init() has not been called.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2962>
2022-08-31 14:20:58 +00:00
Xavier Claessens fe40a73973 meson: Make sure devenv uses tools linked on gst-full
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2959>
2022-08-31 13:23:56 +00:00
Sebastian Dröge cbc6761199 rtpvp8depay: If configured to wait for keyframes after packet loss, also do that if incomplete frames are detected
This can happen if the data inside the packets is incomplete without the
seqnums being discontinuous because of ULPFEC being used.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2947>
2022-08-31 08:58:03 +00:00
Sebastian Dröge ad6ba10ae3 examples: webrtc: mp-sendrecv: Add missing semicolon
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2961>
2022-08-31 10:57:39 +03:00
Alireza Miryazdi eab9383812 examples/webrtc: add some missing unrefs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2958>
2022-08-31 05:07:52 +04:30
Seungha Yang 8b988605a8 d3d11memory: Fix GstAllocator::mem_copy() implementation
We were checking possible bind flags for the DXGI format
of the source texture but that's never applied to
the destination texture desc.

Just use the already configured bind (and misc) flags of source texture
for the destination texture allocation without additional check.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2950>
2022-08-30 19:58:29 +00:00
Rafael Caricio 8648f5f7d2 audiovisualizer: fix buffer mapping to not increase refcount
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2953>
2022-08-30 15:22:42 +00:00
Stéphane Cerveau 6b1ffadb0c docs: disable in static build
Following gst-plugins-base, disable docs if static_build
in:
 - gstreamer
 - gst-plugins-good
 - gst-plugins-ugly
 - gst-libav
 - gstreamer-vaapi

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
2022-08-30 14:46:28 +00:00
Robert Rosengren ab9ce0500a curlbasesink: gst_curl_base_sink_transfer_thread_close is internal
gst_curl_base_sink_transfer_thread_close is moved from external header
to be static function, as it has no users.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>
2022-08-29 09:40:23 +00:00
Robert Rosengren 8677d573b7 curlhttpsink: Only set MIME as content-type if not set by property
Setting the content-type property shall override internally detected MIME
types, to make it possible to do as following example (where audio/basic to be
used prior to audio/x-mulaw):

gst-launch-1.0 ... ! mulawenc ! audio/x-mulaw,rate=8000,channels=1 !
  curlhttpsink location=<url> content-type=audio/basic

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>
2022-08-29 09:40:23 +00:00
Seungha Yang c3cf9521a5 d3d11: Update library doc
* Private header name is changed to gstd3d11-private.h to follow
  naming convention
* Add Since mark everywhere
* Update member variable names to be consistent with the other
  object implementations in this library
* Correct outdated documentation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2945>
2022-08-27 22:40:34 +09:00
Jordan Petridis 21ac55bac2 docker/windows: Pass a couple installargs to python3
From these, only PrependPath isn't enabled by default,
but its nice to explicitly enable the ones we need anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2933>
2022-08-26 15:56:47 +00:00