xine-lib: xine-lib-1.2.12/src/combined/nsf_demuxer.c File Reference

xine-lib 1.2.12

Data Structures | Macros | Functions
nsf_demuxer.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 "nsf_combined.h"`

## Data Structures
struct | demux_nsf_t

## Macros
#define | LOG_MODULE "demux_nsf"
#define | NSF_HEADER_SIZE 0x80
#define | NSF_SAMPLERATE 44100
#define | NSF_BITS 8
#define | NSF_CHANNELS 1
#define | NSF_REFRESH_RATE 60
#define | NSF_PTS_INC (90000 / NSF_REFRESH_RATE)

## Functions
static void | parse_nsf_header (demux_nsf_t *this, const uint8_t *header)
static int | demux_nsf_send_chunk (demux_plugin_t *this_gen)
static void | demux_nsf_send_headers (demux_plugin_t *this_gen)
static int | demux_nsf_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
static void | demux_nsf_dispose (demux_plugin_t *this_gen)
static int | demux_nsf_get_status (demux_plugin_t *this_gen)
static int | demux_nsf_get_stream_length (demux_plugin_t *this_gen)
static uint32_t | demux_nsf_get_capabilities (demux_plugin_t *this_gen)
static int | demux_nsf_get_optional_data (demux_plugin_t *this_gen, void *data, int data_type)
static demux_plugin_t * | open_plugin (demux_class_t *class_gen, xine_stream_t *stream, input_plugin_t *input)
void * | demux_nsf_init_plugin (xine_t *xine, const void *data)

## Macro Definition Documentation

## ◆ LOG_MODULE

#define LOG_MODULE "demux_nsf"

## ◆ NSF_BITS

#define NSF_BITS 8

## ◆ NSF_CHANNELS

#define NSF_CHANNELS 1

## ◆ NSF_HEADER_SIZE

#define NSF_HEADER_SIZE 0x80

## ◆ NSF_PTS_INC

#define NSF_PTS_INC (90000 / NSF_REFRESH_RATE)

## ◆ NSF_REFRESH_RATE

#define NSF_REFRESH_RATE 60

## ◆ NSF_SAMPLERATE

#define NSF_SAMPLERATE 44100

## Function Documentation

## ◆ demux_nsf_dispose()

static void demux_nsf_dispose | ( | demux_plugin_t * | this_gen | ) |
| static

References _x_freep().

Referenced by open_plugin().

## ◆ demux_nsf_get_capabilities()

static uint32_t demux_nsf_get_capabilities | ( | demux_plugin_t * | this_gen | ) |
| static

References DEMUX_CAP_NOCAP.

Referenced by open_plugin().

## ◆ demux_nsf_get_optional_data()

static int demux_nsf_get_optional_data | ( | demux_plugin_t * | this_gen,
|  | void * | data,
|  | int | data_type
| ) |  |
| static

References DEMUX_OPTIONAL_UNSUPPORTED.

Referenced by open_plugin().

## ◆ demux_nsf_get_status()

static int demux_nsf_get_status | ( | demux_plugin_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ demux_nsf_get_stream_length()

static int demux_nsf_get_stream_length | ( | demux_plugin_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ demux_nsf_init_plugin()

void * demux_nsf_init_plugin | ( | xine_t * | xine,
|  | const void * | data
| ) |  |

References N_, NULL, open_plugin(), and demux_class_s::open_plugin.

## ◆ demux_nsf_seek()

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

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

Referenced by open_plugin().

## ◆ demux_nsf_send_chunk()

static int demux_nsf_send_chunk | ( | demux_plugin_t * | this_gen | ) |
| static

References _x_demux_control_newpts(), _x_meta_info_set(), BUF_AUDIO_NSF, buf_element_s::content, buf_element_s::decoder_info, buf_element_s::extra_info, buf_element_s::free_buffer, input(), extra_info_s::input_normpos, extra_info_s::input_time, buf_element_s::max_size, NSF_PTS_INC, buf_element_s::pts, buf_element_s::size, buf_element_s::type, and XINE_META_INFO_TITLE.

Referenced by open_plugin().

## ◆ demux_nsf_send_headers()

static void demux_nsf_send_headers | ( | demux_plugin_t * | this_gen | ) |
| static

References _x_demux_control_start(), _x_meta_info_set(), _x_stream_info_set(), BUF_AUDIO_NSF, BUF_FLAG_FRAME_END, BUF_FLAG_HEADER, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, DEMUX_OK, NSF_BITS, NSF_CHANNELS, NSF_SAMPLERATE, buf_element_s::type, XINE_META_INFO_ARTIST, XINE_META_INFO_COMMENT, XINE_META_INFO_TITLE, XINE_STREAM_INFO_AUDIO_BITS, XINE_STREAM_INFO_AUDIO_CHANNELS, XINE_STREAM_INFO_AUDIO_SAMPLERATE, XINE_STREAM_INFO_HAS_AUDIO, and XINE_STREAM_INFO_HAS_VIDEO.

Referenced by open_plugin().

## ◆ open_plugin()

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

References _x_demux_read_header(), xine_stream_s::content_detection_method, DEMUX_FINISHED, demux_nsf_dispose(), demux_nsf_get_capabilities(), demux_nsf_get_optional_data(), demux_nsf_get_status(), demux_nsf_get_stream_length(), demux_nsf_seek(), demux_nsf_send_chunk(), demux_nsf_send_headers(), input(), METHOD_BY_CONTENT, METHOD_BY_MRL, METHOD_EXPLICIT, NSF_HEADER_SIZE, NULL, and parse_nsf_header().

Referenced by demux_nsf_init_plugin().

## ◆ parse_nsf_header()

static void parse_nsf_header | ( | demux_nsf_t * | this,
|  | const uint8_t * | header
| ) |  |
| static

References input().

Referenced by open_plugin().