xine-lib 1.2.11
|
#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 "group_games.h"
Data Structures | |
struct | demux_ipmovie_t |
Functions | |
static int | process_ipmovie_chunk (demux_ipmovie_t *this) |
static int | open_ipmovie_file (demux_ipmovie_t *this) |
static int | demux_ipmovie_send_chunk (demux_plugin_t *this_gen) |
static void | demux_ipmovie_send_headers (demux_plugin_t *this_gen) |
static int | demux_ipmovie_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) |
static void | demux_ipmovie_dispose (demux_plugin_t *this_gen) |
static int | demux_ipmovie_get_status (demux_plugin_t *this_gen) |
static int | demux_ipmovie_get_stream_length (demux_plugin_t *this_gen) |
static uint32_t | demux_ipmovie_get_capabilities (demux_plugin_t *this_gen) |
static int | demux_ipmovie_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_ipmovie_init_plugin (xine_t *xine, const void *data) |
#define CHUNK_AUDIO_ONLY 0x0001 |
#define CHUNK_BAD 0xFFFF |
#define CHUNK_END 0x0005 |
#define CHUNK_INIT_AUDIO 0x0000 |
#define CHUNK_INIT_VIDEO 0x0002 |
#define CHUNK_PREAMBLE_SIZE 4 |
#define CHUNK_SHUTDOWN 0x0004 |
#define CHUNK_VIDEO 0x0003 |
#define IPMOVIE_SIGNATURE "Interplay MVE File\x1A\0" |
#define IPMOVIE_SIGNATURE_SIZE 20 |
#define LOG_MODULE "demux_ipmovie" |
#define LOG_VERBOSE |
#define OPCODE_AUDIO_FRAME 0x08 |
#define OPCODE_CREATE_GRADIENT 0x0B |
#define OPCODE_CREATE_TIMER 0x02 |
#define OPCODE_END_OF_CHUNK 0x01 |
#define OPCODE_END_OF_STREAM 0x00 |
#define OPCODE_INIT_AUDIO_BUFFERS 0x03 |
#define OPCODE_INIT_VIDEO_BUFFERS 0x05 |
#define OPCODE_INIT_VIDEO_MODE 0x0A |
#define OPCODE_PREAMBLE_SIZE 4 |
#define OPCODE_SEND_BUFFER 0x07 |
#define OPCODE_SET_DECODING_MAP 0x0F |
#define OPCODE_SET_PALETTE 0x0C |
#define OPCODE_SET_PALETTE_COMPRESSED 0x0D |
#define OPCODE_SILENCE_FRAME 0x09 |
#define OPCODE_START_STOP_AUDIO 0x04 |
#define OPCODE_UNKNOWN_06 0x06 |
#define OPCODE_UNKNOWN_0E 0x0E |
#define OPCODE_UNKNOWN_10 0x10 |
#define OPCODE_UNKNOWN_12 0x12 |
#define OPCODE_UNKNOWN_13 0x13 |
#define OPCODE_UNKNOWN_14 0x14 |
#define OPCODE_UNKNOWN_15 0x15 |
#define OPCODE_VIDEO_DATA 0x11 |
#define PALETTE_COUNT 256 |
|
static |
References _x_freep().
Referenced by open_plugin().
|
static |
References DEMUX_CAP_NOCAP.
Referenced by open_plugin().
|
static |
References DEMUX_OPTIONAL_UNSUPPORTED.
Referenced by open_plugin().
|
static |
Referenced by open_plugin().
|
static |
Referenced by open_plugin().
void * demux_ipmovie_init_plugin | ( | xine_t * | xine, |
const void * | data | ||
) |
References N_, NULL, open_plugin(), and demux_class_s::open_plugin.
|
static |
References _x_demux_control_newpts(), and DEMUX_OK.
Referenced by open_plugin().
|
static |
References CHUNK_BAD, DEMUX_FINISHED, and process_ipmovie_chunk().
Referenced by open_plugin().
|
static |
References _x_demux_control_start(), _x_stream_info_set(), BUF_FLAG_FRAME_END, BUF_FLAG_FRAMERATE, BUF_FLAG_HEADER, BUF_FLAG_SPECIAL, BUF_FLAG_STDHEADER, BUF_SPECIAL_PALETTE, BUF_VIDEO_INTERPLAY, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, DEMUX_OK, buf_element_s::size, buf_element_s::type, XINE_STREAM_INFO_HAS_AUDIO, XINE_STREAM_INFO_HAS_VIDEO, XINE_STREAM_INFO_VIDEO_HEIGHT, and XINE_STREAM_INFO_VIDEO_WIDTH.
Referenced by open_plugin().
|
static |
References _x_demux_read_header(), CHUNK_INIT_AUDIO, CHUNK_INIT_VIDEO, input(), IPMOVIE_SIGNATURE, IPMOVIE_SIGNATURE_SIZE, lprintf, and process_ipmovie_chunk().
Referenced by open_plugin().
|
static |
References xine_stream_s::content_detection_method, DEMUX_FINISHED, demux_ipmovie_dispose(), demux_ipmovie_get_capabilities(), demux_ipmovie_get_optional_data(), demux_ipmovie_get_status(), demux_ipmovie_get_stream_length(), demux_ipmovie_seek(), demux_ipmovie_send_chunk(), demux_ipmovie_send_headers(), input(), METHOD_BY_CONTENT, METHOD_BY_MRL, METHOD_EXPLICIT, NULL, and open_ipmovie_file().
Referenced by demux_ipmovie_init_plugin().
|
static |
References _x_freep(), _X_LE_16, _X_LE_32, BUF_AUDIO_INTERPLAY, BUF_AUDIO_LPCM_LE, BUF_FLAG_FRAME_END, BUF_FLAG_FRAMERATE, BUF_FLAG_HEADER, BUF_FLAG_KEYFRAME, BUF_FLAG_SPECIAL, BUF_SPECIAL_PALETTE, BUF_VIDEO_INTERPLAY, CHUNK_AUDIO_ONLY, CHUNK_BAD, CHUNK_END, CHUNK_INIT_AUDIO, CHUNK_INIT_VIDEO, CHUNK_PREAMBLE_SIZE, CHUNK_SHUTDOWN, CHUNK_VIDEO, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, DEMUX_FINISHED, buf_element_s::extra_info, buf_element_s::free_buffer, input(), extra_info_s::input_normpos, extra_info_s::input_time, lprintf, buf_element_s::max_size, NULL, OPCODE_AUDIO_FRAME, OPCODE_CREATE_GRADIENT, OPCODE_CREATE_TIMER, OPCODE_END_OF_CHUNK, OPCODE_END_OF_STREAM, OPCODE_INIT_AUDIO_BUFFERS, OPCODE_INIT_VIDEO_BUFFERS, OPCODE_INIT_VIDEO_MODE, OPCODE_PREAMBLE_SIZE, OPCODE_SEND_BUFFER, OPCODE_SET_DECODING_MAP, OPCODE_SET_PALETTE, OPCODE_SET_PALETTE_COMPRESSED, OPCODE_SILENCE_FRAME, OPCODE_START_STOP_AUDIO, OPCODE_UNKNOWN_06, OPCODE_UNKNOWN_0E, OPCODE_UNKNOWN_10, OPCODE_UNKNOWN_12, OPCODE_UNKNOWN_13, OPCODE_UNKNOWN_14, OPCODE_UNKNOWN_15, OPCODE_VIDEO_DATA, buf_element_s::pts, buf_element_s::size, and buf_element_s::type.
Referenced by demux_ipmovie_send_chunk(), and open_ipmovie_file().