subtitles.h File Reference
#include <stdint.h>
#include "avformat.h"
#include "libavutil/bprint.h"
Include dependency graph for subtitles.h:
This graph shows which files directly or indirectly include this file:

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. More...
 
void ff_subtitles_queue_finalize (FFDemuxSubtitlesQueue *q)
 Set missing durations and sort subtitles by PTS, and then byte position. More...
 
int ff_subtitles_queue_read_packet (FFDemuxSubtitlesQueue *q, AVPacket *pkt)
 Generic read_packet() callback for subtitles demuxers using this queue system. More...
 
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. More...
 
void ff_subtitles_queue_clean (FFDemuxSubtitlesQueue *q)
 Remove and destroy all the subtitles packets. More...
 
int ff_smil_extract_next_chunk (AVIOContext *pb, AVBPrint *buf, char *c)
 SMIL helper to load next chunk ("<...>" or untagged content) in buf. More...
 
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. More...
 
void ff_subtitles_read_chunk (AVIOContext *pb, AVBPrint *buf)
 Read a subtitles chunk. More...
 

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 144 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 167 of file subtitles.c.

Referenced by realtext_read_header(), and sami_read_header().

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 26 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_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 95 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 192 of file subtitles.c.

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