Jan Schmidt
9aa2497062
hlsdemux2: Note STABLE-RENDITION-ID is not handled
...
Add a comment that STABLE-RENDITION-ID is not yet parsed or used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3883 >
2023-02-03 16:52:21 +00:00
Jan Schmidt
e2750d4ae3
hlsdemux2: Calculate stream times for partial segments
...
When calculating stream times for segments, fill in the stream time fields on
any attached partial segments
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3883 >
2023-02-03 16:52:21 +00:00
Jan Schmidt
3c50f54310
hlsdemux2: Implement preload hint parsing
...
Load EXT-X-PRELOAD-HINT into a preload_hints array in the media playlist
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3883 >
2023-02-03 16:52:21 +00:00
Jan Schmidt
3ed6a23a4d
hlsdemux2: Implement EXT-X-SERVER-CONTROL parsing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3883 >
2023-02-03 16:52:21 +00:00
Jan Schmidt
07f51396af
hlsdemux2: Add parsing of partial segments
...
Add partial segments to each media segment, and potentially create a trailing
dummy segment if there are partial segments at the end of the playlist
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3883 >
2023-02-03 16:52:21 +00:00
Jan Schmidt
fac7177354
hlsdemux2: make helper function for parsing times
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3883 >
2023-02-03 16:52:21 +00:00
Edward Hervey
4e946890b2
adaptivedemux2: Global output position is always positive
...
Change to non-signed GstClockTime for tracking
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3883 >
2023-02-03 16:52:21 +00:00
Thibault Saunier
6b30a5d987
adaptivedemux2: Generate proper stream-id taking into account upstream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3160 >
2023-02-01 22:26:34 +00:00
Matthew Waters
659c45ee7e
qml6: implement qml6gloverlay
...
Based on the Qt5 version of qmlgloverlay.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3845 >
2023-02-01 13:23:52 +00:00
Matthew Waters
293ad62035
qt6: add qml6glsrc element
...
Same functionality as qmlglsrc (Qt5) but for Qt6.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3737 >
2023-01-28 02:24:09 +00:00
Nirbheek Chauhan
8e8d8206f1
meson: Add build_rpath for qt5 plugin on macOS
...
Without this, the plugin cannot be loaded in a devenv because the
RPATH is not added to the plugin dylib. This RPATH will be stripped on
install, which is what we want.
When deploying apps, people are supposed to use `macdeployqt` to
create an AppBundle that bundles Qt for you and sets the RPATHs
correctly to point to that bundled Qt.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3708 >
2023-01-25 11:38:52 +00:00
Tim-Philipp Müller
2a3513ef6c
vpx: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Tim-Philipp Müller
9ab2541266
gdkpixbuf: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Tim-Philipp Müller
1df462ec5b
pulseaudio: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Tim-Philipp Müller
9a235838c8
adaptivedemux2: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Marek Vasut
d43ee08f13
jpegdec: Disable libjpeg-turbo SIMD acceleration support for now
...
The libjpeg-turbo SIMD acceleration support suffers from multiple
unresolved cornercases. Disable the libjpeg-turbo for now until
those cornercases are resolved.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3694 >
2023-01-10 00:32:38 +00:00
Jan Schmidt
023c67e166
hlsdemux: Consider starting stream time in presentation offset
...
When calculating the presentation offset for CMAF input in live
playback, subtract the stream_time of the fragment from the
calculated presentation offset, so that the first fragment
is played at running time zero.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3680 >
2023-01-05 07:08:16 +00:00
Nirbheek Chauhan
92b9c604c4
meson: Add an option to select the method for finding Qt
...
This is needed by Cerbero, since we want to force the use of qmake to
find Qt on non-Linux platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3628 >
2022-12-29 09:53:17 +00:00
Seungha Yang
ce2c294117
gtkbasesink: Fix widget leak
...
gst_gtk_base_sink_get_widget() will increase refcount and it should
be released after use
Fixing regression introduced by the commit
941c0e81dd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3644 >
2022-12-28 09:14:59 +00:00
Jan Schmidt
e2cd5b1660
qmlglsrc: Handle HiDPI scaling
...
When calculating the capture framebuffer size, include
any device scaling applied to the rendered framebuffer
Fixes only capturing part of the window when there is
a global scale factor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3612 >
2022-12-21 12:21:32 +00:00
Jan Schmidt
d3c85b4d19
qmlglsrc: Unmap buffer before adding sync meta
...
Adding a sync meta to a GstBuffer requires that it
be writable. Mapping the buffer with the video frame API
holds an extra ref on the buffer, so unmap before
trying to modify it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3612 >
2022-12-21 12:21:32 +00:00
Jan Schmidt
2b09f7a006
qmlglsrc: Stop when basesrc calls unlock()
...
Instead of stopping capture when the state changes,
handle other cases of basesrc stopping capture by - such
as handling an EOS event - by implementing an unlock()
method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3612 >
2022-12-21 12:21:32 +00:00
Thibault Saunier
f7b342f1dd
base:navigation: Cleanup navigation key modifiers enum
...
We were exposing the 'ALT' modifier as if we were guaranteeing its
accuracy but truth is we were only exposing configuration dependent
values.
Make the API simpler for now, the same way as Gtk3 was exposing it, and
when we have time to guarantee more values by making them take backends
configuration into account, we will expose those values in a accurate
way.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1402
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3565 >
2022-12-15 16:47:13 +00:00
Víctor Manuel Jáquez Leal
06c7b33505
jpegdec: Enable packetized if sink caps contains parsed as true.
...
jpegdec is capable to parse input frames, but if jpegparse is before,
there's no need to reparse frames. This patch configure jpegdec as
packetized, skipping parsing, if negotiated sink caps has the boolean
field 'parsed' as true.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2464 >
2022-12-12 12:02:35 +00:00
Henry Hoegelow
6a2a5fd44c
pulsesink: Fix occasional period of silence on resume
...
According to comment in gst_pulsering_stream_latency_cb, latency updates
happen every 100 ms. The code in gst_pulsering_stream_latency_cb does
not care about the actual state of the ringbuffer, pbuf->acquired or
not.
Thus, every 100 ms the ringbuf->segdone may be set, even though the
object itself might be in 'destroyed' state. On next
gst_pulseringbuffer_acquire the segdone is not touched, so playback may
resume with invalid/wrong segdone value. This finally leads to a period
of silence playing after resuming the pipeline.
The problem was found on 'not-yet-released'-hardware and so far was not
reproducible on desktop computer.
Removing the callback as long as the ringbuffer is not in 'acquired'
state solves the problem reliably on the hardware device that the issue
was detected on.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3082 >
2022-12-12 08:29:28 +00:00
Edward Hervey
63b598b409
adaptivedemux2: Don't allow stream selection while switching periods
...
The stream selection is done on the currently outputting tracks, but in order to
(de)activate the backing streams we can only do it if the input and output
period are identical.
Fixes crash when doing stream selection during period migration
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3525 >
2022-12-05 11:03:26 +00:00
Bo Elmgreen
1f88f411bc
qt: deactivate context if fill_info fails
...
Now the OpenGL context is deactivated if call to gst_gl_context_fill_info()
fails in gst_qt_get_gl_wrapcontext(), preventing that the context is left
activated, which could lead to invalid memory reads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3492 >
2022-12-01 14:21:37 +00:00
Matthew Waters
18972fc942
add new plugin for Qt 6 rendering inside a QML scene
...
- Based heavily on the existing Qt5 integration however:
- The sharing of OpenGL resources is slightly different
- The integration with the scengraph is a bit different
- Wayland, XCB and KMS have been smoke tested. Android, MacOS/iOS,
Windows may or may not work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3281 >
2022-11-24 16:11:04 +11:00
Jan Schmidt
843f10f7f9
adaptivedemux2: Add GStreamer to the deps list
...
Explicitly dep on GStreamer so as not to accidentally
link to the system version in a git build
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3453 >
2022-11-23 09:29:14 +00:00
Edward Hervey
f9dbf91539
adaptivedemux2: Don't leak caps in debug statements
...
Instead just directly use the stream object (which will report the caps)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3443 >
2022-11-21 19:02:44 +00:00
Edward Hervey
a742c3bf27
adaptivedemux2: Don't leak tags
...
If we got them from GstStream, we should unref them when done
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3443 >
2022-11-21 19:02:44 +00:00
Edward Hervey
e36b1ae6ed
adaptivedemux: Use gst_clear_tag_list_where applicable
...
Clearer and ensures fields are reset
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3443 >
2022-11-21 19:02:44 +00:00
Jan Schmidt
8b08305ef9
adaptivedemux2: Fix sticky event storage.
...
Use the new gst_event_type_to_sticky_ordering() method to retrieve
the order that sticky events should be sent / stored in, instead
of assuming it's the event type value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3387 >
2022-11-21 10:32:02 +00:00
Enrique Ocaña González
aafe07a802
hlsdemux2: Expose EXT-X-PROGRAM-DATE-TIME as tags.
...
This allows an application to use timestamps associated
with fragments.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1417 >
2022-11-17 22:11:12 +00:00
Edward Hervey
e68baffcd9
adaptivedemux2: Notify that we are streams-aware
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784 >
2022-11-16 14:01:46 +00:00
Tim-Philipp Müller
202dc49f8b
gdkpixbufoverlay: fix docs - changing images at runtime is supported
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3415 >
2022-11-15 22:43:01 +00:00
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
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
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
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