eglglessink: Add some simple TODOs

This commit is contained in:
Sebastian Dröge 2012-09-24 10:02:28 +02:00
parent 98b9862167
commit d98d5c657e

View file

@ -259,6 +259,9 @@ static GstStaticPadTemplate gst_eglglessink_sink_template_factory =
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_RGB_16)); GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_RGB_16));
/* FIXME: YUY2 and UYVY don't work completely yet, there are issues with the chroma */ /* FIXME: YUY2 and UYVY don't work completely yet, there are issues with the chroma */
/* TODO: Add support for other (A)RGB variants, just needs pixel reordering in fragment shader
* Add support for Y444, Y42B and Y41B, can use I420 shader and just different width/heights
*/
/* Filter signals and args */ /* Filter signals and args */
enum enum
@ -629,9 +632,11 @@ gst_eglglessink_get_compat_format_from_caps (GstEglGlesSink * eglglessink,
GST_PTR_FORMAT " and %" GST_PTR_FORMAT, format->caps, caps); GST_PTR_FORMAT " and %" GST_PTR_FORMAT, format->caps, caps);
if (format) { if (format) {
if (gst_caps_can_intersect (caps, format->caps)) { if (gst_caps_can_intersect (caps, format->caps)) {
GST_INFO_OBJECT (eglglessink, "Found compatible format %d", format->fmt); GST_INFO_OBJECT (eglglessink, "Found compatible format %d",
GST_DEBUG_OBJECT (eglglessink, "Got caps %" GST_PTR_FORMAT format->fmt);
" and this format can do %" GST_PTR_FORMAT, caps, format->caps); GST_DEBUG_OBJECT (eglglessink,
"Got caps %" GST_PTR_FORMAT " and this format can do %"
GST_PTR_FORMAT, caps, format->caps);
return format; return format;
} }
} }
@ -807,8 +812,7 @@ gst_eglglessink_buffer_alloc (GstBaseSink * bsink, guint64 offset,
/* Get geometry from caps */ /* Get geometry from caps */
structure = gst_caps_get_structure (intersection, 0); structure = gst_caps_get_structure (intersection, 0);
if (!gst_structure_get_int (structure, "width", &width) || if (!gst_structure_get_int (structure, "width", &width) ||
!gst_structure_get_int (structure, "height", &height) || !gst_structure_get_int (structure, "height", &height) || !format)
!format)
goto INVALID_CAPS; goto INVALID_CAPS;
REUSE_LAST_CAPS: REUSE_LAST_CAPS:
@ -1500,7 +1504,8 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
if (got_gl_error ("glUseProgram")) if (got_gl_error ("glUseProgram"))
goto HANDLE_ERROR; goto HANDLE_ERROR;
eglglessink->coord_pos = glGetAttribLocation (eglglessink->program, "position"); eglglessink->coord_pos =
glGetAttribLocation (eglglessink->program, "position");
eglglessink->tex_pos = glGetAttribLocation (eglglessink->program, "texpos"); eglglessink->tex_pos = glGetAttribLocation (eglglessink->program, "texpos");
/* Generate and bind texture */ /* Generate and bind texture */
@ -2004,8 +2009,8 @@ gst_eglglessink_setcaps (GstBaseSink * bsink, GstCaps * caps)
format = gst_eglglessink_get_compat_format_from_caps (eglglessink, caps); format = gst_eglglessink_get_compat_format_from_caps (eglglessink, caps);
if (!format) { if (!format) {
GST_ERROR_OBJECT (eglglessink, "No supported and compatible egl/gles format " GST_ERROR_OBJECT (eglglessink,
"found for given caps"); "No supported and compatible egl/gles format " "found for given caps");
goto HANDLE_ERROR; goto HANDLE_ERROR;
} else } else
GST_INFO_OBJECT (eglglessink, "Selected compatible egl/gles format %d", GST_INFO_OBJECT (eglglessink, "Selected compatible egl/gles format %d",