eglglessink: Documentation: Element properties

Brief explanatory comments plus some reordering
to group default setting of properties and runtime
flags values.
This commit is contained in:
Reynaldo H. Verdejo Pinochet 2012-10-09 16:25:46 -03:00 committed by Sebastian Dröge
parent 81463a1cb7
commit 031b6a57ac

View file

@ -167,8 +167,6 @@ static PFNGLEGLIMAGETARGETTEXTURE2DOESPROC my_glEGLImageTargetTexture2DOES;
#endif #endif
#endif #endif
/* *INDENT-OFF* */
/* GLESv2 GLSL Shaders /* GLESv2 GLSL Shaders
* *
* OpenGL ES Standard does not mandate YUV support. This is * OpenGL ES Standard does not mandate YUV support. This is
@ -176,6 +174,7 @@ static PFNGLEGLIMAGETARGETTEXTURE2DOESPROC my_glEGLImageTargetTexture2DOES;
* conversion. * conversion.
*/ */
/* *INDENT-OFF* */
/* Direct vertex copy */ /* Direct vertex copy */
static const char *vert_COPY_prog = { static const char *vert_COPY_prog = {
"attribute vec3 position;" "attribute vec3 position;"
@ -736,10 +735,6 @@ gst_eglglessink_different_size_suggestion (GstEglGlesSink * eglglessink,
gst_util_fraction_multiply (width, height, par_n, par_d, &dar_n, &dar_d); gst_util_fraction_multiply (width, height, par_n, par_d, &dar_n, &dar_d);
/* XXX: xvimagesink supports all PARs not sure about our eglglessink
* though, need to review this afterwards.
*/
gst_structure_fixate_field_nearest_int (s, "width", width); gst_structure_fixate_field_nearest_int (s, "width", width);
gst_structure_fixate_field_nearest_int (s, "height", height); gst_structure_fixate_field_nearest_int (s, "height", height);
gst_structure_get_int (s, "width", &w); gst_structure_get_int (s, "width", &w);
@ -2632,15 +2627,22 @@ gst_eglglessink_class_init (GstEglGlesSinkClass * klass)
g_object_class_install_property (gobject_class, PROP_CREATE_WINDOW, g_object_class_install_property (gobject_class, PROP_CREATE_WINDOW,
g_param_spec_boolean ("create-window", "Create Window", g_param_spec_boolean ("create-window", "Create Window",
"Attempt to create a window if none is provided", "If set to true, the sink will attempt to create it's own window to "
"render to if none is provided. This is currently only supported "
"when the sink is used under X11",
TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_FORCE_RENDERING_SLOW, g_object_class_install_property (gobject_class, PROP_FORCE_RENDERING_SLOW,
g_param_spec_boolean ("force-rendering-slow", "Force Slow Rendering", g_param_spec_boolean ("force-rendering-slow", "Force slow rendering path",
"Force slow rendering path", FALSE, "If set to true, the sink will use the slow rendering path even "
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); "if needed EGL/GLES extensions for the fast rendering path are found "
"to be available at runtime",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_FORCE_ASPECT_RATIO, g_object_class_install_property (gobject_class, PROP_FORCE_ASPECT_RATIO,
g_param_spec_boolean ("force-aspect-ratio", "Force Aspect Ratio", g_param_spec_boolean ("force-aspect-ratio",
"When enabled, scaling will respect original aspect ratio", "Respect aspect ratio when scaling",
"If set to true, the sink will attempt to preserve the incoming "
"frame's geometry while scaling, taking both the storage's and "
"display's pixel aspect ratio into account",
TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
} }
@ -2650,18 +2652,23 @@ gst_eglglessink_init (GstEglGlesSink * eglglessink,
GstEglGlesSinkClass * gclass) GstEglGlesSinkClass * gclass)
{ {
/* Init defaults */ /* Init defaults */
/** Flags */
eglglessink->have_window = FALSE; eglglessink->have_window = FALSE;
eglglessink->have_surface = FALSE; eglglessink->have_surface = FALSE;
eglglessink->have_vbo = FALSE; eglglessink->have_vbo = FALSE;
eglglessink->have_texture = FALSE; eglglessink->have_texture = FALSE;
eglglessink->egl_started = FALSE; eglglessink->egl_started = FALSE;
eglglessink->create_window = TRUE;
eglglessink->force_rendering_slow = FALSE;
eglglessink->force_aspect_ratio = TRUE;
eglglessink->using_own_window = FALSE; eglglessink->using_own_window = FALSE;
eglglessink->eglglesctx = g_new0 (GstEglGlesRenderContext, 1);
/** Props */
eglglessink->create_window = TRUE;
eglglessink->force_aspect_ratio = TRUE;
eglglessink->force_rendering_slow = FALSE;
eglglessink->par_n = 1; eglglessink->par_n = 1;
eglglessink->par_d = 1; eglglessink->par_d = 1;
eglglessink->eglglesctx = g_new0 (GstEglGlesRenderContext, 1);
eglglessink->flow_lock = g_mutex_new (); eglglessink->flow_lock = g_mutex_new ();
} }