xine-lib  1.2.9
Macros | Functions
video_decoder.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include <errno.h>
#include <sys/time.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include "xine_private.h"
#include <sched.h>

Macros

#define LOG_MODULE   "video_decoder"
 
#define LOG_VERBOSE
 
#define SPU_SLEEP_INTERVAL   (90000/2)
 
#define SCHED_OTHER   0
 

Functions

static void update_spu_decoder (xine_stream_t *stream, int type)
 
int _x_spu_decoder_sleep (xine_stream_t *stream, int64_t next_spu_vpts)
 
static void video_decoder_update_disable_flush_at_discontinuity (void *disable_decoder_flush_at_discontinuity, xine_cfg_entry_t *entry)
 
static void * video_decoder_loop (void *stream_gen)
 
int _x_video_decoder_init (xine_stream_t *stream)
 
void _x_video_decoder_shutdown (xine_stream_t *stream)
 

Macro Definition Documentation

◆ LOG_MODULE

#define LOG_MODULE   "video_decoder"

◆ LOG_VERBOSE

#define LOG_VERBOSE

◆ SCHED_OTHER

#define SCHED_OTHER   0

◆ SPU_SLEEP_INTERVAL

#define SPU_SLEEP_INTERVAL   (90000/2)

Referenced by _x_spu_decoder_sleep().

Function Documentation

◆ _x_spu_decoder_sleep()

int _x_spu_decoder_sleep ( xine_stream_t stream,
int64_t  next_spu_vpts 
)

◆ _x_video_decoder_init()

int _x_video_decoder_init ( xine_stream_t stream)

◆ _x_video_decoder_shutdown()

void _x_video_decoder_shutdown ( xine_stream_t stream)

◆ update_spu_decoder()

static void update_spu_decoder ( xine_stream_t stream,
int  type 
)
static

◆ video_decoder_loop()

static void* video_decoder_loop ( void *  stream_gen)
static

References _, _x_buf_video_name(), _x_extra_info_merge(), _x_extra_info_reset(), _x_free_spu_decoder(), _x_free_video_decoder(), _x_get_video_decoder(), _x_meta_info_get(), _x_meta_info_set_utf8(), _x_stream_info_get(), _x_stream_info_set(), xine_ticket_s::acquire, BUF_CONTROL_AUDIO_CHANNEL, BUF_CONTROL_DISCONTINUITY, BUF_CONTROL_END, BUF_CONTROL_FLUSH_DECODER, BUF_CONTROL_HEADERS_DONE, BUF_CONTROL_NEWPTS, BUF_CONTROL_NOP, BUF_CONTROL_QUIT, BUF_CONTROL_RESET_DECODER, BUF_CONTROL_RESET_TRACK_MAP, BUF_CONTROL_SPU_CHANNEL, BUF_CONTROL_START, BUF_FLAG_GAPLESS_SW, BUF_FLAG_SEEK, BUF_SPU_BASE, BUF_VIDEO_BASE, xine_s::config, xine_event_t::data_length, spu_decoder_s::decode_data, buf_element_s::decoder_flags, buf_element_s::decoder_info, DISC_ABSOLUTE, buf_element_s::disc_off, DISC_RELATIVE, DISC_STREAMSEEK, DISC_STREAMSTART, buf_element_s::extra_info, buf_element_s::free_buffer, fifo_buffer_s::get, xine_video_port_s::get_property, metronom_s::handle_video_discontinuity, lprintf, xine_stream_s::master, xine_stream_s::metronom, NULL, config_values_s::register_bool, xine_ticket_s::release, xine_ticket_s::renew, spu_decoder_s::reset, xine_stream_s::spu_channel, xine_stream_s::spu_channel_auto, xine_stream_s::spu_channel_letterbox, xine_stream_s::spu_channel_user, xine_stream_s::spu_decoder_plugin, xine_ticket_s::ticket_revoked, buf_element_s::type, xine_event_t::type, update_spu_decoder(), video_decoder_update_disable_flush_at_discontinuity(), xine_stream_s::video_fifo, xine_stream_s::video_out, VO_PROP_BUFS_IN_FIFO, VO_PROP_NUM_STREAMS, xine_stream_s::xine, xine_event_send(), XINE_EVENT_UI_CHANNELS_CHANGED, xine_log(), XINE_LOG_MSG, XINE_META_INFO_VIDEOCODEC, xine_profiler_allocate_slot(), xine_profiler_start_count(), xine_profiler_stop_count(), XINE_STREAM_INFO_IGNORE_SPU, XINE_STREAM_INFO_IGNORE_VIDEO, XINE_STREAM_INFO_VIDEO_HANDLED, and xine_usec_sleep().

Referenced by _x_video_decoder_init().

◆ video_decoder_update_disable_flush_at_discontinuity()

static void video_decoder_update_disable_flush_at_discontinuity ( void *  disable_decoder_flush_at_discontinuity,
xine_cfg_entry_t entry 
)
static