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
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. and KHR_stream.
| Modifier and Type | Field and Description |
|---|---|
| public static final int |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static long | |
| public static int |
| EGL_NO_FILE_DESCRIPTOR_KHR | back to summary |
|---|---|
| public static final int EGL_NO_FILE_DESCRIPTOR_KHR | |
| KHRStreamCrossProcessFD | back to summary |
|---|---|
| protected KHRStreamCrossProcessFD() | |
| eglCreateStreamFromFileDescriptorKHR | back to summary |
|---|---|
public static long eglCreateStreamFromFileDescriptorKHR(long dpy, int file_descriptor)
| |
| eglGetStreamFileDescriptorKHR | back to summary |
|---|---|
public static int eglGetStreamFileDescriptorKHR(long dpy, long stream)
| |