|
FFmpeg 8.1
|
A buffer to print data progressively. More...
Files | |
| file | bprint.h |
| AVBPrint public header. | |
Data Structures | |
| struct | AVBPrint |
| Buffer to print data progressively. More... | |
Macros | |
| #define | FF_PAD_STRUCTURE(name, size, ...) |
| Define a structure with extra padding to a fixed size This helps ensuring binary compatibility with future versions. | |
Functions | |
| void | av_bprint_init (AVBPrint *buf, unsigned size_init, unsigned size_max) |
| Init a print buffer. | |
| void | av_bprint_init_for_buffer (AVBPrint *buf, char *buffer, unsigned size) |
| Init a print buffer using a pre-existing buffer. | |
| void | av_bprintf (AVBPrint *buf, const char *fmt,...) av_printf_format(2 |
| Append a formatted string to a print buffer. | |
| void void | av_vbprintf (AVBPrint *buf, const char *fmt, va_list vl_arg) |
| Append a formatted string to a print buffer. | |
| void | av_bprint_chars (AVBPrint *buf, char c, unsigned n) |
| Append char c n times to a print buffer. | |
| void | av_bprint_append_data (AVBPrint *buf, const char *data, unsigned size) |
| Append data to a print buffer. | |
| void | av_bprint_strftime (AVBPrint *buf, const char *fmt, const struct tm *tm) |
| Append a formatted date and time to a print buffer. | |
| void | av_bprint_get_buffer (AVBPrint *buf, unsigned size, unsigned char **mem, unsigned *actual_size) |
| Allocate bytes in the buffer for external use. | |
| void | av_bprint_clear (AVBPrint *buf) |
| Reset the string to "" but keep internal allocated data. | |
| static int | av_bprint_is_complete (const AVBPrint *buf) |
| Test if the print buffer is complete (not truncated). | |
| int | av_bprint_finalize (AVBPrint *buf, char **ret_str) |
| Finalize a print buffer. | |
| void | av_bprint_escape (AVBPrint *dstbuf, const char *src, const char *special_chars, enum AVEscapeMode mode, int flags) |
| Escape the content in src and append it to dstbuf. | |
Max size special values | |
Convenience macros for special values for av_bprint_init() size_max parameter. | |
| #define | AV_BPRINT_SIZE_UNLIMITED ((unsigned)-1) |
| Buffer will be reallocated as necessary, with an amortized linear cost. | |
| #define | AV_BPRINT_SIZE_AUTOMATIC 1 |
| Use the exact size available in the AVBPrint structure itself. | |
| #define | AV_BPRINT_SIZE_COUNT_ONLY 0 |
| Do not write anything to the buffer, only calculate the total length. | |
A buffer to print data progressively.
| #define FF_PAD_STRUCTURE | ( | name, | |
| size, | |||
| ... ) |
Define a structure with extra padding to a fixed size This helps ensuring binary compatibility with future versions.
| #define AV_BPRINT_SIZE_UNLIMITED ((unsigned)-1) |
| #define AV_BPRINT_SIZE_AUTOMATIC 1 |
| #define AV_BPRINT_SIZE_COUNT_ONLY 0 |
Do not write anything to the buffer, only calculate the total length.
The write operations can then possibly be repeated in a buffer with exactly the necessary size (using size_init = size_max = AVBPrint.len + 1).
| void av_bprint_init | ( | AVBPrint * | buf, |
| unsigned | size_init, | ||
| unsigned | size_max ) |
Init a print buffer.
| buf | buffer to init |
| size_init | initial size (including the final 0) |
| size_max | maximum size;
|
| void av_bprint_init_for_buffer | ( | AVBPrint * | buf, |
| char * | buffer, | ||
| unsigned | size ) |
Init a print buffer using a pre-existing buffer.
The buffer will not be reallocated. In case size equals zero, the AVBPrint will be initialized to use the internal buffer as if using AV_BPRINT_SIZE_COUNT_ONLY with av_bprint_init().
| buf | buffer structure to init |
| buffer | byte buffer to use for the string data |
| size | size of buffer |
| void av_bprintf | ( | AVBPrint * | buf, |
| const char * | fmt, | ||
| ... ) |
Append a formatted string to a print buffer.
| void void av_vbprintf | ( | AVBPrint * | buf, |
| const char * | fmt, | ||
| va_list | vl_arg ) |
Append a formatted string to a print buffer.
Referenced by av_vbprintf().
| void av_bprint_chars | ( | AVBPrint * | buf, |
| char | c, | ||
| unsigned | n ) |
Append char c n times to a print buffer.
Referenced by av_bprint_chars().
| void av_bprint_append_data | ( | AVBPrint * | buf, |
| const char * | data, | ||
| unsigned | size ) |
Append data to a print buffer.
| buf | bprint buffer to use |
| data | pointer to data |
| size | size of data |
Referenced by av_bprint_append_data().
| void av_bprint_strftime | ( | AVBPrint * | buf, |
| const char * | fmt, | ||
| const struct tm * | tm ) |
Append a formatted date and time to a print buffer.
| buf | bprint buffer to use |
| fmt | date and time format string, see strftime() |
| tm | broken-down time structure to translate |
Referenced by av_bprint_strftime().
| void av_bprint_get_buffer | ( | AVBPrint * | buf, |
| unsigned | size, | ||
| unsigned char ** | mem, | ||
| unsigned * | actual_size ) |
Allocate bytes in the buffer for external use.
| [in] | buf | buffer structure |
| [in] | size | required size |
| [out] | mem | pointer to the memory area |
| [out] | actual_size | size of the memory area after allocation; can be larger or smaller than size |
Referenced by av_bprint_get_buffer().
| void av_bprint_clear | ( | AVBPrint * | buf | ) |
Reset the string to "" but keep internal allocated data.
Referenced by av_bprint_clear().
|
inlinestatic |
Test if the print buffer is complete (not truncated).
It may have been truncated due to a memory allocation failure or the size_max limit (compare size and size_max if necessary).
Definition at line 218 of file bprint.h.
Referenced by av_bprint_is_complete().
| int av_bprint_finalize | ( | AVBPrint * | buf, |
| char ** | ret_str ) |
Finalize a print buffer.
The print buffer can no longer be used afterwards, but the len and size fields are still valid.
| void av_bprint_escape | ( | AVBPrint * | dstbuf, |
| const char * | src, | ||
| const char * | special_chars, | ||
| enum AVEscapeMode | mode, | ||
| int | flags ) |
Escape the content in src and append it to dstbuf.
| dstbuf | already inited destination bprint buffer |
| src | string containing the text to escape |
| special_chars | string containing the special characters which need to be escaped, can be NULL |
| mode | escape mode to employ, see AV_ESCAPE_MODE_* macros. Any unknown value for mode will be considered equivalent to AV_ESCAPE_MODE_BACKSLASH, but this behaviour can change without notice. |
| flags | flags which control how to escape, see AV_ESCAPE_FLAG_* macros |