libavutil/bprint.c File Reference

#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include "avassert.h"
#include "bprint.h"
#include "common.h"
#include "error.h"
#include "mem.h"

Go to the source code of this file.

Defines

#define av_bprint_room(buf)   ((buf)->size - FFMIN((buf)->len, (buf)->size))
#define av_bprint_is_allocated(buf)   ((buf)->str != (buf)->reserved_internal_buffer)

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_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.
int av_bprint_finalize (AVBPrint *buf, char **ret_str)
 Finalize a print buffer.


Define Documentation

#define av_bprint_is_allocated ( buf   )     ((buf)->str != (buf)->reserved_internal_buffer)

Definition at line 31 of file bprint.c.

Referenced by av_bprint_alloc(), and av_bprint_finalize().

#define av_bprint_room ( buf   )     ((buf)->size - FFMIN((buf)->len, (buf)->size))

Definition at line 30 of file bprint.c.

Referenced by av_bprint_chars(), and av_bprintf().


Function Documentation

static int av_bprint_alloc ( AVBPrint buf,
unsigned  room 
) [static]

Definition at line 33 of file bprint.c.

Referenced by av_bprint_chars(), av_bprint_init(), and av_bprintf().

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

void av_bprint_clear ( AVBPrint buf  ) 

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

Referenced by avfilter_graph_dump(), compact_print_str(), configure_output_audio_filter(), dvdsub_init(), ffprobe_show_program_version(), flat_print_str(), flat_uninit(), ini_print_section_header(), ini_print_str(), jacosub_decode_frame(), jacosub_read_header(), json_print_int(), json_print_item_str(), json_print_section_header(), microdvd_decode_frame(), print_report(), realtext_decode_frame(), realtext_read_header(), sami_close(), sami_read_header(), show_frame(), show_packet(), show_stream(), subviewer_decode_frame(), subviewer_read_header(), webvtt_read_header(), writer_print_data(), and xml_print_str().

static void av_bprint_grow ( AVBPrint buf,
unsigned  extra_len 
) [static]

Definition at line 57 of file bprint.c.

Referenced by av_bprint_chars(), and av_bprintf().

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

Referenced by avfilter_graph_dump(), compact_print_str(), config_output(), configure_input_video_filter(), configure_output_audio_filter(), dvdsub_init(), ffprobe_show_program_version(), flat_init(), flat_print_str(), ini_print_section_header(), ini_print_str(), jacosub_decode_frame(), jacosub_read_header(), json_print_int(), json_print_item_str(), json_print_section_header(), make_command_flags_str(), microdvd_decode_frame(), microdvd_init(), print_report(), realtext_decode_frame(), realtext_read_header(), sami_init(), sami_read_header(), show_frame(), show_packet(), show_stream(), subviewer_decode_frame(), subviewer_read_header(), webvtt_decode_frame(), webvtt_read_header(), writer_print_data(), writer_print_rational(), and xml_print_str().

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.

Parameters:
buf buffer structure to init
buffer byte buffer to use for the string data
size size of buffer

Definition at line 82 of file bprint.c.

Referenced by av_get_channel_layout_string().

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


Generated on Fri Oct 26 02:50:12 2012 for FFmpeg by  doxygen 1.5.8