Rafał Dzięgiel
30c2bdad61
mpdparser: Fix missing baseURL query
...
When no initializationURL or mediaURL, return baseURL that also
contains original URI query if available. This fixes a problem
where URI query was being omitted in the HTTP requests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Rafał Dzięgiel
548bbc3147
mpdparser: Be consistent about returning duplicated URL
...
Instead of returning a "const gchar" or a "gchar" that should not be freed, always
return a duplicated string as those functions were used together with g_strdup anyway.
This is needed to prepare support for returning modified strings in next commit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Rafał Dzięgiel
0d79dbedf3
mpdparser: Return correct mediaURL value
...
This fixes a problem where get_mediaURL was returning NULL when segmentURL
was unavailable instead of baseURL as a fallback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Víctor Manuel Jáquez Leal
64cb38685b
matroskademux: Handle element's duration query.
...
This is small regression from commit f7abd81a.
When calling `gst_element_query()` no pad is associated with that query, but the
current code always forwards the query to the associated pad, which is NULL in
previous case. This patch checks for the pad before forwarding the query.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3404 >
2022-11-14 15:10:44 +00:00
Rafał Dzięgiel
9e74c728cb
adaptivedemux2: Fix parent object leak
...
gst_object_get_parent() method is transfer-full, thus unref is needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3396 >
2022-11-13 11:35:09 +00:00
Colin Kinloch
99fc124f25
videocrop, videobox: Simplify navigation event handling and support touch events
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:49 +00:00
Colin Kinloch
d7aba91518
videoflip: Use gst_video_orientation_from_tag to parse orientation
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:48 +00:00
Christian Wick
2498457b2f
rtspsrc: Introduce new action signal push-backchannel-sample
with correct ownership semantics
...
Signals are not supposed to take ownership of their arguments but only
borrow them for the scope of the signal emission.
The old action signal `push-backchannel-buffer` is now marked deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3363 >
2022-11-10 13:04:04 +02:00
Tim-Philipp Müller
db450689db
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358 >
2022-11-08 02:08:08 +00:00
Tim-Philipp Müller
3e29ac35c4
Release 1.21.2
2022-11-07 23:54:03 +00:00
Tim-Philipp Müller
98d2f958a9
Update ChangeLogs for 1.21.2
2022-11-07 23:53:57 +00:00
Justin Chadwell
fd96fc23c5
qtdemux: use unsigned int types to store result of QT_UINT32
...
In a few cases throughout qtdemux, the results of QT_UINT32 were being
stored in a signed integer, which could cause subtle bugs in the case of
an integer overflow, even allowing the the result to equal a negative
number!
This patch prevents this by simply storing the results of this function
call properly in an unsigned integer type. Additionally, we fix up the
length checking with stsd parsing to prevent cases of child atoms
exceeding their parent atom sizes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3344 >
2022-11-06 12:00:31 +00:00
Tim-Philipp Müller
edc2e8312e
qt: initialize GError properly in gst_qt_get_gl_wrapcontext()
...
Spotted by Claus Stovgaard.
Fixes #1545
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3327 >
2022-11-04 20:39:16 +00:00
Sebastian Dröge
b368a5fcd2
qtmux: Add durations to raw audio buffers from the raw audio adapter in prefill mode
...
This ensures that a duration can also be calculated and stored for the
last buffer at EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3321 >
2022-11-04 19:02:22 +00:00
Sebastian Dröge
7b60e48c8c
qtmux: Release object lock before posting an error message
...
GST_ELEMENT_ERROR() also takes the object lock and this would then
deadlock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3321 >
2022-11-04 19:02:22 +00:00
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