mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-29 13:11:06 +00:00
glupload: Add formats supported by #GstGLMemory to raw caps when generating sink pad caps
When glupload generates sink caps based on src caps after determining upload method, src caps may only contain RGBA format. In this case, the raw caps on the sink pad generated by glupload will only contain the RGBA format, which will cause caps negotiation fail, because the filter caps used for negotiation by the upstream element may only contain other formats, such as xBGR, etc. Add the formats supported by #GstGLMemory to raw caps to ensure that caps negotiation succeeds. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7061>
This commit is contained in:
parent
3f2ed552fb
commit
cf30e875de
1 changed files with 3 additions and 2 deletions
|
@ -1818,11 +1818,12 @@ _direct_dma_buf_upload_transform_caps (gpointer impl, GstGLContext * context,
|
||||||
ret = _dma_buf_upload_transform_caps_common (tmp_caps, context, direction,
|
ret = _dma_buf_upload_transform_caps_common (tmp_caps, context, direction,
|
||||||
flags, 1 << dmabuf->target, GST_CAPS_FEATURE_MEMORY_GL_MEMORY,
|
flags, 1 << dmabuf->target, GST_CAPS_FEATURE_MEMORY_GL_MEMORY,
|
||||||
GST_CAPS_FEATURE_MEMORY_DMABUF);
|
GST_CAPS_FEATURE_MEMORY_DMABUF);
|
||||||
gst_caps_unref (tmp_caps);
|
|
||||||
|
|
||||||
tmp = _dma_buf_upload_transform_caps_common (caps, context, direction,
|
|
||||||
|
tmp = _dma_buf_upload_transform_caps_common (tmp_caps, context, direction,
|
||||||
flags, 1 << dmabuf->target, GST_CAPS_FEATURE_MEMORY_GL_MEMORY,
|
flags, 1 << dmabuf->target, GST_CAPS_FEATURE_MEMORY_GL_MEMORY,
|
||||||
GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
|
GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
|
||||||
|
gst_caps_unref (tmp_caps);
|
||||||
|
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
ret = tmp;
|
ret = tmp;
|
||||||
|
|
Loading…
Reference in a new issue