Edward Hervey
97bfb8b6cb
imagesequencesrc; Fix leaks
...
* The path was leaked
* The custom buffer was never freed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
6ffae88a9f
qtdemux: Fix cenc-related leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
aa61662632
deinterlace: Don't leak metas
...
There is no correlation between the frame being NULL and the metas not being
present.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
7f86e925e2
adaptivedemux2: Fix collection leaks
...
* The collection on the period was never unreffed
* The collection in the message handler was never unreffed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Jan Schmidt
b2f2a9125c
mssdemux2: Update for adaptivedemux2 refactoring
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
565f47b4f3
adaptivedemux2: Move stream_seek() to the Stream class
...
Move the last stream specific vfunc from the demux
class to the stream class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
2fe641353d
adaptivedemux2: Refactor stream methods into the stream
...
Unlike the legacy elements, GstAdaptiveDemuxStream is a GObject now,
so a bunch of things that were actually stream methods on the
parent demux object can directly become stream methods now.
Move the stream class out to a header of its own.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
9f89b8e3ef
hlsdemux2/m3u8: Implement EXT-X-GAP parsing
...
Read the EXT-X-GAP tag and set is_gap on the segment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
55db033570
hlsdemux2/m3u8: Refactor parsing for readability
...
Small readability improvements in the parsing code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
bfeb3c5625
adaptivedemux2/downloadhelper: Remove return val for download_request_add_buffer()
...
The function can't actually fail, and the only caller
was ignoring the result anyway, so remove the return value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
0f8c38c190
adaptivedemux2/downloadhelper: Add debug output of response headers
...
Dump the HTTP response headers at TRACE level
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
d1ae35f08a
adaptivedemux2/downloadhelper: Don't mark transfer as complete/error if cancelled.
...
If the state of the download request was reset to UNSENT,
it was cancelled. Don't update the state to COMPLETE or ERRORED
in on_read_ready().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
46517d5aca
adaptivedemux2/downloadhelper: Ignore spurious read failure
...
Sometimes g_input_stream_read_all_finish() can return
0 bytes, but still succeed (return TRUE) and have more
data available later. Only finish the transfer
if it returns 0 bytes *and* FALSE with no error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
1751f555f2
adaptivedemux2/downloadhelper: Fix function name
...
Fix a typo in the name of function download_request_despatch_progress()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
c9de81edd4
adaptivedemux2: Remove scheduler_lock mutex
...
Remove the old unused scheduler_lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
b691aece65
adaptivedemux2: Hold tracks lock accessing input_period
...
The input_period is protected by the TRACKS_LOCK,
so make sure to hold that when accessing it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
93f80bb061
adaptivedemux2: Add state checks and clean up obsolete variables
...
The cancelled flag was only set in the stream finalize()
method, after all activity on the stream has stopped anyway.
Replace uses of cancelled with checks on the stream state.
Remove the replaced flag, which was checked but never set
to TRUE anywhere any more.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Seungha Yang
786b7699d1
vpx: Complete high bitdepth vp9 en/decoding support
...
Adding 12bits variant formats to en/decoder, and high bitdepth
4:4:4 (except for GBR) encoding support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3298 >
2022-11-04 05:37:58 +09:00
Seungha Yang
1ce38adfe3
vpx: Define formats for compatibility
...
ifdef for enum values never work. Instead, define new enum type
and use it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3298 >
2022-11-04 05:14:23 +09:00
Jan Schmidt
4a8805ade7
hlsdemux2: m3u8: Use PDT to offset stream time when aligning playlist
...
When matching segments across playlists with Program-Date-Times,
use the difference in segment PDTs to adjust the stream time
that's being transferred. This can fix cases where the
segment boundaries don't align across different streams
and the first download gets thrown away once the PTS
is seen and found not to match.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3309 >
2022-11-01 13:04:44 +00:00
Jan Schmidt
6af3769511
hlsdemux2: Download new header when it changes
...
Check whether the init file / MAP data for a segment
is different to the current data and trigger an
update if so. Previously, the header would only
be checked in HLS after switching bitrate or
after a seek / first download.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3307 >
2022-11-01 11:53:26 +00:00
Jan Schmidt
9b8c71d148
m3u8: Expose GstM3U8InitFile methods
...
Exposure ref/unref methods for the GstM3U8InitFile type,
and add a gst_m3u8_init_file_equal() comparison method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3307 >
2022-11-01 11:51:44 +00:00
Edward Hervey
33db765f45
adaptivedemux2: Improve minimum buffering threshold
...
Previously the minimum buffering threshold was hardcoded to a specific
value (10s). This is suboptimal this an actual value will depend on the actual
stream being played.
This commit sets the low watermark threshold in time to 0, which is an automatic
mode. Subclasses can provide a stream `recommended_buffering_threshold` when
update_stream_info() is called.
Currently implemented for HLS, where we recommended 1.5 average segment
duration. This will result in buffering being at 100% when the 2nd segment has
been downloaded (minus a bit already being consumed downstream)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3240 >
2022-10-31 16:16:50 +01:00
Sanchayan Maity
858e516383
wavparse: Speed up type finding for DTS
...
In order to figure out if the "raw" audio contained within the wav
container is actually DTS, right now we call the typefinder helper
which runs all typefinders.
Speed up this type finding process by specifying the extension.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3294 >
2022-10-28 19:01:26 +05:30
Matthew Waters
e2081ce31e
mp4mux: enable muxing VP9 streams
...
As specified in https://www.webmproject.org/vp9/mp4/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Matthew Waters
5bed545113
qtmux: add support for writing vpcC box for VP9
...
Increases compatibility for VP9 in .mov in at least VLC.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Thibault Saunier
1c1b0380cb
dashdemux2: Fix the way we determine current_position after seeks
...
Without that the current_position was off after seeks, potentially
leading to not properly push a last fragment when a `.stop` time was
set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Thibault Saunier
8a9821e805
dash: Fix computing repeat_index
when seeking in stream with a start !=0 on the first fragment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Thibault Saunier
f7abd81a45
matroskademux: Let upstream handle seeking/duration query in time if possible
...
So proper response are given for dash streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Thibault Saunier
8c7579e129
matroskademux: Start support for upstream segments in TIME format
...
So we can use matroskademux for dash webm dash streams.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Jakub Adam
2125dbbd0b
ximagesrc: grab the server while capturing screen image
...
Makes sure screen resolution doesn't change in the middle of the
process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1562 >
2022-10-27 18:42:38 +00:00
Jakub Adam
c93afcc99c
ximagesrc: change video resolution when X11 screen gets resized
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1562 >
2022-10-27 18:42:38 +00:00
Tim-Philipp Müller
d132592423
xingmux: move from gst-plugins-ugly to gst-plugins-good
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/415
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3251 >
2022-10-25 12:40:20 +00:00
Sebastian Dröge
e392d9c597
rtspsrc: Only EOS on timeout if all streams are timed out/EOS
...
Otherwise a stream that is just temporarily inactive might time out and
then can never become active again because the EOS event was sent
already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3238 >
2022-10-24 09:19:12 +00:00
Matthew Waters
093e9c8c9d
rtpulpfecdec: add property for passthrough
...
Support for enabling and disabling decoding of FEC data decoding on
packet loss events and unconditional seqnum rewriting of packets.
See
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/581
for background.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3212 >
2022-10-23 23:44:07 +00:00
Devin Anderson
31b244271e
wavparse: Avoid occasional crash due to referencing freed buffer.
...
We've seen occasional crashes in the `wavparse` module associated with
referencing a buffer in `gst_wavparse_chain` that's already been freed. The
reference is stolen when the buffer is transferred to the adapter with
`gst_adapter_push` and, IIUC, assuming the source doesn't hold a reference to
the buffer, the buffer could be freed during interaction with the adapter in
`gst_wavparse_stream_headers`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3179 >
2022-10-14 07:54:03 +00:00
Julian Bouzas
9197235539
riff: Mark jpeg as parsed
...
This is needed so that autoplugging works with avidemux and JPEG decoders that
need parsed sink caps (eg rockchip 'mppjpegdec' decoder). It also works fine
with 'jpegdec' decoder regardless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3175 >
2022-10-13 13:53:29 -04:00
Devin Anderson
4e03c5f885
wavparse: Fix crash that occurs in push mode when header chunks are corrupted
...
in certain ways.
In the case that a test is provided for, the size of the `fmt ` chunk is
changed from 16 bytes to 18 bytes (bytes 17 - 20 below):
```
$ hexdump -C corruptheadertestsrc.wav
00000000 52 49 46 46 e4 fd 00 00 57 41 56 45 66 6d 74 20 |RIFF....WAVEfmt |
00000010 12 00 00 00 01 00 01 00 80 3e 00 00 00 7d 00 00 |.........>...}..|
00000020 02 00 10 00 64 61 74 61 |....data|
00000028
```
(Note that the original file is much larger. This was the smallest sub-file
I could find that would generate the crash.)
Note that, while the same issue doesn't cause a crash in pull mode, there's a
different issue in that the file is processed successfully as if it was a .wav
file with zero samples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3173 >
2022-10-13 08:56:49 +00:00
Edward Hervey
c37182b6b9
oss4: Fix debug category initialization
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1456
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3158 >
2022-10-11 13:02:54 +00:00
Mathieu Duponchelle
cddb0e951f
splitmuxsrc: don't queue data on unlinked pads
...
Once a pad has returned NOT_LINKED, the part reader shouldn't let its
corresponding data queue run full and eventually (after 20 seconds)
stall playback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3145 >
2022-10-10 18:11:12 +00:00
Sebastian Dröge
bd5a4d321b
rtpsource: Don't do probation for RTX sources
...
Disable probation for RTX sources as packets will arrive very
irregularly and waiting for a second packet usually exceeds the deadline
of the retransmission.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/181
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3112 >
2022-10-10 14:56:18 +00:00
Sebastian Dröge
5568cb33f7
rtp: examples: client-rtpaux: Provide correct caps by payload type and RTX pt map by session
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3112 >
2022-10-10 14:56:18 +00:00
George Kiagiadakis
8dd512fd9f
tests/check/rtpsession: extend test_internal_sources_timeout
...
to verify that rtx SSRCs do not BYE after timeout
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/360
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3112 >
2022-10-10 14:56:18 +00:00
Sebastian Dröge
72b6dabd32
rtpsession: Remember the corresponding media SSRC for RTX sources
...
This allows timing out the RTX source and sending BYE for it when the
actual media source belonging to it is timed out.
This change only applies to sending sources from this session.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/360
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3112 >
2022-10-10 14:56:17 +00:00
Sebastian Dröge
d5c072fadd
rtpsource: Rename rtp_source_update_caps to rtp_source_update_send_caps
...
To make it clear that this is only used for sending RTP sources.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3112 >
2022-10-10 14:56:17 +00:00
Sebastian Dröge
97a47341a7
rtpsession: Rename gst_rtp_session_sink_setcaps to gst_rtp_session_setcaps_recv_rtp
...
to make it clearer that this is for setting receiver caps and to make it
more consistent with gst_rtp_session_setcaps_send_rtp.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3112 >
2022-10-10 14:56:17 +00:00
Sebastian Dröge
bacd92274d
rtspsrc: Retry SETUP with non-compliant URL resolution on "Bad Request" and "Not found"
...
Various RTSP servers/cameras assume base and control URL to be simply
appended instead of being resolved according to the relative URL
resolution algorithm as mandated by the RTSP specification.
To work around this, try using such a non-compliant control URL if the
server didn't like the URL used in the first SETUP request.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1447
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/922
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3127 >
2022-10-07 09:12:00 +00:00
Tim-Philipp Müller
99bbb1ef35
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115 >
2022-10-04 03:57:31 +01:00
Tim-Philipp Müller
9820e58be6
Release 1.21.1
2022-10-04 01:18:20 +01:00
Tim-Philipp Müller
c376d80e9b
Update ChangeLogs for 1.21.1
2022-10-04 01:13:59 +01:00