xine-lib: xine-lib-1.2.12/src/xine-engine/input_rip.c File Reference

xine-lib 1.2.12

Data Structures | Macros | Typedefs | Functions
input_rip.c File Reference
`#include <sys/types.h>`
`#include <sys/stat.h>`
`#include <unistd.h>`
`#include <stdio.h>`
`#include <string.h>`
`#include <errno.h>`
`#include <xine/xine_internal.h>`
`#include <xine/input_plugin.h>`
`#include <xine/mfrag.h>`
`#include "xine_private.h"`

## Data Structures
struct | rip_input_plugin_s

## Macros
#define | LOG_MODULE "input_rip"
#define | LOG_VERBOSE
#define | CLR_FAIL "\x1b[1;31m"
#define | CLR_RST "\x1b[0;39m"
#define | fseeko fseek
#define | SCRATCH_SIZE 1024
#define | MAX_TARGET_LEN 512
#define | SEEK_TIMEOUT 2.5

## Typedefs
typedef struct rip_input_plugin_s | rip_input_plugin_t

## Functions
static ssize_t | rip_read_file_read_1a (rip_input_plugin_t *this, char *buf, size_t len)
static ssize_t | rip_read_file_read_1b (rip_input_plugin_t *this, char *buf, size_t len)
static ssize_t | rip_read_file_read_2 (rip_input_plugin_t *this, char *buf, size_t len)
static int | rip_read_file_start (rip_input_plugin_t *this, off_t offs1)
static void | rip_read_file_set_2 (rip_input_plugin_t *this)
static off_t | rip_plugin_read (input_plugin_t *this_gen, void *buf_gen, off_t len)
static int | rip_plugin_open (input_plugin_t *this_gen)
static uint32_t | rip_plugin_get_capabilities (input_plugin_t *this_gen)
static buf_element_t * | rip_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t len)
static off_t | rip_seek_original (rip_input_plugin_t *this, off_t reqpos)
static off_t | rip_plugin_seek (input_plugin_t *this_gen, off_t offset, int origin)
static off_t | rip_plugin_seek_time (input_plugin_t *this_gen, int time_offset, int origin)
static off_t | rip_plugin_get_current_pos (input_plugin_t *this_gen)
static int | rip_plugin_get_current_time (input_plugin_t *this_gen)
static off_t | rip_plugin_get_length (input_plugin_t *this_gen)
static uint32_t | rip_plugin_get_blocksize (input_plugin_t *this_gen)
static const char * | rip_plugin_get_mrl (input_plugin_t *this_gen)
static int | rip_plugin_get_optional_data (input_plugin_t *this_gen, void *data, int data_type)
static void | rip_plugin_dispose (input_plugin_t *this_gen)
input_plugin_t * | _x_rip_plugin_get_instance (xine_stream_t *stream, const char *filename)

## Macro Definition Documentation

## ◆ CLR_FAIL

#define CLR_FAIL "\x1b[1;31m"

## ◆ CLR_RST

#define CLR_RST "\x1b[0;39m"

## ◆ fseeko

#define fseeko fseek

## ◆ LOG_MODULE

#define LOG_MODULE "input_rip"

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## ◆ MAX_TARGET_LEN

#define MAX_TARGET_LEN 512

## ◆ SCRATCH_SIZE

#define SCRATCH_SIZE 1024

## ◆ SEEK_TIMEOUT

#define SEEK_TIMEOUT 2.5

## Typedef Documentation

## ◆ rip_input_plugin_t

typedef struct rip_input_plugin_s rip_input_plugin_t

## Function Documentation

## ◆ _x_rip_plugin_get_instance()

input_plugin_t * _x_rip_plugin_get_instance | ( | xine_stream_t * | stream,
|  | const char * | filename
| ) |  |

References _, _x_freep(), _x_message(), buf_element_s::content, buf_element_s::free_buffer, input_plugin_s::get_blocksize, input_plugin_s::get_capabilities, input_plugin_s::get_optional_data, INPUT_CAP_BLOCK, INPUT_CAP_PREVIEW, INPUT_CAP_RIP_FORBIDDEN, INPUT_CAP_SEEKABLE, INPUT_CAP_SIZED_PREVIEW, input_plugin_s::input_class, INPUT_OPTIONAL_DATA_FRAGLIST, INPUT_OPTIONAL_DATA_PTSOFFS, INPUT_OPTIONAL_SUCCESS, xine_stream_s::input_plugin, lprintf, MAX_PREVIEW_SIZE, MAX_TARGET_LEN, NULL, input_plugin_s::read, input_plugin_s::read_block, rip_plugin_dispose(), rip_plugin_get_blocksize(), rip_plugin_get_capabilities(), rip_plugin_get_current_pos(), rip_plugin_get_current_time(), rip_plugin_get_length(), rip_plugin_get_mrl(), rip_plugin_get_optional_data(), rip_plugin_open(), rip_plugin_read(), rip_plugin_read_block(), rip_plugin_seek(), rip_plugin_seek_time(), rip_read_file_read_1a(), S_ISFIFO, xine_s::save_path, buf_element_s::size, xine_stream_s::video_fifo, xine_stream_s::xine, xine_log(), XINE_LOG_MSG, XINE_MSG_SECURITY, and xine_small_memcpy.

Referenced by open_internal().

## ◆ rip_plugin_dispose()

static void rip_plugin_dispose | ( | input_plugin_t * | this_gen | ) |
| static

References _x_free_input_plugin(), _x_freep(), lprintf, and NULL.

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_get_blocksize()

static uint32_t rip_plugin_get_blocksize | ( | input_plugin_t * | this_gen | ) |
| static

References input_plugin_s::get_blocksize.

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_get_capabilities()

static uint32_t rip_plugin_get_capabilities | ( | input_plugin_t * | this_gen | ) |
| static

References input_plugin_s::get_capabilities, INPUT_CAP_PREVIEW, INPUT_CAP_SEEKABLE, INPUT_CAP_SIZED_PREVIEW, rip_input_plugin_s::main_input_plugin, rip_input_plugin_s::preview, and rip_input_plugin_s::regular.

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_get_current_pos()

static off_t rip_plugin_get_current_pos | ( | input_plugin_t * | this_gen | ) |
| static

References CLR_FAIL, CLR_RST, input_plugin_s::get_current_pos, and lprintf.

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_get_current_time()

static int rip_plugin_get_current_time | ( | input_plugin_t * | this_gen | ) |
| static

References NULL, xine_mfrag_find_pos(), xine_mfrag_get_frag_count(), xine_mfrag_get_index_frag(), and xine_mfrag_get_index_start().

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_get_length()

static off_t rip_plugin_get_length | ( | input_plugin_t * | this_gen | ) |
| static

References input_plugin_s::get_length.

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_get_mrl()

static const char * rip_plugin_get_mrl | ( | input_plugin_t * | this_gen | ) |
| static

References input_plugin_s::get_mrl.

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_get_optional_data()

static int rip_plugin_get_optional_data | ( | input_plugin_t * | this_gen,
|  | void * | data,
|  | int | data_type
| ) |  |
| static

References INPUT_OPTIONAL_DATA_PREVIEW, INPUT_OPTIONAL_DATA_SIZED_PREVIEW, INPUT_OPTIONAL_UNSUPPORTED, and lprintf.

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_open()

static int rip_plugin_open | ( | input_plugin_t * | this_gen | ) |
| static

References _, rip_input_plugin_s::stream, xine_stream_s::xine, xine_log(), and XINE_LOG_MSG.

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_read()

static off_t rip_plugin_read | ( | input_plugin_t * | this_gen,
|  | void * | buf_gen,
|  | off_t | len
| ) |  |
| static

References _, _x_message(), rip_input_plugin_s::behind, rip_input_plugin_s::curpos, rip_input_plugin_s::endpos, rip_input_plugin_s::file, fseeko, input_plugin_s::get_current_pos, input_plugin_s::get_mrl, lprintf, rip_input_plugin_s::main_input_plugin, NULL, rip_input_plugin_s::preview, rip_input_plugin_s::preview_size, input_plugin_s::read, rip_input_plugin_s::read, rip_read_file_set_2(), rip_input_plugin_s::savepos, input_plugin_s::seek, rip_input_plugin_s::stream, xine_stream_s::xine, xine_log(), XINE_LOG_MSG, XINE_MSG_RECORDING_DONE, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by _x_rip_plugin_get_instance(), and rip_plugin_seek().

## ◆ rip_plugin_read_block()

static buf_element_t * rip_plugin_read_block | ( | input_plugin_t * | this_gen,
|  | fifo_buffer_t * | fifo,
|  | off_t | len
| ) |  |
| static

References _, rip_input_plugin_s::behind, BUF_DEMUX_BLOCK, fifo_buffer_s::buffer_pool_alloc, buf_element_s::content, rip_input_plugin_s::curpos, lprintf, rip_input_plugin_s::main_input_plugin, buf_element_s::max_size, buf_element_s::mem, NULL, rip_input_plugin_s::preview, rip_input_plugin_s::preview_size, rip_input_plugin_s::read, input_plugin_s::read_block, rip_input_plugin_s::regular, rip_input_plugin_s::savepos, buf_element_s::size, rip_input_plugin_s::stream, buf_element_s::type, xine_stream_s::xine, xine_log(), and XINE_LOG_MSG.

Referenced by _x_rip_plugin_get_instance(), and rip_plugin_seek().

## ◆ rip_plugin_seek()

static off_t rip_plugin_seek | ( | input_plugin_t * | this_gen,
|  | off_t | offset,
|  | int | origin
| ) |  |
| static

References _, buf_element_s::free_buffer, fseeko, input_plugin_s::get_blocksize, input_plugin_s::get_capabilities, INPUT_CAP_BLOCK, lprintf, NULL, rip_plugin_read(), rip_plugin_read_block(), rip_read_file_start(), rip_seek_original(), SCRATCH_SIZE, SEEK_TIMEOUT, xine_log(), XINE_LOG_MSG, and xine_monotonic_clock().

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_plugin_seek_time()

static off_t rip_plugin_seek_time | ( | input_plugin_t * | this_gen,
|  | int | time_offset,
|  | int | origin
| ) |  |
| static

References fseeko, lprintf, NULL, rip_read_file_start(), xine_mfrag_find_pos(), xine_mfrag_find_time(), xine_mfrag_get_frag_count(), xine_mfrag_get_index_frag(), and xine_mfrag_get_index_start().

Referenced by _x_rip_plugin_get_instance().

## ◆ rip_read_file_read_1a()

static ssize_t rip_read_file_read_1a | ( | rip_input_plugin_t * | this,
|  | char * | buf,
|  | size_t | len
| ) |  |
| static

References _, rip_input_plugin_s::behind, rip_input_plugin_s::curpos, rip_input_plugin_s::file, rip_input_plugin_s::read, rip_read_file_read_1a(), rip_input_plugin_s::savepos, rip_input_plugin_s::stream, xine_stream_s::xine, xine_log(), XINE_LOG_MSG, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by _x_rip_plugin_get_instance(), rip_read_file_read_1a(), rip_read_file_read_1b(), rip_read_file_read_2(), rip_read_file_set_2(), and rip_read_file_start().

## ◆ rip_read_file_read_1b()

static ssize_t rip_read_file_read_1b | ( | rip_input_plugin_t * | this,
|  | char * | buf,
|  | size_t | len
| ) |  |
| static

References _, rip_input_plugin_s::behind, rip_input_plugin_s::curpos, rip_input_plugin_s::file, fseeko, rip_input_plugin_s::read, rip_read_file_read_1a(), rip_input_plugin_s::savepos, rip_input_plugin_s::stream, xine_stream_s::xine, xine_log(), XINE_LOG_MSG, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by rip_read_file_start().

## ◆ rip_read_file_read_2()

static ssize_t rip_read_file_read_2 | ( | rip_input_plugin_t * | this,
|  | char * | buf,
|  | size_t | len
| ) |  |
| static

References _, rip_input_plugin_s::behind, rip_input_plugin_s::curpos, rip_input_plugin_s::file, NULL, rip_input_plugin_s::read, rip_input_plugin_s::rfile, rip_read_file_read_1a(), rip_input_plugin_s::savepos, rip_input_plugin_s::stream, xine_stream_s::xine, xine_log(), XINE_LOG_MSG, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by rip_read_file_start().

## ◆ rip_read_file_set_2()

static void rip_read_file_set_2 | ( | rip_input_plugin_t * | this | ) |
| static

References rip_input_plugin_s::behind, rip_input_plugin_s::curpos, rip_input_plugin_s::file, fseeko, NULL, rip_input_plugin_s::read, rip_input_plugin_s::rfile, rip_read_file_read_1a(), rip_input_plugin_s::stream, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by rip_plugin_read().

## ◆ rip_read_file_start()

static int rip_read_file_start | ( | rip_input_plugin_t * | this,
|  | off_t | offs1
| ) |  |
| static

References _, rip_input_plugin_s::behind, rip_input_plugin_s::curpos, rip_input_plugin_s::file, rip_input_plugin_s::fname, fseeko, input_plugin_s::get_capabilities, INPUT_CAP_LIVE, rip_input_plugin_s::main_input_plugin, mode(), NULL, rip_input_plugin_s::preview_size, rip_input_plugin_s::read, rip_input_plugin_s::rfile, rip_read_file_read_1a(), rip_read_file_read_1b(), rip_read_file_read_2(), rip_input_plugin_s::savepos, rip_input_plugin_s::stream, xine_stream_s::xine, xine_log(), XINE_LOG_MSG, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by rip_plugin_seek(), and rip_plugin_seek_time().

## ◆ rip_seek_original()

static off_t rip_seek_original | ( | rip_input_plugin_t * | this,
|  | off_t | reqpos
| ) |  |
| static

References _, CLR_FAIL, CLR_RST, rip_input_plugin_s::curpos, lprintf, rip_input_plugin_s::main_input_plugin, input_plugin_s::seek, rip_input_plugin_s::stream, xine_stream_s::xine, xine_log(), and XINE_LOG_MSG.

Referenced by rip_plugin_seek().