Lines Matching refs:buffer

33      * this method succeeds, any new buffer slots shall be both unallocated and
34 * owned by the buffer queue, i.e., they are not owned by the producer or
35 * the consumer. Calling this may cause some buffer slots to be emptied. If
36 * the caller is caching the contents of the buffer slots, it must empty
40 * dequeued buffer slots; otherwise, the returned @p status shall be
44 * (`NUM_BUFFER_SLOTS` - the minimum undequeued buffer count) (exclusive).
45 * The minimum undequeued buffer count can be obtained by calling
52 * currently dequeued buffer slots.
68 * Assigns a newly created buffer to the given slot index. The client is
69 * expected to mirror the slot-to-buffer mapping so that it is not necessary
72 * If @p slot is not a valid slot index corresponding to a dequeued buffer,
77 * @return buffer New buffer associated to the given slot index.
78 * @return generationNumber Generation number of the buffer. If
81 * match the current generation number of the buffer queue previously
83 * match the current generation number of the buffer queue.
89 HardwareBuffer buffer,
98 * Enabling async mode may internally allocate an additional buffer to allow
117 * Input data for dequeueBuffer() specifying desired attributes of a buffer
153 * The number of frames that have elapsed since the buffer was last
162 * Whether the client must discard the mirrored slot-to-buffer
167 * Fence associated with the buffer.
169 * If this is an empty fence, the buffer may be written immediately;
170 * otherwise, the buffer must not be written to until the fence signals.
176 * Requests a new buffer slot for the client to use. Ownership of the slot
178 * contents of the buffer associated with that slot.
184 * The slot index returned in @p slot may or may not contain a buffer
186 * requestBuffer() to assign a new buffer to that slot.
188 * Once the client is done filling this buffer, it is expected to transfer
189 * buffer ownership back to the server with either cancelBuffer() on
190 * the dequeued slot or to fill in the contents of its associated buffer
194 * the client is expected to release all of the mirrored slot-to-buffer
201 * with the buffer. The contents of the buffer must not be overwritten until
202 * the fence signals. If the fence is an empty fence, the buffer may be
205 * This call shall block until a buffer is available to be dequeued. If
207 * can never block and shall return `WOULD_BLOCK` in @p status if no buffer
237 * Attempts to remove all ownership of the buffer in the given slot from the
238 * buffer queue.
241 * to obtain the buffer from this interface. The freed slot shall remain
243 * buffer in dequeueBuffer() or a buffer is attached to the slot. The buffer
245 * the buffer (i.e., must have called requestBuffer()).
257 * Dequeues a buffer slot, requests the buffer associated to the slot, and
258 * detaches it from the buffer queue. This is equivalent to calling
263 * buffer to return, it shall return an error instead.
265 * Only slots that are free but still contain a buffer shall be considered,
266 * and the oldest of those shall be returned. @p buffer is equivalent to the
267 * buffer that would be returned from requestBuffer(), and @p fence is
271 * @return buffer Buffer just released from the buffer queue.
272 * @return fence Fence associated to @p buffer.
279 HardwareBuffer buffer,
284 * Attempts to transfer ownership of a buffer to the buffer queue.
286 * If this call succeeds, it shall be as if this buffer was dequeued from the
288 * buffer would cause too many buffers to be simultaneously dequeued.
291 * release all of the mirrored slot-to-buffer mappings.
295 * @param buffer Buffer to attach to the buffer queue.
296 * @param generationNumber Generation number of the buffer. If this does not
297 * match the current generation number of the buffer queue, the call
300 * @return slot Slot index assigned to @p buffer.
302 * of the mirrored slot-to-buffer mappings.
307 HardwareBuffer buffer,
348 * Fence that the consumer must wait on before reading the buffer. An
349 * empty fence indicates that the buffer is ready immediately.
359 * Information about the queued buffer. `QueueBufferOutput` is used in both
364 * Default width of a buffer in the buffer queue.
368 * Default height of a buffer in the buffer queue.
372 * The transform hint of the buffer queue.
378 * The number of pending buffers in the buffer queue. If this is
379 * returned from queueBuffer(), the number shall include the buffer that
384 * The frame number of the next frame. The buffer queue maintains this
391 * true if the queued buffer replaced a previously queued buffer that
399 * buffer associated with slot and transfers ownership of that slot back to
400 * the buffer queue.
404 * - The buffer queue is operating in the asynchronous mode, and the
405 * buffer count was smaller than the maximum number of buffers that can
410 * - The crop rectangle is not contained in the buffer.
431 * Indicates that the client does not wish to fill in the buffer associated
433 * buffer is not queued for use by the consumer.
435 * If @p fence is not an empty fence, the buffer shall not be overwritten
440 * @param fence Fence for the canceled buffer.
469 * Attempts to connect the client as a producer of the buffer queue.
472 * If the buffer queue does not have a consumer ready (connected), the
482 * client wants to be notified when the consumer releases a buffer back
483 * to the buffer queue.
487 * the producer and the consumer are controlled by app, the buffer queue
505 * Attempts to disconnect the client from the producer end of the buffer
513 * Disconnecting from an abandoned buffer queue is legal and is considered a
535 * permitted by the current buffer queue configuration. It shall use the
544 * buffer queue can pick the default value.
565 * already have an allocated buffer and those which do not, and shall
566 * allocate a new buffer if the slot doesn't have a buffer or if the slot's
567 * buffer doesn't match the requested size, format, or usage. This method
569 * have an allocated buffer of the correct size, format, and usage. If no
584 * Sets the current generation number of the buffer queue.
587 * buffer queue, and any attempts to attach a buffer with a different
605 * Sets how long dequeueBuffer() shall wait for a buffer to become available
609 * there is not a free slot available into which the attached buffer can be
612 * By default, the buffer queue shall wait forever, which is equivalent to
615 * non-blocking mode and its corresponding spare buffer (which is used to
616 * ensure a buffer is always available).
620 * buffer queue is not feasible, @p status shall be set to `BAD_VALUE`.
637 * Returns a unique id for this buffer queue.
639 * @return id System-wide unique id of the buffer queue.