xine-lib 1.2.11
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

◆ FORMAT_JACOBSUB

#define FORMAT_JACOBSUB   10

◆ FORMAT_MICRODVD

#define FORMAT_MICRODVD   0

◆ FORMAT_MPL2

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

◆ FORMAT_MPSUB

#define FORMAT_MPSUB   8

◆ FORMAT_PJS

#define FORMAT_PJS   7

◆ FORMAT_RT

#define FORMAT_RT   5

◆ FORMAT_SAMI

#define FORMAT_SAMI   3

◆ FORMAT_SSA

#define FORMAT_SSA   6 /* Sub Station Alpha */

◆ FORMAT_SUBRIP

#define FORMAT_SUBRIP   1

◆ FORMAT_SUBRIP09

#define FORMAT_SUBRIP09   12

◆ FORMAT_SUBVIEWER

#define FORMAT_SUBVIEWER   2

◆ FORMAT_SUBVIEWER2

#define FORMAT_SUBVIEWER2   11

◆ FORMAT_UNKNOWN

#define FORMAT_UNKNOWN   -1

◆ FORMAT_VPLAYER

#define FORMAT_VPLAYER   4

◆ 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