xine-lib 1.2.13-20230125hg15249
|
#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_smjpeg_t |
Macros | |
#define | LOG_MODULE "demux_smjpeg" |
#define | FOURCC_TAG BE_FOURCC |
#define | _TXT_TAG FOURCC_TAG('_', 'T', 'X', 'T') |
#define | _SND_TAG FOURCC_TAG('_', 'S', 'N', 'D') |
#define | _VID_TAG FOURCC_TAG('_', 'V', 'I', 'D') |
#define | HEND_TAG FOURCC_TAG('H', 'E', 'N', 'D') |
#define | sndD_TAG FOURCC_TAG('s', 'n', 'd', 'D') |
#define | vidD_TAG FOURCC_TAG('v', 'i', 'd', 'D') |
#define | APCM_TAG FOURCC_TAG('A', 'P', 'C', 'M') |
#define | SMJPEG_VIDEO_HEADER_SIZE 16 |
#define | SMJPEG_AUDIO_HEADER_SIZE 12 |
#define | SMJPEG_HEADER_CHUNK_MAX_SIZE SMJPEG_VIDEO_HEADER_SIZE |
#define | SMJPEG_CHUNK_PREAMBLE_SIZE 12 |
Functions | |
static int | open_smjpeg_file (demux_smjpeg_t *this) |
static int | demux_smjpeg_send_chunk (demux_plugin_t *this_gen) |
static void | demux_smjpeg_send_headers (demux_plugin_t *this_gen) |
static int | demux_smjpeg_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) |
static int | demux_smjpeg_get_status (demux_plugin_t *this_gen) |
static int | demux_smjpeg_get_stream_length (demux_plugin_t *this_gen) |
static uint32_t | demux_smjpeg_get_capabilities (demux_plugin_t *this_gen) |
static int | demux_smjpeg_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_smjpeg_init_plugin (xine_t *xine, const void *data) |
#define _SND_TAG FOURCC_TAG('_', 'S', 'N', 'D') |
Referenced by open_smjpeg_file().
#define _TXT_TAG FOURCC_TAG('_', 'T', 'X', 'T') |
#define _VID_TAG FOURCC_TAG('_', 'V', 'I', 'D') |
Referenced by open_smjpeg_file().
#define APCM_TAG FOURCC_TAG('A', 'P', 'C', 'M') |
Referenced by open_smjpeg_file().
#define FOURCC_TAG BE_FOURCC |
#define HEND_TAG FOURCC_TAG('H', 'E', 'N', 'D') |
Referenced by open_smjpeg_file().
#define LOG_MODULE "demux_smjpeg" |
Referenced by open_smjpeg_file().
#define SMJPEG_AUDIO_HEADER_SIZE 12 |
Referenced by open_smjpeg_file().
#define SMJPEG_CHUNK_PREAMBLE_SIZE 12 |
Referenced by demux_smjpeg_send_chunk().
#define SMJPEG_HEADER_CHUNK_MAX_SIZE SMJPEG_VIDEO_HEADER_SIZE |
Referenced by open_smjpeg_file().
#define SMJPEG_VIDEO_HEADER_SIZE 16 |
Referenced by open_smjpeg_file().
#define sndD_TAG FOURCC_TAG('s', 'n', 'd', 'D') |
Referenced by demux_smjpeg_send_chunk().
#define vidD_TAG FOURCC_TAG('v', 'i', 'd', 'D') |
Referenced by demux_smjpeg_send_chunk().
|
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_smjpeg_init_plugin | ( | xine_t * | xine, |
const void * | data ) |
References demux_plugin_s::dispose, N_, NULL, open_plugin(), and demux_class_s::open_plugin.
|
static |
References DEMUX_OK.
Referenced by open_plugin().
|
static |
References _X_BE_32, BUF_FLAG_FRAME_END, BUF_FLAG_FRAMERATE, BUF_FLAG_KEYFRAME, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, DEMUX_FINISHED, 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, NULL, buf_element_s::pts, buf_element_s::size, SMJPEG_CHUNK_PREAMBLE_SIZE, sndD_TAG, buf_element_s::type, and vidD_TAG.
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_STDHEADER, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, DEMUX_OK, buf_element_s::size, buf_element_s::type, XINE_STREAM_INFO_AUDIO_BITS, XINE_STREAM_INFO_AUDIO_CHANNELS, XINE_STREAM_INFO_AUDIO_SAMPLERATE, 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 xine_stream_s::content_detection_method, default_demux_plugin_dispose, DEMUX_FINISHED, demux_smjpeg_get_capabilities(), demux_smjpeg_get_optional_data(), demux_smjpeg_get_status(), demux_smjpeg_get_stream_length(), demux_smjpeg_seek(), demux_smjpeg_send_chunk(), demux_smjpeg_send_headers(), input(), INPUT_IS_SEEKABLE, METHOD_BY_CONTENT, METHOD_BY_MRL, METHOD_EXPLICIT, NULL, open_smjpeg_file(), input_plugin_s::seek, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by demux_smjpeg_init_plugin().
|
static |
References _SND_TAG, _VID_TAG, _X_BE_16, _X_BE_32, _x_demux_read_header(), _x_formattag_to_buf_audio(), _x_fourcc_to_buf_video(), _x_report_audio_format_tag(), _x_report_video_fourcc(), APCM_TAG, be2me_32, BUF_AUDIO_SMJPEG_IMA, BUF_AUDIO_UNKNOWN, BUF_VIDEO_UNKNOWN, HEND_TAG, input(), LOG_MODULE, SMJPEG_AUDIO_HEADER_SIZE, SMJPEG_HEADER_CHUNK_MAX_SIZE, and SMJPEG_VIDEO_HEADER_SIZE.
Referenced by open_plugin().