This function blocks until a sample or an event becomes available or the appsink element is set to the READY/NULL state or the timeout expires.
This function will only return samples when the appsink is in the PLAYING state. All rendered samples and events will be put in a queue so that the application can pull them at its own rate. Events can be pulled when the appsink is in the READY, PAUSED or PLAYING state.
Note that when the application does not pull samples fast enough, the queued samples could consume a lot of memory, especially when dealing with raw video frames. It's possible to control the behaviour of the queue with the "drop" and "max-buffers" properties.
This function will only pull serialized events, excluding the EOS event for which this functions returns null . Use is_eos to check for the EOS condition.
This signal is a variant of try_pull_sample: that can be used to handle incoming events as well as samples.
Note that future releases may extend this API to return other object types so make sure that your code is checking for the actual type it is handling.
timeout |
the maximum amount of time to wait for a sample |
a Sample or a Event or NULL when the appsink is stopped or EOS or the timeout expires. |