FFmpeg
|
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include "avassert.h"
#include "avstring.h"
#include "bprint.h"
#include "common.h"
#include "compat/va_copy.h"
#include "error.h"
#include "mem.h"
Go to the source code of this file.
Macros | |
#define | av_bprint_room(buf) ((buf)->size - FFMIN((buf)->len, (buf)->size)) |
#define | av_bprint_is_allocated(buf) ((buf)->str != (buf)->reserved_internal_buffer) |
#define | WHITESPACES " \n\t" |
Functions | |
static int | av_bprint_alloc (AVBPrint *buf, unsigned room) |
static void | av_bprint_grow (AVBPrint *buf, unsigned extra_len) |
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,...) |
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. | |
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. | |
Definition at line 33 of file bprint.c.
Referenced by av_bprint_append_data(), av_bprint_chars(), av_bprint_get_buffer(), av_bprint_strftime(), av_bprintf(), and av_vbprintf().
Definition at line 34 of file bprint.c.
Referenced by av_bprint_alloc(), and av_bprint_finalize().
#define WHITESPACES " \n\t" |
Definition at line 263 of file bprint.c.
Referenced by av_bprint_escape().
|
static |
Definition at line 36 of file bprint.c.
Referenced by av_bprint_append_data(), av_bprint_chars(), av_bprint_get_buffer(), av_bprint_init(), av_bprint_strftime(), av_bprintf(), and av_vbprintf().
Definition at line 60 of file bprint.c.
Referenced by av_bprint_append_data(), av_bprint_chars(), av_bprint_strftime(), av_bprintf(), and av_vbprintf().
Init a print buffer.
buf | buffer to init |
size_init | initial size (including the final 0) |
size_max | maximum size; 0 means do not write anything, just count the length; 1 is replaced by the maximum value for automatic storage; any large value means that the internal buffer will be reallocated as needed up to that limit; -1 is converted to UINT_MAX, the largest limit possible. Check also AV_BPRINT_SIZE_* macros. |
Definition at line 69 of file bprint.c.
Referenced by ass_read_header(), av_escape(), avfilter_graph_dump(), compact_print_str(), config_output(), configure_input_audio_filter(), configure_input_video_filter(), configure_output_audio_filter(), decode_zbuf(), dvdsub_init(), ff_ass_add_rect(), ff_tadd_bytes_metadata(), ff_tadd_doubles_metadata(), ff_tadd_long_metadata(), ff_tadd_rational_metadata(), ff_tadd_shorts_metadata(), ffprobe_show_program_version(), flat_print_str(), format_line(), ftp_status(), gen_sub_text(), ini_print_str(), init(), init_report(), jacosub_decode_frame(), jacosub_read_header(), json_print_int(), json_print_item_str(), json_print_section_header(), lavfi_read_packet(), main(), make_command_flags_str(), microdvd_decode_frame(), microdvd_init(), mpsub_read_header(), parse_psfile(), parse_string(), print_report(), query_formats(), realtext_decode_frame(), realtext_read_header(), sami_init(), sami_read_header(), show_frame(), show_packet(), show_stream(), show_subtitle(), srt_encode_init(), srt_read_header(), subviewer_decode_frame(), subviewer_read_header(), validate_string(), webvtt_decode_frame(), webvtt_read_header(), write_frame(), writer_open(), writer_print_data(), writer_print_rational(), and xml_print_str().
Init a print buffer using a pre-existing buffer.
The buffer will not be reallocated.
buf | buffer structure to init |
buffer | byte buffer to use for the string data |
size | size of buffer |
Definition at line 85 of file bprint.c.
Referenced by av_get_channel_layout_string().
Definition at line 94 of file bprint.c.
Referenced by ass_read_header(), audio_frame_cksum(), av_bprint_channel_layout(), av_bprint_escape(), av_bprint_strftime(), avfilter_graph_dump_to_buf(), bprint_bytes(), c_escape_str(), compact_print_section_header(), config_output(), configure_input_audio_filter(), configure_input_video_filter(), configure_output_audio_filter(), default_print_section_header(), draw_text(), dvdsub_init(), expand_filename_template(), ff_ass_bprint_dialog(), ff_ass_bprint_text_event(), ff_subtitles_read_chunk(), ff_tadd_bytes_metadata(), ff_tadd_doubles_metadata(), ff_tadd_long_metadata(), ff_tadd_rational_metadata(), ff_tadd_shorts_metadata(), flat_escape_value_str(), flat_print_section_header(), format_line(), ftp_status(), func_eval_expr(), func_frame_num(), func_metadata(), func_pict_type(), func_pts(), gen_sub_text(), ini_escape_str(), ini_print_section_header(), insert_datetime(), insert_text(), insert_ts(), jacosub_read_header(), jacosub_to_ass(), json_escape_str(), lavfi_read_packet(), make_command_flags_str(), microdvd_close_no_persistent_tags(), microdvd_decode_frame(), microdvd_init(), microdvd_open_tags(), mpl2_event_to_ass(), parse_psfile(), print_link_prop(), print_report(), query_formats(), rt_event_to_ass(), sami_paragraph_to_ass(), sami_read_header(), subviewer_event_to_ass(), subviewer_read_header(), text_to_ass(), validate_string(), video_frame_cksum(), webvtt_event_to_ass(), write_frame(), writer_print_data(), writer_print_rational(), and xml_escape_str().
Append a formatted string to a print buffer.
Definition at line 117 of file bprint.c.
Referenced by format_line(), and srt_print().
Append char c n times to a print buffer.
Definition at line 140 of file bprint.c.
Referenced by av_bprint_escape(), av_bprint_utf8(), avfilter_graph_dump_to_buf(), c_escape_str(), csv_escape_str(), expand_filename_template(), expand_text(), ff_ass_bprint_text_event(), ff_smil_extract_next_chunk(), ff_subtitles_read_chunk(), flat_escape_key_str(), flat_escape_value_str(), get_line(), ini_escape_str(), json_escape_str(), lavfi_read_packet(), main(), make_command_flags_str(), microdvd_decode_frame(), mpl2_event_to_ass(), parse_string(), rt_event_to_ass(), sami_paragraph_to_ass(), subviewer_event_to_ass(), text_to_ass(), webvtt_event_to_ass(), write_frame(), writer_print_data(), and xml_escape_str().
Append data to a print buffer.
param buf bprint buffer to use param data pointer to data param size size of data
Definition at line 158 of file bprint.c.
Referenced by gen_sub_text(), srt_text_cb(), and validate_string().
Append a formatted date and time to a print buffer.
param buf bprint buffer to use param fmt date and time format string, see strftime() param tm broken-down time structure to translate
Definition at line 176 of file bprint.c.
Referenced by draw_text(), and func_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 |
Definition at line 218 of file bprint.c.
Referenced by decode_zbuf(), and srt_move_cb().
Reset the string to "" but keep internal allocated data.
Definition at line 227 of file bprint.c.
Referenced by compact_print_section_header(), default_print_section_header(), draw_text(), expand_text(), ff_subtitles_read_chunk(), flat_print_section_header(), flat_print_str(), get_line(), ini_print_section_header(), ini_print_str(), json_print_item_str(), microdvd_init(), parse_psfile(), realtext_read_header(), sami_paragraph_to_ass(), sami_read_header(), show_frame(), show_stream(), srt_encode_frame(), and xml_print_str().
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.
Definition at line 235 of file bprint.c.
Referenced by ass_read_header(), av_escape(), av_log_default_callback(), av_log_format_line(), avfilter_graph_dump(), avpriv_bprint_to_extradata(), compact_print_str(), configure_output_audio_filter(), decode_text_chunk(), decode_zbuf(), ff_ass_add_rect(), ff_tadd_bytes_metadata(), ff_tadd_doubles_metadata(), ff_tadd_long_metadata(), ff_tadd_rational_metadata(), ff_tadd_shorts_metadata(), ffprobe_show_program_version(), flat_print_str(), ftp_status(), gen_sub_text(), ini_print_str(), init_report(), jacosub_decode_frame(), json_print_int(), json_print_item_str(), json_print_section_header(), lavfi_read_packet(), main(), microdvd_decode_frame(), mpsub_read_header(), parse_file(), parse_psfile(), parse_string(), print_report(), realtext_decode_frame(), realtext_read_header(), sami_close(), sami_read_header(), show_frame(), show_packet(), show_stream(), show_subtitle(), srt_encode_close(), srt_read_header(), subviewer_decode_frame(), subviewer_read_header(), uninit(), validate_string(), webvtt_read_header(), write_frame(), writer_close(), writer_print_data(), and xml_print_str().
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 |
Definition at line 265 of file bprint.c.
Referenced by av_escape().