FFmpeg
Data Structures | Functions
ass_split.h File Reference

Go to the source code of this file.

Data Structures

struct  ASSScriptInfo
 fields extracted from the [Script Info] section More...
 
struct  ASSStyle
 fields extracted from the [V4(+) Styles] section More...
 
struct  ASSDialog
 fields extracted from the [Events] section More...
 
struct  ASS
 structure containing the whole split ASS data More...
 
struct  ASSCodesCallbacks
 Set of callback functions corresponding to each override codes that can be encountered in a "Dialogue" Text field. More...
 

Functions

ASSSplitContextff_ass_split (const char *buf)
 Split a full ASS file or a ASS header from a string buffer and store the split structure in a newly allocated context. More...
 
ASSDialogff_ass_split_dialog (ASSSplitContext *ctx, const char *buf, int cache, int *number)
 Split one or several ASS "Dialogue" lines from a string buffer and store them in an already initialized context. More...
 
void ff_ass_free_dialog (ASSDialog **dialogp)
 Free a dialogue obtained from ff_ass_split_dialog2(). More...
 
ASSDialogff_ass_split_dialog2 (ASSSplitContext *ctx, const char *buf)
 Split one ASS Dialogue line from a string buffer. More...
 
void ff_ass_split_free (ASSSplitContext *ctx)
 Free all the memory allocated for an ASSSplitContext. More...
 
int ff_ass_split_override_codes (const ASSCodesCallbacks *callbacks, void *priv, const char *buf)
 Split override codes out of a ASS "Dialogue" Text field. More...
 
ASSStyleff_ass_style_get (ASSSplitContext *ctx, const char *style)
 Find an ASSStyle structure by its name. More...
 

Function Documentation

◆ ff_ass_split()

ASSSplitContext* ff_ass_split ( const char *  buf)

Split a full ASS file or a ASS header from a string buffer and store the split structure in a newly allocated context.

Parameters
bufString containing the ASS formatted data.
Returns
Newly allocated struct containing split data.

Definition at line 374 of file ass_split.c.

Referenced by mov_text_encode_init(), srt_encode_init(), and webvtt_encode_init().

◆ ff_ass_split_dialog()

ASSDialog* ff_ass_split_dialog ( ASSSplitContext ctx,
const char *  buf,
int  cache,
int number 
)

Split one or several ASS "Dialogue" lines from a string buffer and store them in an already initialized context.

Parameters
ctxContext previously initialized by ff_ass_split().
bufString containing the ASS "Dialogue" lines.
cacheSet to 1 to keep all the previously split ASSDialog in the context, or set to 0 to free all the previously split ASSDialog.
numberIf not NULL, the pointed integer will be set to the number of split ASSDialog.
Returns
Pointer to the first split ASSDialog.

Definition at line 411 of file ass_split.c.

Referenced by encode_frame(), mov_text_encode_frame(), and webvtt_encode_frame().

◆ ff_ass_free_dialog()

void ff_ass_free_dialog ( ASSDialog **  dialogp)

Free a dialogue obtained from ff_ass_split_dialog2().

Definition at line 430 of file ass_split.c.

Referenced by encode_frame(), ff_ass_split_dialog2(), mov_text_encode_frame(), and webvtt_encode_frame().

◆ ff_ass_split_dialog2()

ASSDialog* ff_ass_split_dialog2 ( ASSSplitContext ctx,
const char *  buf 
)

Split one ASS Dialogue line from a string buffer.

Parameters
ctxContext previously initialized by ff_ass_split().
bufString containing the ASS "Dialogue" line.
Returns
Pointer to the split ASSDialog. Must be freed with ff_ass_free_dialog()

Definition at line 442 of file ass_split.c.

Referenced by encode_frame(), mov_text_encode_frame(), and webvtt_encode_frame().

◆ ff_ass_split_free()

void ff_ass_split_free ( ASSSplitContext ctx)

Free all the memory allocated for an ASSSplitContext.

Parameters
ctxContext previously initialized by ff_ass_split().

Definition at line 479 of file ass_split.c.

Referenced by ff_ass_split(), mov_text_encode_close(), srt_encode_close(), and webvtt_encode_close().

◆ ff_ass_split_override_codes()

int ff_ass_split_override_codes ( const ASSCodesCallbacks callbacks,
void *  priv,
const char *  buf 
)

Split override codes out of a ASS "Dialogue" Text field.

Parameters
callbacksSet of callback functions called for each override code encountered.
privOpaque pointer passed to the callback functions.
bufThe ASS "Dialogue" Text field to split.
Returns
>= 0 on success otherwise an error code <0

Definition at line 492 of file ass_split.c.

Referenced by encode_frame(), mov_text_encode_frame(), and webvtt_encode_frame().

◆ ff_ass_style_get()

ASSStyle* ff_ass_style_get ( ASSSplitContext ctx,
const char *  style 
)

Find an ASSStyle structure by its name.

Parameters
ctxContext previously initialized by ff_ass_split().
stylename of the style to search for.
Returns
the ASSStyle corresponding to style, or NULL if style can't be found

Definition at line 587 of file ass_split.c.

Referenced by srt_style_apply(), and webvtt_style_apply().