Blame docs/plugins/html/gst-plugins-base-plugins-glimagesink.html

Packit 971217
Packit 971217
<html>
Packit 971217
<head>
Packit 971217
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit 971217
<title>glimagesink: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
Packit 971217
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
Packit 971217
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
Packit 971217
<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
Packit 971217
<link rel="prev" href="gst-plugins-base-plugins-glimagesinkelement.html" title="glimagesinkelement">
Packit 971217
<link rel="next" href="gst-plugins-base-plugins-gloverlay.html" title="gloverlay">
Packit 971217
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
Packit 971217
<link rel="stylesheet" href="style.css" type="text/css">
Packit 971217
</head>
Packit 971217
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit 971217
Packit 971217
Packit 971217
Top  | 
Packit 971217
                  Description
Packit 971217
Packit 971217
Home
Packit 971217
Up
Packit 971217
Prev
Packit 971217
Next
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

glimagesink

Packit 971217

glimagesink

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Description

Packit 971217

glimagesink renders video frames to a drawable on a local or remote

Packit 971217
display using OpenGL. This element can receive a Window ID from the
Packit 971217
application through the VideoOverlay interface and will then render video
Packit 971217
frames in this drawable.
Packit 971217
If no Window ID was provided by the application, the element will
Packit 971217
create its own internal window and render into it.

Packit 971217

See the GstGLDisplay documentation for a list of environment variables that

Packit 971217
can override window/platform detection.

Packit 971217
Packit 971217

Scaling

Packit 971217

Depends on the driver, OpenGL handles hardware accelerated

Packit 971217
scaling of video frames. This means that the element will just accept
Packit 971217
incoming video frames no matter their geometry and will then put them to the
Packit 971217
drawable scaling them on the fly. Using the “force-aspect-ratio”
Packit 971217
property it is possible to enforce scaling with a constant aspect ratio,
Packit 971217
which means drawing black borders around the video frame.

Packit 971217
Packit 971217
Packit 971217

Events

Packit 971217

Through the gl thread, glimagesink handle some events coming from the drawable

Packit 971217
to manage its appearance even when the data is not flowing (GST_STATE_PAUSED).
Packit 971217
That means that even when the element is paused, it will receive expose events
Packit 971217
from the drawable and draw the latest frame with correct borders/aspect-ratio.

Packit 971217
Packit 971217
Packit 971217

Examples

Packit 971217
Packit 971217
  
Packit 971217
    
Packit 971217
      
Packit 971217
        
1
Packit 971217
        
gst-launch-1.0 -v videotestsrc ! video/x-raw ! glimagesink
Packit 971217
      
Packit 971217
    
Packit 971217
  
Packit 971217
Packit 971217
Packit 971217

A pipeline to test hardware scaling.

Packit 971217
No special opengl extension is used in this pipeline, that's why it should work
Packit 971217
with OpenGL >= 1.1. That's the case if you are using the MESA3D driver v1.3.

Packit 971217
Packit 971217
  
Packit 971217
    
Packit 971217
      
Packit 971217
        
1
Packit 971217
        
gst-launch-1.0 -v videotestsrc ! video/x-raw,format=I420 ! glimagesink
Packit 971217
      
Packit 971217
    
Packit 971217
  
Packit 971217
Packit 971217
Packit 971217

A pipeline to test hardware scaling and hardware colorspace conversion.

Packit 971217
When your driver supports GLSL (OpenGL Shading Language needs OpenGL >= 2.1),
Packit 971217
the 4 following format YUY2, UYVY, I420, YV12 and AYUV are converted to RGB32
Packit 971217
through some fragment shaders and using one framebuffer (FBO extension OpenGL >= 1.4).
Packit 971217
If your driver does not support GLSL but supports MESA_YCbCr extension then
Packit 971217
the you can use YUY2 and UYVY. In this case the colorspace conversion is automatically
Packit 971217
made when loading the texture and therefore no framebuffer is used.

Packit 971217
Packit 971217
  
Packit 971217
    
Packit 971217
      
Packit 971217
        
1
Packit 971217
        
gst-launch-1.0 -v gltestsrc ! glimagesink
Packit 971217
      
Packit 971217
    
Packit 971217
  
Packit 971217
Packit 971217
Packit 971217

A pipeline 100% OpenGL.

Packit 971217
No special opengl extension is used in this pipeline, that's why it should work
Packit 971217
with OpenGL >= 1.1. That's the case if you are using the MESA3D driver v1.3.

Packit 971217
Packit 971217
  
Packit 971217
    
Packit 971217
      
Packit 971217
        
1
Packit 971217
        
gst-plugins-bas/tests/examples/gl/generic/cube
Packit 971217
      
Packit 971217
    
Packit 971217
  
Packit 971217
Packit 971217
Packit 971217

The graphic FPS scene can be greater than the input video FPS.

Packit 971217
The graphic scene can be written from a client code through the
Packit 971217
two glfilterapp properties.

Packit 971217
Packit 971217
Packit 971217

Synopsis

Packit 971217
Packit 971217

Element Information

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

plugin

Packit 971217
Packit 971217
            opengl
Packit 971217
          
Packit 971217
Packit 971217
Packit 971217

author

Packit 971217
Matthew Waters <matthew@centricular.com>
Packit 971217
Packit 971217
Packit 971217

class

Packit 971217
Sink/Video
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Packit 971217
Packit 971217

Element Pads

Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

name

Packit 971217
sink
Packit 971217
Packit 971217
Packit 971217

direction

Packit 971217
sink
Packit 971217
Packit 971217
Packit 971217

presence

Packit 971217
always
Packit 971217
Packit 971217
Packit 971217

details

Packit 971217
video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
Packit 971217
Packit 971217
Packit 971217

Packit 971217
 video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
Packit 971217
Packit 971217
Packit 971217

Packit 971217
 video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
Packit 971217
Packit 971217
Packit 971217

Packit 971217
 video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
Packit 971217
Packit 971217
Packit 971217

Packit 971217
 video/x-raw(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
Packit 971217
Packit 971217
Packit 971217

Packit 971217
 video/x-raw(memory:DMABuf), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
Packit 971217
Packit 971217
Packit 971217

Packit 971217
 video/x-raw, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
Packit 971217
Packit 971217
Packit 971217

Packit 971217
 video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217
Packit 971217

Functions

Packit 971217

Packit 971217
Packit 971217
Packit 971217

Types and Values

Packit 971217
Packit 971217
Packit 971217
Packit 971217

Generated by GTK-Doc V1.27
Packit 971217
</body>
Packit 971217
</html>