xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Functions | Variables
demux_fli.c File Reference
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
#include <xine/demux.h>
#include "bswap.h"

Data Structures

struct  demux_fli_t
 

Macros

#define FLI_HEADER_SIZE   128
 
#define FLI_HEADER_SIZE_MC   12 /* header size for Magic Carpet game FLIs */
 
#define FLI_FILE_MAGIC_1   0xAF11
 
#define FLI_FILE_MAGIC_2   0xAF12
 
#define FLI_FILE_MAGIC_3   0xAF13 /* for internal use only */
 
#define FLI_CHUNK_MAGIC_1   0xF1FA
 
#define FLI_CHUNK_MAGIC_2   0xF5FA
 
#define FLI_MC_PTS_INC   6000 /* pts increment for Magic Carpet game FLIs */
 

Functions

static int open_fli_file (demux_fli_t *this)
 
static int demux_fli_send_chunk (demux_plugin_t *this_gen)
 
static void demux_fli_send_headers (demux_plugin_t *this_gen)
 
static int demux_fli_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
 
static int demux_fli_get_status (demux_plugin_t *this_gen)
 
static int demux_fli_get_stream_length (demux_plugin_t *this_gen)
 
static uint32_t demux_fli_get_capabilities (demux_plugin_t *this_gen)
 
static int demux_fli_get_optional_data (demux_plugin_t *this_gen, void *data, int data_type)
 
static demux_plugin_topen_plugin (demux_class_t *class_gen, xine_stream_t *stream, input_plugin_t *input)
 
static void * init_plugin (xine_t *xine, const void *data)
 

Variables

static const demuxer_info_t demux_info_fli
 
const plugin_info_t xine_plugin_info[] EXPORTED
 

Macro Definition Documentation

◆ FLI_CHUNK_MAGIC_1

#define FLI_CHUNK_MAGIC_1   0xF1FA

◆ FLI_CHUNK_MAGIC_2

#define FLI_CHUNK_MAGIC_2   0xF5FA

Referenced by demux_fli_send_chunk().

◆ FLI_FILE_MAGIC_1

#define FLI_FILE_MAGIC_1   0xAF11

Referenced by open_fli_file().

◆ FLI_FILE_MAGIC_2

#define FLI_FILE_MAGIC_2   0xAF12

Referenced by open_fli_file().

◆ FLI_FILE_MAGIC_3

#define FLI_FILE_MAGIC_3   0xAF13 /* for internal use only */

Referenced by open_fli_file().

◆ FLI_HEADER_SIZE

#define FLI_HEADER_SIZE   128

Referenced by open_fli_file().

◆ FLI_HEADER_SIZE_MC

#define FLI_HEADER_SIZE_MC   12 /* header size for Magic Carpet game FLIs */

Referenced by open_fli_file().

◆ FLI_MC_PTS_INC

#define FLI_MC_PTS_INC   6000 /* pts increment for Magic Carpet game FLIs */

Referenced by open_fli_file().

Function Documentation

◆ demux_fli_get_capabilities()

static uint32_t demux_fli_get_capabilities ( demux_plugin_t * this_gen)
static

References DEMUX_CAP_NOCAP.

Referenced by open_plugin().

◆ demux_fli_get_optional_data()

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

References DEMUX_OPTIONAL_UNSUPPORTED.

Referenced by open_plugin().

◆ demux_fli_get_status()

static int demux_fli_get_status ( demux_plugin_t * this_gen)
static

Referenced by open_plugin().

◆ demux_fli_get_stream_length()

static int demux_fli_get_stream_length ( demux_plugin_t * this_gen)
static

Referenced by open_plugin().

◆ demux_fli_seek()

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

References _x_demux_control_newpts(), DEMUX_OK, and input().

Referenced by open_plugin().

◆ demux_fli_send_chunk()

static int demux_fli_send_chunk ( demux_plugin_t * this_gen)
static

◆ demux_fli_send_headers()

static void demux_fli_send_headers ( demux_plugin_t * this_gen)
static

◆ init_plugin()

static void * init_plugin ( xine_t * xine,
const void * data )
static

◆ open_fli_file()

static int open_fli_file ( demux_fli_t * this)
static

◆ open_plugin()

static demux_plugin_t * open_plugin ( demux_class_t * class_gen,
xine_stream_t * stream,
input_plugin_t * input )
static

Variable Documentation

◆ demux_info_fli

const demuxer_info_t demux_info_fli
static
Initial value:
= {
.priority = 10,
}

◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED
Initial value:
= {
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
static void * init_plugin(xine_t *xine, const void *data)
Definition demux_fli.c:348
static const demuxer_info_t demux_info_fli
Definition demux_fli.c:368
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
Definition xine_plugin.c:78
#define PLUGIN_DEMUX
Definition xine_plugin.h:31
#define PLUGIN_NONE
Definition xine_plugin.h:29