| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fix a very slow rendering rate regression that only
happens when using gst-launch, i.e. in the case where
the main thread does not run any NSApp loop.
Git bisect reported it has been introduced by the commit
e10d2417e2fe7aa4733c076984339b0d61caa169:
"move to CGL and CAOpenGLLayer for rendering".
Then the commit 7d463576271e5a4cc1070780ba1a69c971e8be1d:
"gstglwindow_cocoa: fix slow render rate" attempted to fix
the slow rendering rate problem when using gst-launch.
At least for me it does not work. I tried several
combinations, for example to flush CA transactions in the
custom app loop, as mentioned in the doc, but the only solution
that fixes the slow rendering is by reducing the loop latency.
From what I tested, no need to put less than 60ms, even if the
framerate has an interval much lower (16.6ms for 60 fps).
|
| |
|
|
|
|
| |
until we can track where the data is/or is going to be.
|
|
|
|
|
|
|
|
|
|
| |
Anytime else, we have no idea how to match up map and unmaps.
We also don't know exactly how the calling code is using us.
Also fixes the case where we're trying to transfer while someone else
is accessing our data pointer or texture resulting in mismatched video
frames.
https://bugzilla.gnome.org/show_bug.cgi?id=744839
|
|
|
|
|
| |
Provide a helper function to check whether we are being called from
the main thread and act appropriately.
|
|
|
|
| |
otherwise we may try to use GstGLFuncs * that hasn't been set yet
|
| |
|
|
|
|
|
|
|
| |
implementing it
On Android and iOS we can't create a window ourselves, so also can't just show
one. That's not a problem and an assertion is not really needed here.
|
|
|
|
|
|
|
|
|
| |
Where possible, use the _OBJECT variants in order to track better from
which object the debug statement is coming from
Define (and use) GST_CAT_DEFAULT where applicable
Use GST_PTR_FORMAT where applicable
|
|
|
|
| |
As a bonus it makes the egl context debug messages visible now :)
|
| |
|
|
|
|
| |
Was causing horizontally flipped video for frame 2 onward on android
|
| |
|
|
|
|
| |
other formats are highly untested.
|
|
|
|
| |
that limits our formats to whatever is in the input caps
|
|
|
|
|
|
|
| |
In gst_gl_filter_fixate_caps () it can goto done without freeing the memory of
the tmp GstStructure. This makes it go out of scope and leak.
CID #1265765
|
|
|
|
| |
we don't actually support producing EGLImage buffers anywhere.
|
|
|
|
|
| |
allows thread safely using the provided output buffer in a separate
thread
|
|
|
|
| |
Allows selecting/testing the upload path with explicit caps features.
|
|
|
|
|
|
|
| |
fixes:
glcolorscale ! video/x-raw\(meta:GstVideoGLTextureUploadMeta\) !
glimagesink
|
| |
|
| |
|
|
|
|
|
|
|
| |
Allows finer grain decisions about formats and features at each
stage of the pipeline.
Also provide propose_allocation for glupload besed on the supported
methods.
|
|
|
|
|
|
|
|
|
|
| |
In gst_gl_window_cocoa_draw we used to just call setNeedsDisplay:YES. That was
creating an implicit CA transaction which was getting committed at the next
runloop iteration. Since we don't know how often the main runloop is running,
and when we run it implicitly (from gst_gl_window_cocoa_nsapp_iteration) we only
do so every 200ms, use an explicit CA transaction instead and commit it
immediately. CA transactions nest and debounce automatically so this will never
result in extra work.
|
| |
|
|
|
|
|
| |
glcolorconvert currently only supports converting between GLMemory
targets.
|
|
|
|
|
| |
We are not a GObject or any inferable GstMiniObject supported by
the gst debug system. Also fixes a segfault.
|
|
|
|
|
|
| |
This reverts commit 6f152d381ca21595cdc823f32341c8f2fe71b9c7.
The layer shouldn't be always opaque, it should be made a property.
|
| |
|
|
|
|
| |
rectangular textures
|
|
|
|
| |
It's not defined for GLES.
|
|
|
|
|
|
|
| |
When GL_APPLE_ycbcr_422 is available, run a custom shader to convert
GL_TEXTURE_RECTANGLE textures from YUV to RGB.
See https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make GstGLMemory hold the texture target (tex_target) the texture it represents
(tex_id) is bound to. Modify gst_gl_memory_wrapped_texture and
gst_gl_download_perform_with_data to take the texture target as an argument.
This change is needed to support wrapping textures created outside libgstgl,
which might be bound to a target other than GL_TEXTURE_2D. For example on OSX
textures coming from VideoToolbox have target GL_TEXTURE_RECTANGLE.
With this change we still keep (and sometimes imply) GL_TEXTURE_2D as the
target of textures created with libgstgl.
API: modify GstGLMemory
API: modify gst_gl_memory_wrapped_texture
API: gst_gl_download_perform_with_data
|
|
|
|
|
| |
Don't call glClear && glClearColor at each draw since we're going to draw the
whole viewport anyway. Gets rid of a glFlush triggered by glClear on OSX.
|
|
|
|
|
| |
Require caps to have the GST_CAPS_FEATURE_MEMORY_GL_MEMORY feature but allow
them to have more features.
|
| |
|
|
|
|
|
| |
Also fixes the cgl context always displaying a window to render to for
every GstGLContextCocoa created
|
| |
|
|
|
|
| |
This essentially makes the CAOpenGLLayer draw every refresh cycle.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Commit ab48bb6f0f55091662e595a001e178154ce60cdb changed the API of
GstGLWindow.
|
| |
|
| |
|
|
|
|
|
|
| |
In order to use pbo's efficiently, the transfer operation has to
be separated from the use of the downloaded data which requires some
rearchitecturing around glcolorconvert/gldownload and elements
|
| |
|
| |
|
| |
|