- 16 Jun, 2021 1 commit
-
-
Part-of: <!1205>
-
- 11 Jun, 2021 2 commits
-
-
Scott Moreau authored
Without this, glimagesink since wayland 727c7903 fails with gst-launch-1.0: ../src/wayland-client.c:2181: wl_proxy_set_queue: Assertion 'proxy->display == queue->display' failed. Part-of: <gstreamer/gst-plugins-base!1200>
-
Haihua Hu authored
below commit change the window resize thread and cause viv-fb backend hang, need move resize code after window->open is called. Otherwise, the resize message will send to a thread that not start running and window resize call will waiting forever. Commit: b887db1e glwindow: fix racy resize updates Take locks around resize handling and marshall all resizes to the windowing thread by default. Part-of: <gstreamer/gst-plugins-base!1195>
-
- 10 Jun, 2021 2 commits
-
-
Nicolas Dufresne authored
The per plane format mapping for AV12 was missing, which would force raw upload. Part-of: <gstreamer/gst-plugins-base!1199>
-
Nicolas Dufresne authored
When the code was ported to use component index instead of plane index, the call to GST_VIDEO_INFO_PLANE_STRIDE() was accidently ported to use component index, but this macro takes a plane index. Part-of: <gstreamer/gst-plugins-base!1199>
-
- 08 Jun, 2021 2 commits
-
-
Sebastian Dröge authored
Part-of: <gstreamer/gst-plugins-base!1198>
-
Sebastian Dröge authored
By checking the queue length this would also count events and caps. We already keep track of the number of buffers separately so just use that. Part-of: <gstreamer/gst-plugins-base!1197>
-
- 05 Jun, 2021 1 commit
-
-
Mathieu Duponchelle authored
this is convenient for application that wish to monitor whether the appsrc is leaking. Part-of: <gstreamer/gst-plugins-base!1193>
-
- 03 Jun, 2021 5 commits
-
-
Marijn Suijten authored
Part-of: <gstreamer/gst-plugins-base!1190>
-
Sebastian Dröge authored
AV12 should be right after A420 because it is the same format with just one plane less, instead of being next to I420/NV12 which don't have an alpha channel. RGBP should be before GBR because it's the same format except for the more canonical component order. See gstreamer-rs!790 which actually checks on the CI if the algorithm defined in video-format.h is implemented correctly. Part-of: <!1189>
-
Matthew Waters authored
Our subsequent cleanup needs a ref on the pad and calling the parent may release the last reference and could cause a use-after-free. Part-of: <gstreamer/gst-plugins-base!1187>
-
Matthew Waters authored
Part-of: <gstreamer/gst-plugins-base!1187>
-
If GST_GL_WINDOW is unset but GST_GL_PLATFORM=egl, then we were choosing to create an GstGLDisplayEGL directly instead of going through the any more specific windowing system implementation (X11, Wayland). The 'create an GstGLDisplayEGL when GST_GL_PLATFORM=egl' was a fallback as we did not have entries for all EGL-using window systems previously. Now that we do, the fallback can be removed. An EGLDisplay can still be created by setting GST_GL_WINDOW=egl or as one option. Fixup of gstreamer/gst-plugins-base!1154 Part-of: <gstreamer/gst-plugins-base!1169>
-
- 02 Jun, 2021 1 commit
-
-
g_memdup() is deprecated since GLib 2.68 and we want to avoid deprecation warnings with recent versions of GLib. Part-of: <!1171>
-
- 01 Jun, 2021 1 commit
-
-
Tim-Philipp Müller authored
-
- 31 May, 2021 3 commits
-
-
Tim-Philipp Müller authored
-
While this was already possible through the GLContext machinary, this simply request an alpha channel by default and fallback if this is not possible. This obsolete some RPi Dispmanx hack, since this is near equivalent will allow see through when playgin WebM Alpha or other transparent files. Application are still free to pass their own EGLContext attribute, this is specially for the case the application let GStreamer chose (e.g. gst-launch). Part-of: <gstreamer/gst-plugins-base!1176>
-
Daniel Knobe authored
Part-of: <gstreamer/gst-plugins-base!1181>
-
- 27 May, 2021 3 commits
-
-
Olivier Crête authored
Part-of: <gstreamer/gst-plugins-base!1180>
-
Olivier Crête authored
On re-sync, don't forget what has already been written. Instead, just drop any samples that overlap with parts that were already filled. Part-of: <gstreamer/gst-plugins-base!1180>
-
GstAudioRingBufferSpec can be cleared from other thread, then rate value will be zero Part-of: <!1179>
-
- 26 May, 2021 2 commits
-
-
Marijn Suijten authored
When compiling without assertions `g_assert` and its contents disappear resulting in no list being deserialized at all and the `gst_{audio,video}_formats_raw` functions to return an empty collection. Part-of: <!1177>
-
Part-of: <gstreamer/gst-plugins-base!1170>
-
- 24 May, 2021 1 commit
-
-
Sebastian Dröge authored
If the converter configuration is set to not fill any borders, or if the border fill color is not full opaque, then the pad has to be handled as potentially transparent and can't be considered to obscure another one. This prevents pads from being wrongly skipped and doing alpha-blending with uninitialized memory. Part-of: <gstreamer/gst-plugins-base!1172>
-
- 22 May, 2021 5 commits
-
-
Nicolas Dufresne authored
Part-of: <gstreamer/gst-plugins-base!1152>
-
Nicolas Dufresne authored
This adds the new symbols needed for AV12 support. Part-of: <gstreamer/gst-plugins-base!1152>
-
AV12 is an internally conceived format that is actually the combination of NV12 and an alpha plane. This format is to add to gstreamer's webM transparency support for vp8 and vp9. To this end, two I420 streams are independently decoded simultaneously for the actual content and the alpha plane respectively and these are then combined into A420. This patch adds GL conversion support so that it is possible to convert from AV12 to RGBA for the purposes of rendering it on a display. The reverse conversion is also supplied. Part-of: <gstreamer/gst-plugins-base!1152>
-
AV12 is an internally conceived format that is actually the combination of NV12 and an alpha plane. This format is to add to gstreamer's webM transparency support for vp8 and vp9. To this end, two I420 streams are independently decoded simultaneously for the actual content and the alpha plane respectively and these are then combined into A420. Since most hardware decoders output NV12, this patch adds NV12+A to make the same workflow possible. Part-of: <!1152>
-
Remove unnecessary trailing spaces at the end of some orc functions. Part-of: <gstreamer/gst-plugins-base!1152>
-
- 21 May, 2021 4 commits
-
-
Thibault Saunier authored
-
Part-of: <gstreamer/gst-plugins-base!1167>
-
Matthew Waters authored
Look in opengl32.dll first, then wglGetProcAddress(), and only then possibly from any linked in libraries. Part-of: <gstreamer/gst-plugins-base!1165>
-
Matthew Waters authored
Part-of: <gstreamer/gst-plugins-base!1165>
-
- 20 May, 2021 3 commits
-
-
Tim-Philipp Müller authored
Include everything to the end. Part-of: <gstreamer/gst-plugins-base!1164>
-
A420 is a four planar format similar to I420 but with an extra buffer for alpha values. A common use of the gl stack is for GPU format conversions using shaders, in which case one can use glupload, glcolorconvert and gldownload elements to upload their buffer to the GPU context, perform the conversion on the GPU itself and then retrieve the data to CPU context. A420 was not supported. This patch adds said support mainly by adding the corresponding shader to perform the conversion and updating the supported caps. Both A420->RGBA and RGBA->A420 conversions are supported. Part-of: <gstreamer/gst-plugins-base!1153>
-
The issue can be reproduced on a computer with a Radeon graphics card when trying to force GStreamer Editing Services to use GL for video mixing in GESSmartMixer, instead of the GstCompositor that smart mixer would normally use. This change causes the resulting video stream to have "video/x-raw(memory:GLMemory) ... texture-target: 2D" caps (instead of "video/x-raw ..." caps). At the PlaySink stage of the pipeline, a GstGLImageSinkBin is plugged, with a GstGLColorBalance on it. For some reason that is still to be debugged (and out of the scope of this patch), gst_gl_filter_set_caps() is never called on that color balance element, leaving filter->in_texture_target set to its default GST_GL_TEXTURE_TARGET_NONE value. The incomplete _create_shader() logic does the rest and silently generates a shader code that doesn't build. This is the command I use to reproduce the issue (I'm not sure if I would be able to isolate the issue in a simple pipeline, though): GST_PLUGIN_FEATURE_RANK=vaapih265enc:NONE,vaapih264enc:NONE,vaapisink:NONE,vaapidecodebin:NONE,vaapipostproc:NONE,vaapih265dec:NONE,vaapivc1dec:NONE,vaapih264dec:NONE,vaapimpeg2dec:NONE,vaapijpegdec:NONE,glvideomixer:260 ges-launch-1.0 +clip /tmp/video.mp4 Part-of: <gst-plugins-base!1159>
-
- 19 May, 2021 4 commits
-
-
Nicolas Dufresne authored
The full src_height/width was being used instead of the remaining width/height for the current band. As a side effect, that value would get erroneously reset and would cause overrun. Fixes #887 Part-of: <gstreamer/gst-plugins-base!1160>
-
While so far it worked, we are about to introduce a format that break this assuming. We have a format which consist of NV12 with alpha, and this format does not have a direct mapping of the component against their plane indexes. Fix this by using gst_video_format_info_component() introduced in 1.18 for this purpose. Part-of: <!1151>
-
e.g. if running a dual wgl/egl built library, then egl will always succeed in creating the GstGLContext because almost anything could support egl, as long as eglGetDisplay() works. wgl, however has a check for the correct display type so should move earlier in the tried list. Part-of: <gstreamer/gst-plugins-base!1154>
-
Allows more fine-grained control over the exact display type that is created. Part-of: <gstreamer/gst-plugins-base!1154>
-