xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Functions | Variables
demux_nsv.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"
#include <xine/buffer.h>

Data Structures

struct  demux_nsv_t
 

Macros

#define LOG_MODULE   "demux_nsv"
 
#define LOG_VERBOSE
 
#define FOURCC_TAG   BE_FOURCC
 
#define NSVf_TAG   FOURCC_TAG('N', 'S', 'V', 'f')
 
#define NSVs_TAG   FOURCC_TAG('N', 'S', 'V', 's')
 
#define BEEF   0xEFBE
 
#define NSV_MAX_RESYNC   (1024 * 1024)
 
#define NSV_RESYNC_ERROR   0
 
#define NSV_RESYNC_BEEF   1
 
#define NSV_RESYNC_NSVf   2
 
#define NSV_RESYNC_NSVs   3
 

Functions

static void nsv_parse_framerate (demux_nsv_t *this, uint8_t framerate)
 
static off_t nsv_read (demux_nsv_t *this, uint8_t *buffer, off_t len)
 
static off_t nsv_seek (demux_nsv_t *this, off_t offset, int origin)
 
static int nsv_resync (demux_nsv_t *this)
 
static int open_nsv_file (demux_nsv_t *this)
 
static int nsv_parse_payload (demux_nsv_t *this, int video_size, int audio_size)
 
static int demux_nsv_send_chunk (demux_plugin_t *this_gen)
 
static void demux_nsv_send_headers (demux_plugin_t *this_gen)
 
static int demux_nsv_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
 
static int demux_nsv_get_status (demux_plugin_t *this_gen)
 
static int demux_nsv_get_stream_length (demux_plugin_t *this_gen)
 
static uint32_t demux_nsv_get_capabilities (demux_plugin_t *this_gen)
 
static int demux_nsv_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 * demux_nsv_init_plugin (xine_t *xine, const void *data)
 

Variables

static const demuxer_info_t demux_info_nsv
 
const plugin_info_t xine_plugin_info[] EXPORTED
 

Macro Definition Documentation

◆ BEEF

#define BEEF   0xEFBE

Referenced by nsv_resync().

◆ FOURCC_TAG

#define FOURCC_TAG   BE_FOURCC

◆ LOG_MODULE

#define LOG_MODULE   "demux_nsv"

Referenced by open_nsv_file().

◆ LOG_VERBOSE

#define LOG_VERBOSE

◆ NSV_MAX_RESYNC

#define NSV_MAX_RESYNC   (1024 * 1024)

Referenced by nsv_resync().

◆ NSV_RESYNC_BEEF

#define NSV_RESYNC_BEEF   1

Referenced by demux_nsv_send_chunk(), and nsv_resync().

◆ NSV_RESYNC_ERROR

#define NSV_RESYNC_ERROR   0

◆ NSV_RESYNC_NSVf

#define NSV_RESYNC_NSVf   2

◆ NSV_RESYNC_NSVs

#define NSV_RESYNC_NSVs   3

◆ NSVf_TAG

#define NSVf_TAG   FOURCC_TAG('N', 'S', 'V', 'f')

Referenced by nsv_resync().

◆ NSVs_TAG

#define NSVs_TAG   FOURCC_TAG('N', 'S', 'V', 's')

Referenced by nsv_resync().

Function Documentation

◆ demux_nsv_get_capabilities()

static uint32_t demux_nsv_get_capabilities ( demux_plugin_t * this_gen)
static

References DEMUX_CAP_NOCAP.

Referenced by open_plugin().

◆ demux_nsv_get_optional_data()

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

References DEMUX_OPTIONAL_UNSUPPORTED.

Referenced by open_plugin().

◆ demux_nsv_get_status()

static int demux_nsv_get_status ( demux_plugin_t * this_gen)
static

Referenced by open_plugin().

◆ demux_nsv_get_stream_length()

static int demux_nsv_get_stream_length ( demux_plugin_t * this_gen)
static

Referenced by open_plugin().

◆ demux_nsv_init_plugin()

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

◆ demux_nsv_seek()

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

References _x_demux_control_newpts(), DEMUX_OK, and lprintf.

Referenced by open_plugin().

◆ demux_nsv_send_chunk()

static int demux_nsv_send_chunk ( demux_plugin_t * this_gen)
static

◆ demux_nsv_send_headers()

static void demux_nsv_send_headers ( demux_plugin_t * this_gen)
static

◆ nsv_parse_framerate()

static void nsv_parse_framerate ( demux_nsv_t * this,
uint8_t framerate )
static

References lprintf.

Referenced by demux_nsv_send_chunk(), and open_nsv_file().

◆ nsv_parse_payload()

static int nsv_parse_payload ( demux_nsv_t * this,
int video_size,
int audio_size )
static

◆ nsv_read()

static off_t nsv_read ( demux_nsv_t * this,
uint8_t * buffer,
off_t len )
static

◆ nsv_resync()

static int nsv_resync ( demux_nsv_t * this)
static

◆ nsv_seek()

static off_t nsv_seek ( demux_nsv_t * this,
off_t offset,
int origin )
static

References input(), and nsv_read().

Referenced by open_nsv_file().

◆ open_nsv_file()

static int open_nsv_file ( demux_nsv_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_nsv

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

◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED
Initial value:
= {
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
static const demuxer_info_t demux_info_nsv
Definition demux_nsv.c:654
static void * demux_nsv_init_plugin(xine_t *xine, const void *data)
Definition demux_nsv.c:634
#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