libavutil/bprint.h File Reference

#include "attributes.h"

Go to the source code of this file.

Data Structures

struct  AVBPrint
 Buffer to print data progressively. More...

Defines

#define FF_PAD_STRUCTURE(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)
 Convenience macros for special values for size_max.
#define AV_BPRINT_SIZE_AUTOMATIC   1
#define AV_BPRINT_SIZE_COUNT_ONLY   0

Functions

void av_bprint_init (AVBPrint *buf, unsigned size_init, unsigned size_max)
 Init a print buffer.
void av_bprintf (AVBPrint *buf, const char *fmt,...) av_printf_format(2
 Append a formated string to a print buffer.
void void av_bprint_chars (AVBPrint *buf, char c, unsigned n)
 Append char c n times to a print buffer.
void av_bprint_clear (AVBPrint *buf)
 Reset the string to "" but keep internal allocated data.
static int av_bprint_is_complete (AVBPrint *buf)
 Test if the print buffer is complete (not truncated).
int av_bprint_finalize (AVBPrint *buf, char **ret_str)
 Finalize a print buffer.


Define Documentation

#define AV_BPRINT_SIZE_AUTOMATIC   1

Definition at line 99 of file bprint.h.

#define AV_BPRINT_SIZE_COUNT_ONLY   0

Definition at line 100 of file bprint.h.

#define AV_BPRINT_SIZE_UNLIMITED   ((unsigned)-1)

#define FF_PAD_STRUCTURE ( size,
...   ) 

Value:

__VA_ARGS__ \
    char reserved_padding[size - sizeof(struct { __VA_ARGS__ })];
Define a structure with extra padding to a fixed size This helps ensuring binary compatibility with future versions.

Definition at line 30 of file bprint.h.


Function Documentation

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

Append char c n times to a print buffer.

Definition at line 104 of file bprint.c.

Referenced by avfilter_graph_dump_to_buf(), c_escape_str(), csv_escape_str(), json_escape_str(), and xml_escape_str().

void av_bprint_clear ( AVBPrint buf  ) 

Reset the string to "" but keep internal allocated data.

Definition at line 122 of file bprint.c.

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 130 of file bprint.c.

Referenced by avfilter_graph_dump(), compact_print_str(), compact_show_tags(), DEF_CHOOSE_FORMAT(), ffprobe_show_program_version(), jacosub_decode_frame(), jacosub_read_header(), json_print_chapter_header(), json_print_int(), json_print_item_str(), show_frame(), show_packet(), show_stream(), xml_print_str(), and xml_show_tags().

void av_bprint_init ( AVBPrint buf,
unsigned  size_init,
unsigned  size_max 
)

Init a print buffer.

Parameters:
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

Definition at line 65 of file bprint.c.

Referenced by avfilter_graph_dump(), compact_print_str(), compact_show_tags(), DEF_CHOOSE_FORMAT(), ffprobe_show_program_version(), jacosub_decode_frame(), jacosub_read_header(), json_print_chapter_header(), json_print_int(), json_print_item_str(), show_frame(), show_packet(), show_stream(), xml_print_str(), and xml_show_tags().

static int av_bprint_is_complete ( AVBPrint buf  )  [inline, static]

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 123 of file bprint.h.

Referenced by av_bprint_alloc().

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

Append a formated string to a print buffer.


Generated on Fri Oct 26 02:48:03 2012 for FFmpeg by  doxygen 1.5.8