History

lavu/fifo: Add new AVFifo API based upon the notion of element size

Many AVFifoBuffer users operate on fixed-size elements (e.g. pointers), but the current FIFO API deals exclusively in bytes, requiring extra complexity in all these callers. Add a new AVFifo API creating a FIFO with an element size that may be larger than a byte. All operations on such a FIFO then operate on complete elements. This API does not reuse AVFifoBuffer and its API at all, but instead uses an opaque struct called AVFifo. The AVFifoBuffer API will be deprecated in a future commit once all of its users have been switched to the new API. Not reusing AVFifoBuffer also allowed to use the full range of size_t from the beginning.

Anton Khirnov committed 4 years ago

Commit 7329b221 parent 5939c8d4 files · +415 −1Browse files

Showing the changes to doc/APIchanges (1 of 4 files). Show all

Unified · Split

doc/APIchanges+9−0
@@ -14,6 +14,15 @@ libavutil: 2021-04-27 · 13 unmodified lines
1414
1515 API changes, most recent first:
1616
17+2022-02-07 - xxxxxxxxxx - lavu 57.20.100 - fifo.h
18+ Add a new FIFO API, which allows setting a FIFO element size.
19+ This API operates on these elements rather than on bytes.
20+ Add av_fifo_alloc2(), av_fifo_elem_size(), av_fifo_can_read(),
21+ av_fifo_can_write(), av_fifo_grow2(), av_fifo_drain2(), av_fifo_write(),
22+ av_fifo_write_from_cb(), av_fifo_read(), av_fifo_read_to_cb(),
23+ av_fifo_peek(), av_fifo_peek_to_cb(), av_fifo_drain2(), av_fifo_reset2(),
24+ av_fifo_freep2().
25+
1726 2022-01-26 - af94ab7c7c0 - lavu 57.19.100 - tx.h
1827 Add AV_TX_FLOAT_RDFT, AV_TX_DOUBLE_RDFT and AV_TX_INT32_RDFT.
1928

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t