Seungha Yang
2c69544d0c
jpegdec: Fix crash when interlaced field height is not DCT block size aligned
...
In case of interlaced JPEG file, we are doubling stride.
The scratch scan line should take account of it as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1042 >
2021-09-07 12:15:34 +00:00
Philippe Normand
ab6cb4c2c7
qt: Fix build for Qt 5.9
...
The QQuickItem::size() method was introduced in 5.10, so use direct width() and
height() access instead.
Fixes #908
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1069 >
2021-08-31 11:15:24 +00:00
Matthew Waters
50661c1aa9
qmlgl: don't critical on input events before input format has been set
...
Accessing the unset GstVideoInfo would result in criticals
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1065 >
2021-08-27 13:34:01 +10:00
Havard Graff
068c2a71ba
vpxdec: Fix direct rendering, avoid holding write access
...
When a buffer is pushed downstream, we should try not to hold the
buffer mapped with write access. Doing so would often lead to
an unneccesary memcpy later.
For instance, gst_buffer_make_writable() in
gst_video_decoder_finish_frame() will cause a memcpy because of
_memory_get_exclusive_reference().
We know that we can perform a two-step remap when using system
memory, as this will not cause the location of the memory to
change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/812 >
2021-08-23 14:31:37 +00:00
Dmitry Shusharin
a92c855dd5
gstqmlgl: fix indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032 >
2021-08-16 11:25:58 +00:00
Dmitry Shusharin
a338ed98d6
gstqmlgl: wrap raw GstGLContext into GWeakRef
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032 >
2021-08-16 11:25:58 +00:00
Dmitry Shusharin
0bb37c5135
gstqmlgl: refactoring: rename ambiguous variables, clean up unused and duplicated ones
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032 >
2021-08-16 11:25:58 +00:00
Dmitry Shusharin
5dca098f6a
gstqmlgl: rework WGL-specific context init code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032 >
2021-08-16 11:25:58 +00:00
Dmitry Shusharin
83dbeac150
gstqmlgl: retrieve correct device bound to current GL context (+ minor code cleanup)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032 >
2021-08-16 11:25:58 +00:00
Dmitry Shusharin
38b26c2f3f
gstqmlgl: correct validation for Qt GL context
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032 >
2021-08-16 11:25:58 +00:00
Dmitry Shusharin
211aaaf8b8
gstqmlgl: create helper QRunnable-based class for render jobs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032 >
2021-08-16 11:25:58 +00:00
Sebastian Dröge
04963cac86
souphttpsrc: Always use the content decoder but set Accept-Encoding: identity
if no compression should be used
...
Some servers respond with gzip-encoded responses regardless of whether
the request allowed it to be used in the response. By always having the
content decoder enabled, these invalid responses can be decoded
correctly while for well-behaving servers the `compress` property
selects between allowing compressed responses or not.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/833
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1053 >
2021-08-15 12:29:06 +03:00
Matthew Waters
cfd4a9a6d9
qt: always update the sink_retrieved flag when the sink retrieves
...
Fixes a case where adding a qmlgloverlay element after an existing
qmlglsink elements was already in the pipeline would create an entirely
separate GstGLDisplay pointing to the same underlying display resource.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1050 >
2021-08-12 22:57:01 +10:00
Seungha Yang
db7d14db5a
jpeg: Add support for meson fallback
...
Allow building jpeg plugin by using meson fallback
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1041 >
2021-08-04 01:43:29 +09:00
Seungha Yang
4a5197dc27
jack: Add port-names property to select ports explicitly
...
By this new property, user can select physical port to connect,
and element will pick requested port instead of random ones.
User should provide full port name including "client_name:" prefix.
An example is
jackaudiosrc port-names="system:capture_1,system:capture_3" ! ...
jackaudiosink port-names="system:playback_2"
In addition to "port-names" property, a new connect type "explicit"
is added so that element can post error message if requested
"port-names" contains invalid port(s).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1037 >
2021-07-30 15:58:20 +09:00
Kai Uwe Broulik
4ed342db5d
qt: Support RGB format
...
In GstQSGTexture::hasAlphaChannel return value based on
whether the video format has alpha channel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1040 >
2021-07-28 11:42:12 +00:00
Seungha Yang
2f9fa71ab3
jack: Add low-latency property for automatic latency-optimized setting
...
Similar to wasapi/wasapi2 plugins on Windows, adding low-latency
option so that jack element can optimize GstAudioRingBufferSpec
setting for low latency.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1034 >
2021-07-28 10:53:48 +00:00
Seungha Yang
ca9576deca
jack: Remove trailing whitespace
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1034 >
2021-07-28 10:53:48 +00:00
Seungha Yang
9c9ad0c8d6
jack: Fix assertion fail when device supports only mono channel
...
MAX should be larger than MIN for GST_TYPE_INT_RANGE.
GStreamer-CRITICAL **: 18:26:27.912:
gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1033 >
2021-07-28 08:16:15 +00:00
Matthew Waters
b1fb787859
qmlglsrc: fix operation without any qmlglsink
...
E.g. a pipeline like qmlglsrc ! gldownload ! ... would currently fail to
run because the OpenGL context are not created in the correct order.
The QtWindow also needs to know the OpenGL context used by downstream
elements in order to set optimize for the correct GstGLSyncMeta for
synchonisation purposes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1036 >
2021-07-28 02:11:44 +00:00
Philippe Normand
304a75a67a
qt: Fix clang build
...
The updatePaintNode method is part of the QQuickItem class interface, so needs
to be flagged as overriding the default implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567 >
2021-07-05 16:12:57 +01:00
Philippe Normand
5f1b290fe8
qt: Add navigation events support
...
Currently handles only mouse events.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567 >
2021-07-05 11:44:30 +01:00
Philippe Normand
a9bb6d4572
gtk: Scroll events dispatch support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567 >
2021-07-05 11:44:30 +01:00
Jakub Adam
9f1b9fed06
vpx: add enum for adaptive quantization modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874 >
2021-06-28 16:05:46 +00:00
Jakub Adam
a5cccf13d4
vp9enc: expose frame-parallel-decoding property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874 >
2021-06-28 16:05:46 +00:00
Jakub Adam
846ee58cac
vp9enc: expose aq-mode property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874 >
2021-06-28 16:05:46 +00:00
Matthew Waters
fbf60a61a0
qtitem: don't potentially leak a large number of buffers
...
The only other place where these queued buffers are removed, is in
setCaps() but that is not called at all on shutdown so this list of
buffers could not be removed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1004 >
2021-06-03 20:33:45 +10:00
Nicolas Dufresne
be83a52db9
jpegenc: Remove arbitrary encoding size limitation
...
The encoder is happy to encode with sizes less then 16x16, so remove this
arbitrary limitation. This also fixes the fact the sink and src template caps
disagree.
Fixes #888
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/998 >
2021-06-02 13:28:18 -04:00
Tim-Philipp Müller
bf56fd97b6
Use g_memdup2() where available and add fallback for older GLib versions
...
- png: alloc size variable is a png type that's always 32-bit
- vpx: alloc size based on existing allocation
- wavpack: alloc size based on existing allocation
- icles: gdkpixbufoverlay: trusted and hard-coded input data
- rtp tests: rtp-payloading, vp8, vp9, h264, h265: trusted and/or static input data
g_memdup() is deprecated since GLib 2.68 and we want to avoid
deprecation warnings with recent versions of GLib.
Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/993 >
2021-06-02 17:34:38 +01:00
Matthew Waters
c75bd32539
qml: don't use buffers that have invalid contents
...
If the GL context is not shareable, ignore it.
A future change may also not output the relevant output either.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/983 >
2021-05-12 02:55:51 +00:00
Matthew Waters
3b4673eba3
qml: also use the dummy texture when no buffer has been set
...
Fixes corrupted texture output when changing OpenGL display/contexts.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/983 >
2021-05-12 02:55:51 +00:00
Matthew Waters
c7181bedac
qt: return a different GstGLDisplay object when the first sink requests
...
This allows the 'replace-gstreamer-opengl-context' context machinery to
correctly replace the OpenGL context used by the pipeline when the first
qmlglsink is added to the pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/982 >
2021-05-11 06:40:38 +00:00
Nicolas Dufresne
d9a0313aa0
vp9enc: Add color range support
...
When setting the colorspace, we now clear the range to reduced range,
the default, and then we also set the range so the VP9 encoder encodes
the right information in the bitstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/975 >
2021-05-06 16:00:47 -04:00
Nicolas Dufresne
91da1c3c08
vp9enc: Move colorspace configuration in VP9 enc
...
This is not supported by VP8 and was causing a warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/975 >
2021-05-06 16:00:47 -04:00
Nicolas Dufresne
3e97236844
vpxdenc: Add a GstVideoCodecState to configure_encoder virtual
...
This will be needed to configure the VP9 specific colorimetry, which is
currently configured for VP8 casing warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/975 >
2021-05-06 15:07:01 -04:00
Bastien Nocera
04fdfc4bf1
gtk: Remove coordinates double-translation
...
Remove our own translation in the mouse event capture code, as that
translation will be done through the navigation interface.
Tested by resizing the window created by:
gst-launch-1.0 -v videotestsrc ! navigationtest ! glupload ! glcolorconvert ! tee name=t ! gtkglsink
and checking that the cursor follows the mouse as expected.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974 >
2021-05-06 01:18:18 +00:00
Bastien Nocera
9cd6d02cff
gtk: Translate navigation events coordinates
...
If the application passed down some pointer coordinates, translate those
from display coordinates to stream coordinates, so things work as
expected even if the video is resized.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974 >
2021-05-06 01:18:18 +00:00
Bastien Nocera
604278a194
gtk: Export _display_size_to_stream_size()
...
Export _display_size_to_stream_size() so that GstNavigation implementors
can translate from display coordinates to stream coordinates before
pushing the events upstream to the DVD source, for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974 >
2021-05-06 01:18:18 +00:00
Doug Nazar
a0067316e7
taglib: Update createFrame() to non-deprecated version.
...
ID3v2::FrameFactory::createFrame() versions not taking a Header have
been deprecated since v1.5 (Jan 2008).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/965 >
2021-04-26 08:48:58 +00:00
VaL Doroshchuk
36b794f9ff
qmloverlay: Use first found GstGLVideoItem as widget property
...
GstGLVideoItem is required to render input video in the overlay's qml.
And currently qmlgloverlay requires to set this GstGLVideoItem to its widget property.
Instead of fetching GstGLVideoItem from the overlay's root object (root-item prop),
and setting it back as a widget (widget prop),
proposing to use found GstGLVideoItem in the current object hierarchy (passed in qml-scene) by default.
Also useful in Python, which solves the issue when casting gpointer <=> QQuickItem* is required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/919 >
2021-04-21 08:26:52 +00:00
Marco Felsch
8e8dab7a4d
qmlglsink: allow to set force-aspect-ratio property
...
Add the forceAspectRatio Q_PROPERTY to allow changing the aspect ratio
from QML code as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/937 >
2021-04-19 17:46:41 +00:00
Jakub Adam
769df2c5d1
vpxenc: add colorspace information into VP9 bitstream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/871 >
2021-04-07 22:05:06 +00:00
Val Doroshchuk
597a226b92
gstqtoverlay: Add initialization and finalization to qml-scene prop
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/924 >
2021-03-31 12:05:14 +00:00
Matthew Waters
4c3906356c
qt: fix build warning with clang and c-linkage of user defined type
...
In file included from ../subprojects/gst-plugins-good/ext/qt/qtglrenderer.cc:17:
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:35:16: error: 'qt_opengl_native_context_from_gst_gl_context' has C-linkage specified, but returns user-defined type 'QVariant' which is incompatible with C [-Werror,-Wreturn-type-c-linkage]
QVariant qt_opengl_native_context_from_gst_gl_context (GstGLContext * context);
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/928 >
2021-03-31 10:28:11 +11:00
Stéphane Cerveau
42b803ebb3
qt: hotfix: allow per feature registration
...
Fixes #869
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/925 >
2021-03-30 10:09:00 +02:00
Stéphane Cerveau
48786371df
twolame: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876 >
2021-03-29 12:45:23 +02:00
Stéphane Cerveau
31c1e8ca13
shout2: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876 >
2021-03-29 12:45:23 +02:00
Stéphane Cerveau
e63ab37431
cairo: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876 >
2021-03-29 12:45:23 +02:00
Stéphane Cerveau
96f59cd7cf
vpx: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876 >
2021-03-29 12:45:22 +02:00
Stéphane Cerveau
a047a1144b
taglib: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876 >
2021-03-29 12:45:22 +02:00