Top | ![]() |
![]() |
![]() |
![]() |
gchar * | display | Read / Write |
gpointer | client-data | Write |
gpointer | client-draw-callback | Write |
gpointer | client-reshape-callback | Write |
gboolean | force-aspect-ratio | Read / Write |
GstGLContext * | other-context | Read / Write |
GstFraction | pixel-aspect-ratio | Read / Write |
GstGLContext * | context | Read |
gboolean | handle-events | Read / Write |
gboolean | ignore-alpha | Read / Write |
GstGLStereoDownmix | output-multiview-downmix-mode | Read / Write |
GstVideoMultiviewFlags | output-multiview-flags | Read / Write |
GstVideoMultiviewMode | output-multiview-mode | Read / Write |
GstGLRotateMethod | rotate-method | Read / Write |
name |
sink |
direction |
sink |
presence |
always |
details |
video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, external-oes } |
video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, external-oes } |
struct GstGLImageSink { GstVideoSink video_sink; guintptr window_id; guintptr new_window_id; gulong mouse_sig_id; gulong key_sig_id; /* GstVideoOverlay::set_render_rectangle() cache */ gint x; gint y; gint width; gint height; /* Input info before 3d stereo output conversion, if any */ GstVideoInfo in_info; GstCaps *in_caps; /* format/caps we actually hand off to the app */ GstVideoInfo out_info; GstCaps *out_caps; GstGLTextureTarget texture_target; GstGLDisplay *display; GstGLContext *context; GstGLContext *other_context; gboolean handle_events; gboolean ignore_alpha; GstGLViewConvert *convert_views; /* Original input RGBA buffer, ready for display, * or possible reconversion through the views filter */ GstBuffer *input_buffer; /* Secondary view buffer - when operating in frame-by-frame mode */ GstBuffer *input_buffer2; guint next_tex; GstBuffer *next_buffer; GstBuffer *next_buffer2; /* frame-by-frame 2nd view */ GstBuffer *next_sync; GstGLSyncMeta *next_sync_meta; volatile gint to_quit; gboolean keep_aspect_ratio; gint par_n, par_d; /* avoid replacing the stored_buffer while drawing */ GMutex drawing_lock; GstBuffer *stored_buffer[2]; GstBuffer *stored_sync; GstGLSyncMeta *stored_sync_meta; GLuint redisplay_texture; /* protected with drawing_lock */ gboolean window_resized; guint window_width; guint window_height; GstVideoRectangle display_rect; GstGLShader *redisplay_shader; GLuint vao; GLuint vbo_indices; GLuint vertex_buffer; GLint attr_position; GLint attr_texture; GstVideoMultiviewMode mview_output_mode; GstVideoMultiviewFlags mview_output_flags; gboolean output_mode_changed; GstGLStereoDownmix mview_downmix_mode; GstGLOverlayCompositor *overlay_compositor; /* current video flip method */ GstGLRotateMethod current_rotate_method; GstGLRotateMethod rotate_method; const gfloat *transform_matrix; };
“client-data”
property “client-data” gpointer
Pass data to the draw and reshape callbacks.
Flags: Write
“client-draw-callback”
property “client-draw-callback” gpointer
Define a custom draw callback in a client code.
Flags: Write
“client-reshape-callback”
property “client-reshape-callback” gpointer
Define a custom reshape callback in a client code.
Flags: Write
“force-aspect-ratio”
property “force-aspect-ratio” gboolean
When enabled, scaling will respect original aspect ratio.
Flags: Read / Write
Default value: TRUE
“other-context”
property “other-context” GstGLContext *
Give an external OpenGL context with which to share textures.
Flags: Read / Write
“pixel-aspect-ratio”
property “pixel-aspect-ratio” GstFraction
The pixel aspect ratio of the device.
Flags: Read / Write
“handle-events”
property “handle-events” gboolean
When enabled, XEvents will be selected and handled.
Flags: Read / Write
Default value: TRUE
“ignore-alpha”
property “ignore-alpha” gboolean
When enabled, alpha will be ignored and converted to black.
Flags: Read / Write
Default value: TRUE
“output-multiview-downmix-mode”
property “output-multiview-downmix-mode” GstGLStereoDownmix
Output anaglyph type to generate when downmixing to mono.
Flags: Read / Write
Default value: Dubois optimised Green-Magenta anaglyph
“output-multiview-flags”
property“output-multiview-flags” GstVideoMultiviewFlags
Output multiview layout modifier flags.
Flags: Read / Write
“output-multiview-mode”
property“output-multiview-mode” GstVideoMultiviewMode
Choose output mode for multiview/3D video.
Flags: Read / Write
Default value: GST_VIDEO_MULTIVIEW_MODE_MONO
“client-draw”
signalgboolean user_function (GstGLImageSink *object, GstGLContext *texture, GstSample *width, gpointer user_data)
Will be emitted before actually drawing the texture. The client should
redraw the surface/contents with the texture
, width
and height
and
and return TRUE
.
object |
the GstGLImageSink |
|
texture |
the guint id of the texture. |
|
width |
the guint width of the texture. |
|
height |
the guint height of the texture. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“client-reshape”
signalgboolean user_function (GstGLImageSink *object, GstGLContext *width, guint height, guint Returns, gpointer user_data)
The client should resize the surface/window/viewport with the width
and
height
and return TRUE
.
object |
the GstGLImageSink |
|
width |
the guint width of the texture. |
|
height |
the guint height of the texture. |
|
user_data |
user data set when the signal handler was connected. |
whether the content area was resized by the signal. If not, a default viewport resize will occur.
Flags: Run Last