Class KHRStreamCrossProcessFD
This extension allows an EGLStreamKHR object handle to be duplicated into another process so that the EGLStream producer can be in one process while the EGLStream consumer can be in another process.
Duplicating the EGLStreamKHR object handle into another process is peformed in 3 steps
- Get a file descriptor associated with the EGLStream.
- Duplicate the file descriptor into another process.
- Create an EGLStreamKHR from the duplicated file descriptor in the other process.
The file descriptor is obtained by calling eglGetStreamFileDescriptorKHR().
Duplicating the file descriptor into another process is outside the scope of this extension. See issue \#1 for an example of how to do this on a Linux system.
The EGLStreamKHR object handle is created in the second process by passing the file descriptor to the eglCreateStreamFromFileDescriptorKHR() function. This must be done while the EGLStream is in the EGL_STREAM_STATE_CREATED_KHR state.
Once the EGLStreamKHR object handle is created in the second process, it refers to the same EGLStream as the EGLStreamKHR object handle in the original process. A consumer can be associated with the EGLStream from either process. A producer can be associated with the EGLStream from either process.
Requires EGL 1.2
and KHR_stream
.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic long
eglCreateStreamFromFileDescriptorKHR
(long dpy, int file_descriptor) static int
eglGetStreamFileDescriptorKHR
(long dpy, long stream)
-
Field Details
-
EGL_NO_FILE_DESCRIPTOR_KHR
public static final int EGL_NO_FILE_DESCRIPTOR_KHR- See Also:
-
-
Method Details
-
eglGetStreamFileDescriptorKHR
public static int eglGetStreamFileDescriptorKHR(long dpy, long stream) -
eglCreateStreamFromFileDescriptorKHR
public static long eglCreateStreamFromFileDescriptorKHR(long dpy, int file_descriptor)
-