FFmpeg  1.2.12
Data Structures | Functions
subtitles.h File Reference
#include <stdint.h>
#include "avformat.h"
#include "libavutil/bprint.h"

Go to the source code of this file.

Data Structures

struct  FFDemuxSubtitlesQueue

Functions

AVPacketff_subtitles_queue_insert (FFDemuxSubtitlesQueue *q, const uint8_t *event, int len, int merge)
 Insert a new subtitle event.
void ff_subtitles_queue_finalize (FFDemuxSubtitlesQueue *q)
 Set missing durations and sort subtitles by PTS, and then byte position.
int ff_subtitles_queue_read_packet (FFDemuxSubtitlesQueue *q, AVPacket *pkt)
 Generic read_packet() callback for subtitles demuxers using this queue system.
int ff_subtitles_queue_seek (FFDemuxSubtitlesQueue *q, AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
 Update current_sub_idx to emulate a seek.
void ff_subtitles_queue_clean (FFDemuxSubtitlesQueue *q)
 Remove and destroy all the subtitles packets.
int ff_smil_extract_next_chunk (AVIOContext *pb, AVBPrint *buf, char *c)
 SMIL helper to load next chunk ("<...>" or untagged content) in buf.
const char * ff_smil_get_attr_ptr (const char *s, const char *attr)
 SMIL helper to point on the value of an attribute in the given tag.
void ff_subtitles_read_chunk (AVIOContext *pb, AVBPrint *buf)
 Read a subtitles chunk.
static av_always_inline int ff_subtitles_next_line (const char *ptr)
 Get the number of characters to increment to jump to the next line, or to the end of the string.

Function Documentation

int ff_smil_extract_next_chunk ( AVIOContext pb,
AVBPrint buf,
char *  c 
)

SMIL helper to load next chunk ("<...>" or untagged content) in buf.

Parameters
ccached character, to avoid a backward seek

Definition at line 156 of file subtitles.c.

Referenced by realtext_read_header(), and sami_read_header().

const char* ff_smil_get_attr_ptr ( const char *  s,
const char *  attr 
)

SMIL helper to point on the value of an attribute in the given tag.

Parameters
sSMIL tag ("<...>")
attrthe attribute to look for

Definition at line 179 of file subtitles.c.

Referenced by realtext_read_header(), and sami_read_header().

static av_always_inline int ff_subtitles_next_line ( const char *  ptr)
static

Get the number of characters to increment to jump to the next line, or to the end of the string.

Definition at line 103 of file subtitles.h.

Referenced by get_pts(), jacosub_probe(), microdvd_probe(), mpl2_probe(), mpsub_probe(), srt_get_duration(), and srt_probe().

void ff_subtitles_queue_clean ( FFDemuxSubtitlesQueue q)
void ff_subtitles_queue_finalize ( FFDemuxSubtitlesQueue q)
AVPacket* ff_subtitles_queue_insert ( FFDemuxSubtitlesQueue q,
const uint8_t event,
int  len,
int  merge 
)

Insert a new subtitle event.

Parameters
eventthe subtitle line, may not be zero terminated
lenthe length of the event (in strlen() sense, so without '\0')
mergeset to 1 if the current event should be concatenated with the previous one instead of adding a new entry, 0 otherwise

Definition at line 25 of file subtitles.c.

Referenced by aqt_read_header(), ass_read_header(), jacosub_read_header(), microdvd_read_header(), mpl2_read_header(), mpsub_read_header(), parse_file(), pjs_read_header(), realtext_read_header(), sami_read_header(), srt_read_header(), subviewer1_read_header(), subviewer_read_header(), vplayer_read_header(), and webvtt_read_header().

int ff_subtitles_queue_read_packet ( FFDemuxSubtitlesQueue q,
AVPacket pkt 
)
int ff_subtitles_queue_seek ( FFDemuxSubtitlesQueue q,
AVFormatContext s,
int  stream_index,
int64_t  min_ts,
int64_t  ts,
int64_t  max_ts,
int  flags 
)

Update current_sub_idx to emulate a seek.

Except the first parameter, it matches AVInputFormat->read_seek2 prototypes.

Definition at line 94 of file subtitles.c.

Referenced by aqt_read_seek(), ass_read_seek(), jacosub_read_seek(), microdvd_read_seek(), mpl2_read_seek(), mpsub_read_seek(), pjs_read_seek(), realtext_read_seek(), sami_read_seek(), srt_read_seek(), subviewer1_read_seek(), subviewer_read_seek(), tedcaptions_read_seek(), vplayer_read_seek(), and webvtt_read_seek().

void ff_subtitles_read_chunk ( AVIOContext pb,
AVBPrint buf 
)

Read a subtitles chunk.

A chunk is defined by a multiline "event", ending with a second line break. The trailing line breaks are trimmed. CRLF are supported. Example: "foo\r\nbar\r\n\r\nnext" will print "foo\r\nbar" into buf, and pb will focus on the 'n' of the "next" string.

Parameters
pbI/O context
bufan initialized buf where the chunk is written
Note
buf is cleared before writing into it.

Definition at line 204 of file subtitles.c.

Referenced by mpsub_read_header(), srt_read_header(), and webvtt_read_header().