xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Functions
net_buf_ctrl.c File Reference
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <errno.h>
#include "xine_private.h"

Data Structures

struct  xine_nbc_fifo_info_t
 
struct  xine_nbc_st
 

Macros

#define LOG_MODULE   "net_buf_ctrl"
 
#define LOG_VERBOSE
 
#define XINE_LIVE_PAUSE_ON   0x7ffffffd
 
#define DEFAULT_HIGH_WATER_MARK   5000 /* in 1/1000 s */
 
#define FULL_FIFO_MARK   5 /* buffers free */
 
#define FIFO_PUT   0
 
#define FIFO_GET   1
 
#define NBC_HSIZE_LD   10
 
#define NBC_HSIZE_NUM   (1 << NBC_HSIZE_LD)
 
#define NBC_HSIZE_MASK   (NBC_HSIZE_NUM - 1)
 

Functions

static void nbc_set_speed (xine_nbc_t *this, int speed_val)
 
static void nbc_delay_init (xine_nbc_t *this)
 
static void nbc_delay_unpause (xine_nbc_t *this, int delay)
 
static void * nbc_delay_thread (void *data)
 
static void nbc_delay_base (xine_nbc_t *this)
 
static void nbc_delay_set (xine_nbc_t *this, uint32_t pts)
 
static void nbc_delay_clean (xine_nbc_t *this)
 
static void nbc_delay_stop (xine_nbc_t *this)
 
static void nbc_stats_reset (xine_nbc_t *this)
 
static void nbc_stats_flat (xine_nbc_t *this, int pts)
 
static int nbc_stats_add (xine_nbc_t *this, int pts)
 
static void report_progress (xine_stream_t *stream, int p)
 
static void dvbspeed_init (xine_nbc_t *this)
 
static void dvbspeed_close (xine_nbc_t *this)
 
static int dvbspeed_put (xine_nbc_fifo_info_t *fifo_info)
 
static int dvbspeed_get (xine_nbc_fifo_info_t *fifo_info)
 
void xine_nbc_event (xine_stream_private_t *stream, uint32_t type)
 
static void display_stats (xine_nbc_t *this)
 
static void report_stats (xine_nbc_t *this, int type)
 
static void nbc_compute_fifo_length (xine_nbc_t *this, fifo_buffer_t *fifo, buf_element_t *buf, int action)
 
static void nbc_alloc_cb (fifo_buffer_t *fifo, void *data)
 
static void nbc_put_cb (fifo_buffer_t *fifo, buf_element_t *buf, void *data)
 
static void nbc_get_cb (fifo_buffer_t *fifo, buf_element_t *buf, void *data)
 
int64_t xine_nbc_get_pos_pts (xine_nbc_t *this)
 
xine_nbc_txine_nbc_init (xine_stream_t *stream)
 
void xine_nbc_close (xine_nbc_t *this)
 

Macro Definition Documentation

◆ DEFAULT_HIGH_WATER_MARK

#define DEFAULT_HIGH_WATER_MARK   5000 /* in 1/1000 s */

Referenced by xine_nbc_init().

◆ FIFO_GET

#define FIFO_GET   1

Referenced by nbc_get_cb().

◆ FIFO_PUT

#define FIFO_PUT   0

◆ FULL_FIFO_MARK

#define FULL_FIFO_MARK   5 /* buffers free */

Referenced by nbc_alloc_cb(), and nbc_get_cb().

◆ LOG_MODULE

#define LOG_MODULE   "net_buf_ctrl"

◆ LOG_VERBOSE

#define LOG_VERBOSE

◆ NBC_HSIZE_LD

#define NBC_HSIZE_LD   10

◆ NBC_HSIZE_MASK

#define NBC_HSIZE_MASK   (NBC_HSIZE_NUM - 1)

Referenced by nbc_stats_add().

◆ NBC_HSIZE_NUM

#define NBC_HSIZE_NUM   (1 << NBC_HSIZE_LD)

Referenced by nbc_stats_flat(), and nbc_stats_reset().

◆ XINE_LIVE_PAUSE_ON

#define XINE_LIVE_PAUSE_ON   0x7ffffffd

Function Documentation

◆ display_stats()

static void display_stats ( xine_nbc_t * this)
static

References enabled, and isatty().

Referenced by nbc_get_cb(), and nbc_put_cb().

◆ dvbspeed_close()

static void dvbspeed_close ( xine_nbc_t * this)
static

◆ dvbspeed_get()

static int dvbspeed_get ( xine_nbc_fifo_info_t * fifo_info)
static

◆ dvbspeed_init()

static void dvbspeed_init ( xine_nbc_t * this)
static

◆ dvbspeed_put()

static int dvbspeed_put ( xine_nbc_fifo_info_t * fifo_info)
static

◆ nbc_alloc_cb()

static void nbc_alloc_cb ( fifo_buffer_t * fifo,
void * data )
static

◆ nbc_compute_fifo_length()

static void nbc_compute_fifo_length ( xine_nbc_t * this,
fifo_buffer_t * fifo,
buf_element_t * buf,
int action )
static

◆ nbc_delay_base()

static void nbc_delay_base ( xine_nbc_t * this)
static

References xine_gettime().

Referenced by dvbspeed_put().

◆ nbc_delay_clean()

static void nbc_delay_clean ( xine_nbc_t * this)
static

Referenced by dvbspeed_get().

◆ nbc_delay_init()

static void nbc_delay_init ( xine_nbc_t * this)
static

Referenced by dvbspeed_init().

◆ nbc_delay_set()

static void nbc_delay_set ( xine_nbc_t * this,
uint32_t pts )
static

◆ nbc_delay_stop()

static void nbc_delay_stop ( xine_nbc_t * this)
static

References nbc_set_speed(), and XINE_FINE_SPEED_NORMAL.

Referenced by dvbspeed_close().

◆ nbc_delay_thread()

static void * nbc_delay_thread ( void * data)
static

References nbc_delay_unpause(), and NULL.

Referenced by nbc_delay_set().

◆ nbc_delay_unpause()

static void nbc_delay_unpause ( xine_nbc_t * this,
int delay )
static

◆ nbc_get_cb()

static void nbc_get_cb ( fifo_buffer_t * fifo,
buf_element_t * buf,
void * data )
static

◆ nbc_put_cb()

static void nbc_put_cb ( fifo_buffer_t * fifo,
buf_element_t * buf,
void * data )
static

◆ nbc_set_speed()

static void nbc_set_speed ( xine_nbc_t * this,
int speed_val )
static

◆ nbc_stats_add()

static int nbc_stats_add ( xine_nbc_t * this,
int pts )
static

◆ nbc_stats_flat()

static void nbc_stats_flat ( xine_nbc_t * this,
int pts )
static

References NBC_HSIZE_NUM.

Referenced by dvbspeed_put().

◆ nbc_stats_reset()

static void nbc_stats_reset ( xine_nbc_t * this)
static

◆ report_progress()

static void report_progress ( xine_stream_t * stream,
int p )
static

◆ report_stats()

static void report_stats ( xine_nbc_t * this,
int type )
static

◆ xine_nbc_close()

void xine_nbc_close ( xine_nbc_t * this)

◆ xine_nbc_event()

void xine_nbc_event ( xine_stream_private_t * stream,
uint32_t type )

◆ xine_nbc_get_pos_pts()

int64_t xine_nbc_get_pos_pts ( xine_nbc_t * this)

Referenced by hls_live_start(), and hls_live_wait().

◆ xine_nbc_init()

xine_nbc_t * xine_nbc_init ( xine_stream_t * stream)