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
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
Olivier Crête
8e3e6ddba3
value: Use g_critical() when trying to serialize things that can't be
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2823 >
2022-08-25 22:27:51 +00:00
Olivier Crête
927334ef43
gstvalue: Don't loop forever when serializing invalid flag
...
The serialization code would loop forever if an invalid flag was sent into it.
With unit test for this corner case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2823 >
2022-08-25 22:27:51 +00:00