xine-lib 1.2.11
|
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
#include <xine/input_plugin.h>
#include "http_helper.h"
#include "input_helper.h"
#include "group_network.h"
#include "multirate_pref.c"
Data Structures | |
struct | hls_input_class_t |
struct | hls_frag_info_t |
struct | hls_input_plugin_t |
Macros | |
#define | LOG_MODULE "input_hls" |
#define | LOG_VERBOSE |
#define | HLS_MAX_MRL 4096 |
Functions | |
static int | hls_bump_find (hls_input_plugin_t *this, const char *item1, const char *seq) |
static int | hls_bump_guess (hls_input_plugin_t *this, const char *item1, const char *item2) |
static void | hls_bump_inc (hls_input_plugin_t *this) |
static int | hls_input_switch_mrl (hls_input_plugin_t *this) |
static int | hls_input_open_bump (hls_input_plugin_t *this) |
static int | hls_input_open_item (hls_input_plugin_t *this, uint32_t n) |
static int | hls_input_get_mrl_ext (const char *mrl, const char **ext) |
static int | hls_input_is_hls (const char *mrl) |
static uint32_t | str2uint32 (char **s) |
static uint32_t | str2msec (char **s) |
static int | hls_input_load_list (hls_input_plugin_t *this) |
static uint32_t | hls_input_get_capabilities (input_plugin_t *this_gen) |
static off_t | hls_input_read (input_plugin_t *this_gen, void *buf, off_t len) |
static buf_element_t * | hls_input_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t todo) |
static void | hls_input_frag_seek (hls_input_plugin_t *this, uint32_t new_pos_in_frag) |
static off_t | hls_input_time_seek (input_plugin_t *this_gen, int time_offs, int origin) |
static off_t | hls_input_seek (input_plugin_t *this_gen, off_t offset, int origin) |
static off_t | hls_input_get_current_pos (input_plugin_t *this_gen) |
static off_t | hls_input_get_length (input_plugin_t *this_gen) |
static const char * | hls_input_get_mrl (input_plugin_t *this_gen) |
static void | hls_input_dispose (input_plugin_t *this_gen) |
static int | hls_input_open (input_plugin_t *this_gen) |
static int | hls_input_get_optional_data (input_plugin_t *this_gen, void *data, int data_type) |
static input_plugin_t * | hls_input_get_instance (input_class_t *cls_gen, xine_stream_t *stream, const char *mrl) |
static void | hls_input_class_dispose (input_class_t *this_gen) |
void * | input_hls_init_class (xine_t *xine, const void *data) |
#define HLS_MAX_MRL 4096 |
#define LOG_MODULE "input_hls" |
#define LOG_VERBOSE |
|
static |
Referenced by hls_input_open().
|
static |
Referenced by hls_input_open().
|
static |
Referenced by hls_input_read().
|
static |
References NULL, and config_values_s::unregister_callbacks.
Referenced by input_hls_init_class().
|
static |
References _x_free_input_plugin(), _x_freep(), and NULL.
Referenced by hls_input_get_instance().
|
static |
References INPUT_CAP_SEEKABLE, and INPUT_CAP_SLOW_SEEKABLE.
Referenced by hls_input_seek(), and hls_input_time_seek().
|
static |
References INPUT_CAP_LIVE, INPUT_CAP_PREVIEW, INPUT_CAP_SEEKABLE, INPUT_CAP_SIZED_PREVIEW, INPUT_CAP_SLOW_SEEKABLE, and INPUT_CAP_TIME_SEEKABLE.
Referenced by hls_input_get_instance().
|
static |
Referenced by hls_input_get_instance().
|
static |
References _x_demux_read_header(), _x_find_input_plugin(), _x_free_input_plugin(), _x_input_default_get_blocksize(), hls_input_dispose(), hls_input_get_capabilities(), hls_input_get_current_pos(), hls_input_get_length(), hls_input_get_mrl(), hls_input_get_optional_data(), hls_input_is_hls(), hls_input_open(), hls_input_read(), hls_input_read_block(), hls_input_seek(), hls_input_time_seek(), HLS_MAX_MRL, hls_input_class_t::input_class, lprintf, NULL, input_plugin_s::open, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by input_hls_init_class().
|
static |
Referenced by hls_input_get_instance().
|
static |
Referenced by hls_input_get_instance().
|
static |
Referenced by hls_input_is_hls().
|
static |
References INPUT_OPTIONAL_DATA_DURATION, INPUT_OPTIONAL_DATA_PREVIEW, INPUT_OPTIONAL_DATA_SIZED_PREVIEW, INPUT_OPTIONAL_SUCCESS, and INPUT_OPTIONAL_UNSUPPORTED.
Referenced by hls_input_get_instance().
|
static |
References hls_input_get_mrl_ext().
Referenced by hls_input_get_instance().
|
static |
References _x_freep(), hls_frag_info_t::byte_size, hls_frag_info_t::mrl_offs, hls_frag_info_t::start_msec, hls_frag_info_t::start_offs, str2msec(), str2uint32(), XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by hls_input_open(), and hls_input_read().
|
static |
References _x_merge_mrl(), hls_bump_find(), hls_bump_guess(), hls_input_load_list(), hls_input_open_bump(), hls_input_open_item(), hls_input_switch_mrl(), HLS_MAX_MRL, hls_input_class_t::input_class, multirate_autoselect(), hls_input_class_t::pref, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by hls_input_get_instance().
|
static |
References _x_merge_mrl(), hls_input_switch_mrl(), and HLS_MAX_MRL.
Referenced by hls_input_open(), and hls_input_read().
|
static |
References _x_merge_mrl(), hls_frag_info_t::byte_size, hls_input_switch_mrl(), HLS_MAX_MRL, hls_frag_info_t::start_offs, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by hls_input_open(), hls_input_read(), hls_input_seek(), and hls_input_time_seek().
|
static |
References hls_frag_info_t::byte_size, hls_bump_inc(), hls_input_load_list(), hls_input_open_bump(), hls_input_open_item(), hls_input_switch_mrl(), XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by hls_input_get_instance().
|
static |
References NULL.
Referenced by hls_input_get_instance().
|
static |
References hls_frag_info_t::byte_size, hls_input_frag_seek(), hls_input_open_item(), and hls_frag_info_t::start_offs.
Referenced by hls_input_get_instance().
|
static |
References _x_find_input_plugin(), _x_free_input_plugin(), INPUT_CAP_NEW_MRL, INPUT_OPTIONAL_DATA_NEW_MRL, and INPUT_OPTIONAL_SUCCESS.
Referenced by hls_input_open(), hls_input_open_bump(), hls_input_open_item(), and hls_input_read().
|
static |
References hls_frag_info_t::byte_size, hls_input_frag_seek(), hls_input_open_item(), hls_frag_info_t::start_msec, and hls_frag_info_t::start_offs.
Referenced by hls_input_get_instance().
void * input_hls_init_class | ( | xine_t * | xine, |
const void * | data | ||
) |
References xine_s::config, hls_input_class_dispose(), hls_input_get_instance(), multirate_pref_get(), N_, and NULL.
|
static |
Referenced by hls_input_load_list().
|
static |
Referenced by hls_input_load_list().