xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Functions
sputext_demuxer.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <ctype.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
#include "sputext_demuxer.h"

Data Structures

struct  subtitle_t
 
struct  demux_sputext_t
 

Macros

#define LOG_MODULE   "demux_sputext"
 
#define LOG_VERBOSE
 
#define ERR   (void *)-1
 
#define SUB_MAX_TEXT   5
 
#define SUB_BUFSIZE   1024
 
#define LINE_LEN   1000
 
#define LINE_LEN_QUOT   "1000"
 
#define FORMAT_UNKNOWN   -1
 
#define FORMAT_MICRODVD   0
 
#define FORMAT_SUBRIP   1
 
#define FORMAT_SUBVIEWER   2
 
#define FORMAT_SAMI   3
 
#define FORMAT_VPLAYER   4
 
#define FORMAT_RT   5
 
#define FORMAT_SSA   6 /* Sub Station Alpha */
 
#define FORMAT_PJS   7
 
#define FORMAT_MPSUB   8
 
#define FORMAT_AQTITLE   9
 
#define FORMAT_JACOBSUB   10
 
#define FORMAT_SUBVIEWER2   11
 
#define FORMAT_SUBRIP09   12
 
#define FORMAT_MPL2   13 /*Mplayer sub 2 ?*/
 

Functions

static int eol (char p)
 
static void trail_space (char *s)
 
static char * read_line_from_input (demux_sputext_t *this, char *line, off_t len)
 
static subtitle_tsub_read_line_sami (demux_sputext_t *this, subtitle_t *current)
 
static char * sub_readtext (char *source, char **dest)
 
static subtitle_tsub_read_line_microdvd (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_subviewer (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_subrip (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_vplayer (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_rt (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_ssa (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_pjs (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_mpsub (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_aqt (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_jacobsub (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_subviewer2 (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_subrip09 (demux_sputext_t *this, subtitle_t *current)
 
static subtitle_tsub_read_line_mpl2 (demux_sputext_t *this, subtitle_t *current)
 
static int sub_autodetect (demux_sputext_t *this)
 
static int detect_utf8 (subtitle_t *subs, int num_subs)
 
static subtitle_tsub_read_file (demux_sputext_t *this)
 
static int demux_sputext_next (demux_sputext_t *this_gen)
 
static void demux_sputext_dispose (demux_plugin_t *this_gen)
 
static int demux_sputext_get_status (demux_plugin_t *this_gen)
 
static int demux_sputext_get_stream_length (demux_plugin_t *this_gen)
 
static int demux_sputext_send_chunk (demux_plugin_t *this_gen)
 
static int demux_sputext_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
 
static void demux_sputext_send_headers (demux_plugin_t *this_gen)
 
static uint32_t demux_sputext_get_capabilities (demux_plugin_t *this_gen)
 
static int demux_sputext_get_optional_data (demux_plugin_t *this_gen, void *data, int data_type)
 
static demux_plugin_topen_demux_plugin (demux_class_t *class_gen, xine_stream_t *stream, input_plugin_t *input_gen)
 
void * init_sputext_demux_class (xine_t *xine, const void *data)
 

Macro Definition Documentation

◆ ERR

#define ERR   (void *)-1

◆ FORMAT_AQTITLE

#define FORMAT_AQTITLE   9

Referenced by sub_autodetect().

◆ FORMAT_JACOBSUB

#define FORMAT_JACOBSUB   10

Referenced by sub_autodetect().

◆ FORMAT_MICRODVD

#define FORMAT_MICRODVD   0

Referenced by sub_autodetect().

◆ FORMAT_MPL2

#define FORMAT_MPL2   13 /*Mplayer sub 2 ?*/

Referenced by sub_autodetect().

◆ FORMAT_MPSUB

#define FORMAT_MPSUB   8

Referenced by sub_autodetect().

◆ FORMAT_PJS

#define FORMAT_PJS   7

Referenced by sub_autodetect().

◆ FORMAT_RT

#define FORMAT_RT   5

Referenced by sub_autodetect().

◆ FORMAT_SAMI

#define FORMAT_SAMI   3

Referenced by sub_autodetect().

◆ FORMAT_SSA

#define FORMAT_SSA   6 /* Sub Station Alpha */

Referenced by sub_autodetect().

◆ FORMAT_SUBRIP

#define FORMAT_SUBRIP   1

Referenced by sub_autodetect().

◆ FORMAT_SUBRIP09

#define FORMAT_SUBRIP09   12

Referenced by sub_autodetect().

◆ FORMAT_SUBVIEWER

#define FORMAT_SUBVIEWER   2

Referenced by sub_autodetect().

◆ FORMAT_SUBVIEWER2

#define FORMAT_SUBVIEWER2   11

Referenced by sub_autodetect().

◆ FORMAT_UNKNOWN

#define FORMAT_UNKNOWN   -1

Referenced by sub_autodetect(), and sub_read_file().

◆ FORMAT_VPLAYER

#define FORMAT_VPLAYER   4

Referenced by sub_autodetect().

◆ LINE_LEN

#define LINE_LEN   1000

◆ LINE_LEN_QUOT

#define LINE_LEN_QUOT   "1000"

◆ LOG_MODULE

#define LOG_MODULE   "demux_sputext"

◆ LOG_VERBOSE

#define LOG_VERBOSE

◆ SUB_BUFSIZE

#define SUB_BUFSIZE   1024

◆ SUB_MAX_TEXT

#define SUB_MAX_TEXT   5

Function Documentation

◆ demux_sputext_dispose()

static void demux_sputext_dispose ( demux_plugin_t * this_gen)
static

References _x_freep().

Referenced by open_demux_plugin().

◆ demux_sputext_get_capabilities()

static uint32_t demux_sputext_get_capabilities ( demux_plugin_t * this_gen)
static

References DEMUX_CAP_NOCAP.

Referenced by open_demux_plugin().

◆ demux_sputext_get_optional_data()

static int demux_sputext_get_optional_data ( demux_plugin_t * this_gen,
void * data,
int data_type )
static

◆ demux_sputext_get_status()

static int demux_sputext_get_status ( demux_plugin_t * this_gen)
static

Referenced by open_demux_plugin().

◆ demux_sputext_get_stream_length()

static int demux_sputext_get_stream_length ( demux_plugin_t * this_gen)
static

Referenced by open_demux_plugin().

◆ demux_sputext_next()

static int demux_sputext_next ( demux_sputext_t * this_gen)
static

◆ demux_sputext_seek()

static int demux_sputext_seek ( demux_plugin_t * this_gen,
off_t start_pos,
int start_time,
int playing )
static

◆ demux_sputext_send_chunk()

static int demux_sputext_send_chunk ( demux_plugin_t * this_gen)
static

References DEMUX_FINISHED, and demux_sputext_next().

Referenced by open_demux_plugin().

◆ demux_sputext_send_headers()

static void demux_sputext_send_headers ( demux_plugin_t * this_gen)
static

◆ detect_utf8()

static int detect_utf8 ( subtitle_t * subs,
int num_subs )
static

References subtitle_t::lines, and subtitle_t::text.

Referenced by sub_read_file().

◆ eol()

static int eol ( char p)
static

◆ init_sputext_demux_class()

void * init_sputext_demux_class ( xine_t * xine,
const void * data )

◆ open_demux_plugin()

static demux_plugin_t * open_demux_plugin ( demux_class_t * class_gen,
xine_stream_t * stream,
input_plugin_t * input_gen )
static

◆ read_line_from_input()

static char * read_line_from_input ( demux_sputext_t * this,
char * line,
off_t len )
static

◆ sub_autodetect()

static int sub_autodetect ( demux_sputext_t * this)
static

◆ sub_read_file()

static subtitle_t * sub_read_file ( demux_sputext_t * this)
static

◆ sub_read_line_aqt()

static subtitle_t * sub_read_line_aqt ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_jacobsub()

static subtitle_t * sub_read_line_jacobsub ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_microdvd()

static subtitle_t * sub_read_line_microdvd ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_mpl2()

static subtitle_t * sub_read_line_mpl2 ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_mpsub()

static subtitle_t * sub_read_line_mpsub ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_pjs()

static subtitle_t * sub_read_line_pjs ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_rt()

static subtitle_t * sub_read_line_rt ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_sami()

static subtitle_t * sub_read_line_sami ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_ssa()

static subtitle_t * sub_read_line_ssa ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_subrip()

static subtitle_t * sub_read_line_subrip ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_subrip09()

static subtitle_t * sub_read_line_subrip09 ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_subviewer()

static subtitle_t * sub_read_line_subviewer ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_subviewer2()

static subtitle_t * sub_read_line_subviewer2 ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_read_line_vplayer()

static subtitle_t * sub_read_line_vplayer ( demux_sputext_t * this,
subtitle_t * current )
static

◆ sub_readtext()

static char * sub_readtext ( char * source,
char ** dest )
static

◆ trail_space()

static void trail_space ( char * s)
inlinestatic