FFmpeg
Files | Macros | Functions | Variables

Files

file  bprint.h
 

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. More...
 

Functions

void av_bprint_init_for_buffer (AVBPrint *buf, char *buffer, unsigned size)
 Init a print buffer using a pre-existing buffer. More...
 
void av_bprintf (AVBPrint *buf, const char *fmt,...) av_printf_format(2
 Append a formatted string to a print buffer. More...
 
void void av_vbprintf (AVBPrint *buf, const char *fmt, va_list vl_arg)
 Append a formatted string to a print buffer. More...
 
void av_bprint_chars (AVBPrint *buf, char c, unsigned n)
 Append char c n times to a print buffer. More...
 
void av_bprint_append_data (AVBPrint *buf, const char *data, unsigned size)
 Append data to a print buffer. More...
 
void av_bprint_strftime (AVBPrint *buf, const char *fmt, const struct tm *tm)
 Append a formatted date and time to a print buffer. More...
 
void av_bprint_get_buffer (AVBPrint *buf, unsigned size, unsigned char **mem, unsigned *actual_size)
 Allocate bytes in the buffer for external use. More...
 
void av_bprint_clear (AVBPrint *buf)
 Reset the string to "" but keep internal allocated data. More...
 
static int av_bprint_is_complete (const AVBPrint *buf)
 Test if the print buffer is complete (not truncated). More...
 
int av_bprint_finalize (AVBPrint *buf, char **ret_str)
 Finalize a print buffer. More...
 
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. More...
 

Variables

unsigned size_init
 
unsigned unsigned size_max
 

Detailed Description

A buffer to print data progressively

Macro Definition Documentation

◆ FF_PAD_STRUCTURE

#define FF_PAD_STRUCTURE (   name,
  size,
  ... 
)
Value:
struct ff_pad_helper_##name { __VA_ARGS__ }; \
typedef struct name { \
__VA_ARGS__ \
char reserved_padding[size - sizeof(struct ff_pad_helper_##name)]; \
} name;

Define a structure with extra padding to a fixed size This helps ensuring binary compatibility with future versions.

Definition at line 48 of file bprint.h.

Function Documentation

◆ av_bprint_init_for_buffer()

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().

Parameters
bufbuffer structure to init
bufferbyte buffer to use for the string data
sizesize of buffer

Definition at line 85 of file bprint.c.

Referenced by av_channel_description(), av_channel_layout_describe(), av_channel_name(), avcodec_string(), avfilter_graph_dump(), encode_frame(), http_connect(), main(), mov_text_encode_frame(), ttml_encode_frame(), and webvtt_encode_frame().

◆ av_bprintf()

void av_bprintf ( AVBPrint *  buf,
const char *  fmt,
  ... 
)

Append a formatted string to a print buffer.

◆ av_vbprintf()

void void av_vbprintf ( AVBPrint *  buf,
const char *  fmt,
va_list  vl_arg 
)

Append a formatted string to a print buffer.

Definition at line 122 of file bprint.c.

Referenced by av_printf_format(), avio_vprintf(), and format_line().

◆ av_bprint_chars()

void av_bprint_chars ( AVBPrint *  buf,
char  c,
unsigned  n 
)

◆ av_bprint_append_data()

void av_bprint_append_data ( AVBPrint *  buf,
const char *  data,
unsigned  size 
)

◆ av_bprint_strftime()

void av_bprint_strftime ( AVBPrint *  buf,
const char *  fmt,
const struct tm *  tm 
)

Append a formatted date and time to a print buffer.

Parameters
bufbprint buffer to use
fmtdate and time format string, see strftime()
tmbroken-down time structure to translate
Note
due to poor design of the standard strftime function, it may produce poor results if the format string expands to a very long text and the bprint buffer is near the limit stated by the size_max option.

Definition at line 181 of file bprint.c.

Referenced by draw_text(), ff_print_pts(), ff_print_time(), and main().

◆ av_bprint_get_buffer()

void av_bprint_get_buffer ( AVBPrint *  buf,
unsigned  size,
unsigned char **  mem,
unsigned *  actual_size 
)

Allocate bytes in the buffer for external use.

Parameters
[in]bufbuffer structure
[in]sizerequired size
[out]mempointer to the memory area
[out]actual_sizesize of the memory area after allocation; can be larger or smaller than size

Definition at line 223 of file bprint.c.

Referenced by decode_zbuf().

◆ av_bprint_clear()

void av_bprint_clear ( AVBPrint *  buf)

◆ av_bprint_is_complete()

static int av_bprint_is_complete ( const AVBPrint *  buf)
inlinestatic

◆ av_bprint_finalize()

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.

  • [out] ret_str if not NULL, used to return a permanent copy of the buffer contents, or NULL if memory allocation fails; if NULL, the buffer is discarded and freed
    Returns
    0 for success or error code (probably AVERROR(ENOMEM))

Definition at line 240 of file bprint.c.

Referenced by aribcaption_trans_ass_subtitle(), ass_read_header(), av_dict_get_string(), av_escape(), av_log_default_callback(), av_log_format_line2(), av_opt_serialize(), av_strireplace(), avio_vprintf(), bprint_to_avdict(), bprint_to_extradata(), bsf_list_item_name(), close_decoder(), compact_print_str(), concat_parse_script(), configure_audio_filters(), configure_output_audio_filter(), configure_output_video_filter(), create_ass_text(), dashenc_delete_segment_file(), decode_frame_common(), decode_iccp_chunk(), decode_text_chunk(), decode_zbuf(), disp_tree(), dump_curves(), encode_sample_description(), ff_bprint_to_codecpar_extradata(), ff_id3v2_parse_priv_dict(), ff_imf_parse_cpl(), ff_jni_exception_get_summary(), ff_print_debug_info2(), ff_print_time(), ff_vk_shader_free(), ff_vk_shader_print(), ffprobe_show_program_version(), file_read(), flat_print_str(), ftp_status(), gen_sub_ass(), gen_sub_text(), gif_read_header(), hls_delete_old_segments(), icecast_open(), ini_print_str(), init_report(), jacosub_decode_frame(), jacosub_read_header(), json_print_int(), json_print_item_str(), json_print_section_header(), lavfi_read_header(), libaribb24_handle_regions(), lrc_read_header(), main(), microdvd_decode_frame(), mov_read_infe(), mov_read_kind(), mov_text_decode_frame(), mpl2_decode_frame(), mpsub_read_header(), ost_add(), parse_assetmap(), parse_file(), parse_manifest(), parse_psfile(), print_dovi_metadata(), print_film_grain_params(), print_report(), read_header(), realtext_decode_frame(), realtext_read_header(), replace_int_data_in_filename(), replace_str_data_in_filename(), rtmp_close(), rtmp_open(), sami_close(), sami_read_header(), sbg_read_header(), show_frame(), show_packet(), show_stream(), show_stream_group(), show_subtitle(), srt_decode_frame(), srt_read_header(), subviewer_decode_frame(), subviewer_read_header(), text_decode_frame(), tlog_ref(), tonemap_opencl_init(), ttml_text_cb(), ttml_write_header_content(), uninit(), validate_string(), video_refresh(), webvtt_decode_frame(), webvtt_read_header(), write_frame(), writer_close(), writer_print_data(), writer_print_integers(), and xml_print_value().

◆ av_bprint_escape()

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.

Parameters
dstbufalready inited destination bprint buffer
srcstring containing the text to escape
special_charsstring containing the special characters which need to be escaped, can be NULL
modeescape 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.
flagsflags which control how to escape, see AV_ESCAPE_FLAG_* macros

Definition at line 268 of file bprint.c.

Referenced by av_dict_get_string(), av_escape(), av_opt_serialize(), ttml_encode_frame(), ttml_text_cb(), ttml_write_region(), xml_print_section_header(), and xml_print_value().

Variable Documentation

◆ size_init

unsigned size_init

Definition at line 141 of file bprint.h.

Referenced by av_bprint_init().

◆ size_max

unsigned unsigned size_max

Definition at line 141 of file bprint.h.

Referenced by av_bprint_init().

name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
size
int size
Definition: twinvq_data.h:10344