Class NVStreamFlush
- java.lang.Object
-
- org.lwjgl.egl.NVStreamFlush
-
public class NVStreamFlush extends java.lang.Object
Native bindings to the NV_stream_flush extension.The
EGL_KHR_stream_cross_process_fd
andEGL_NV_stream_remote
extensions do not guarantee that when the state of theEGLStream
object representing one endpoint of the stream changes, the state of the other endpoint will immediately reflect that change. Depending on the implementation, there may be some latency in the propagation of state changes.This latency will not affect any applications which rely solely on the stream itself for communication. State changes made on one side will eventually be visible on the other side, and can then be responded to.
This only affects applications which use some additional means of communication outside of the stream itself, which may encounter race conditions. In particular, if an application inserts a frame into a stream, then sends a message to the other side indicating that the frame is ready, the other side may encounter an error if it tries to acquire the frame and it is not yet available.
One solution is to force all operations that change state of one endpoint to behave synchronously, and not return until the change is reflected on the other endpoint. However this adds undesirable delays for the majority of applications and operations where such synchronization is not required. This extension instead provides a means for applications to explicitly invoke such synchronization only where required.
Requires the
KHR_stream
extension and either theKHR_stream_cross_process_fd
orNV_stream_remote
extensions.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
eglStreamFlush(long dpy, long stream)
-