xine-lib 1.2.12
|
#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 <xine/mfrag.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_input_plugin_t |
Macros | |
#define | LOG_MODULE "input_hls" |
#define | LOG_VERBOSE |
#define | HLS_MAX_MRL 4096 |
Functions | |
static int | xine_gettime (struct timespec *ts) |
static int | hls_get_duration (hls_input_plugin_t *this) |
static off_t | hls_get_size (hls_input_plugin_t *this) |
static uint32_t | hls_frag_start (hls_input_plugin_t *this) |
static void | hls_frag_end (hls_input_plugin_t *this) |
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 void | hls_skip_spc (char **s) |
static void | hls_skip_newline_spc (char **s) |
static void | hls_skip_line (char **s) |
static uint32_t | str2uint32 (char **s) |
static uint64_t | str2uint64 (char **s) |
static uint32_t | str2usec (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 void | hls_live_start (hls_input_plugin_t *this) |
static int | hls_live_wait (hls_input_plugin_t *this) |
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 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) |
Variables | |
static const uint8_t | hls_tab_char [256] |
#define HLS_MAX_MRL 4096 |
#define LOG_MODULE "input_hls" |
#define LOG_VERBOSE |
|
static |
Referenced by hls_input_open().
|
static |
References z.
Referenced by hls_input_open().
|
static |
References z.
Referenced by hls_input_read().
|
static |
References xine_mfrag_set_index_frag().
Referenced by hls_input_read().
|
static |
References NULL, xine_mfrag_get_index_frag(), xine_mfrag_set_index_frag(), XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by hls_input_open_bump(), and hls_input_open_item().
|
static |
References NULL, and xine_mfrag_get_index_start().
Referenced by hls_input_get_optional_data(), hls_input_open(), and hls_input_time_seek().
|
static |
References NULL, and xine_mfrag_get_index_start().
Referenced by hls_input_get_length(), and hls_input_seek().
|
static |
References NULL, and config_values_s::unregister_callbacks.
Referenced by input_hls_init_class().
|
static |
References _x_free_input_plugin(), _x_freep(), NULL, xine_mfrag_list_close(), and xine_nbc_close().
Referenced by hls_input_get_instance().
|
static |
References input_plugin_s::get_capabilities, 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_nbc_init(), XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by input_hls_init_class().
|
static |
References hls_get_size().
Referenced by hls_input_get_instance().
|
static |
References NULL.
Referenced by hls_input_get_instance().
|
static |
Referenced by hls_input_is_hls().
|
static |
|
static |
References hls_input_get_mrl_ext().
Referenced by hls_input_get_instance().
|
static |
References _x_freep(), hls_skip_line(), hls_skip_newline_spc(), hls_skip_spc(), NULL, str2uint32(), str2uint64(), str2usec(), xine_mfrag_list_close(), xine_mfrag_list_open(), xine_mfrag_set_index_frag(), 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_get_duration(), hls_input_load_list(), hls_input_open_bump(), hls_input_open_item(), hls_input_read(), hls_input_seek(), hls_input_switch_mrl(), hls_live_start(), 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_frag_start(), hls_input_switch_mrl(), and HLS_MAX_MRL.
Referenced by hls_input_open(), and hls_input_read().
|
static |
References _x_merge_mrl(), hls_frag_start(), hls_input_switch_mrl(), HLS_MAX_MRL, INPUT_CAP_SEEKABLE, INPUT_CAP_SLOW_SEEKABLE, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.
Referenced by hls_input_open(), hls_input_read(), hls_input_seek(), and hls_input_time_seek().
|
static |
References hls_bump_inc(), hls_frag_end(), hls_input_load_list(), hls_input_open_bump(), hls_input_open_item(), hls_input_switch_mrl(), hls_live_wait(), XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by hls_input_get_instance(), and hls_input_open().
|
static |
References NULL.
Referenced by hls_input_get_instance().
|
static |
References hls_get_size(), hls_input_open_item(), NULL, xine_mfrag_find_pos(), and xine_mfrag_get_index_start().
Referenced by hls_input_get_instance(), and hls_input_open().
|
static |
References _x_find_input_plugin(), _x_free_input_plugin(), INPUT_CAP_NEW_MRL, INPUT_OPTIONAL_DATA_NEW_MRL, INPUT_OPTIONAL_SUCCESS, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by hls_input_open(), hls_input_open_bump(), hls_input_open_item(), and hls_input_read().
|
static |
References hls_get_duration(), hls_input_open_item(), NULL, xine_mfrag_find_time(), and xine_mfrag_get_index_start().
Referenced by hls_input_get_instance().
|
static |
References xine_gettime(), and xine_nbc_get_pos_pts().
Referenced by hls_input_open().
|
static |
References _x_io_select(), INPUT_CAP_NEW_MRL, INPUT_OPTIONAL_DATA_NEW_MRL, now(), xine_gettime(), xine_nbc_get_pos_pts(), and XIO_TIMEOUT.
Referenced by hls_input_read().
|
static |
References hls_tab_char.
Referenced by hls_input_load_list().
|
static |
References hls_tab_char.
Referenced by hls_input_load_list().
|
static |
References hls_tab_char.
Referenced by hls_input_load_list().
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().
|
static |
Referenced by hls_input_load_list().
|
inlinestatic |
References NULL.
Referenced by _x_demux_control_headers_done(), _x_flush_events_queues(), ao_free_fifo_get(), ao_loop(), ao_out_fifo_get(), ao_set_property(), audio_decoder_loop(), demux_loop(), hls_live_start(), hls_live_wait(), lock_timeout(), metronom_sync_loop(), nbc_delay_base(), nbc_delay_set(), paused_loop(), ticket_lock_port_rewiring(), video_decoder_loop(), video_out_loop(), vo_free_queue_get(), vo_grab_grab_video_frame(), vo_set_property(), wait_first_frame(), xine_event_wait_locked(), xine_get_next_audio_frame(), and xine_get_next_video_frame().
|
static |
Referenced by hls_skip_line(), hls_skip_newline_spc(), and hls_skip_spc().