xine-lib: xine-lib-1.2.13/include/xine/metronom.h File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions
metronom.h File Reference
`#include <pthread.h>`
`#include <xine/video_out.h>`
`#include <xine.h>`

Go to the source code of this file.

## Data Structures
struct | metronom_s
struct | metronom_clock_s
struct | scr_plugin_s

## Macros
#define | PREBUFFER_PTS_OFFSET 12000
#define | DISC_STREAMSTART 0
#define | DISC_RELATIVE 1
#define | DISC_ABSOLUTE 2
#define | DISC_STREAMSEEK 3
#define | DISC_GAPLESS 4
#define | METRONOM_AV_OFFSET 2
#define | METRONOM_ADJ_VPTS_OFFSET 3
#define | METRONOM_FRAME_DURATION 4
#define | METRONOM_SPU_OFFSET 5
#define | METRONOM_VPTS_OFFSET 6
#define | METRONOM_PREBUFFER 7
#define | METRONOM_VPTS 8
#define | METRONOM_LOCK 9
#define | METRONOM_WAITING 10
#define | METRONOM_VDR_TRICK_PTS 11
#define | METRONOM_NO_LOCK 0x8000
#define | CLOCK_SCR_ADJUSTABLE 1

## Typedefs
typedef struct metronom_s | metronom_t
typedef struct metronom_clock_s | metronom_clock_t
typedef struct scr_plugin_s | scr_plugin_t
typedef void | xine_speed_change_cb_t(void *user_data, int new_speed)

## Functions
metronom_t * | _x_metronom_init (int have_video, int have_audio, xine_t *xine)
metronom_clock_t * | _x_metronom_clock_init (xine_t *xine)

## Macro Definition Documentation

## ◆ CLOCK_SCR_ADJUSTABLE

#define CLOCK_SCR_ADJUSTABLE 1

Referenced by metronom_clock_get_option(), metronom_clock_set_option(), and v4l_adjust_realtime_speed().

## ◆ DISC_ABSOLUTE

#define DISC_ABSOLUTE 2

Referenced by audio_decoder_loop(), metronom_handle_audio_discontinuity(), metronom_handle_discontinuity(), metronom_handle_video_discontinuity(), vdr_metronom_got_video_frame(), vdr_metronom_handle_audio_discontinuity(), vdr_metronom_handle_video_discontinuity(), vdr_vpts_offset_queue_add(), and video_decoder_loop().

## ◆ DISC_GAPLESS

#define DISC_GAPLESS 4

Referenced by metronom_handle_audio_discontinuity(), metronom_handle_discontinuity(), metronom_handle_video_discontinuity(), and play_internal().

## ◆ DISC_RELATIVE

#define DISC_RELATIVE 1

Referenced by audio_decoder_loop(), metronom_handle_discontinuity(), vdr_metronom_handle_audio_discontinuity(), vdr_metronom_handle_video_discontinuity(), and video_decoder_loop().

## ◆ DISC_STREAMSEEK

#define DISC_STREAMSEEK 3

Referenced by audio_decoder_loop(), metronom_handle_discontinuity(), vdr_metronom_handle_audio_discontinuity(), vdr_metronom_handle_video_discontinuity(), and video_decoder_loop().

## ◆ DISC_STREAMSTART

#define DISC_STREAMSTART 0

Referenced by audio_decoder_loop(), metronom_handle_discontinuity(), vdr_execute_rpc_command(), vdr_metronom_handle_audio_discontinuity(), vdr_metronom_handle_video_discontinuity(), vdr_vpts_offset_queue_add(), and video_decoder_loop().

## ◆ METRONOM_ADJ_VPTS_OFFSET

#define METRONOM_ADJ_VPTS_OFFSET 3

Referenced by ao_loop(), dxr3_decode_data(), and metronom_set_option().

## ◆ METRONOM_AV_OFFSET

#define METRONOM_AV_OFFSET 2

Referenced by get_duration(), metronom_get_option(), metronom_got_video_frame(), metronom_set_option(), xine_get_param(), and xine_set_param().

## ◆ METRONOM_FRAME_DURATION

#define METRONOM_FRAME_DURATION 4

Referenced by metronom_get_option().

## ◆ METRONOM_LOCK

#define METRONOM_LOCK 9

Referenced by metronom_got_audio_samples(), metronom_got_spu_packet(), metronom_got_video_frame(), metronom_set_master(), and metronom_set_option().

## ◆ METRONOM_NO_LOCK

#define METRONOM_NO_LOCK 0x8000

Referenced by metronom_get_option(), metronom_got_audio_samples(), metronom_got_spu_packet(), and metronom_got_video_frame().

## ◆ METRONOM_PREBUFFER

#define METRONOM_PREBUFFER 7

Referenced by dxr3_open_plugin(), metronom_get_option(), metronom_set_option(), open_plugin(), xine_get_param(), and xine_set_param().

## ◆ METRONOM_SPU_OFFSET

#define METRONOM_SPU_OFFSET 5

Referenced by metronom_get_option(), metronom_got_spu_packet(), metronom_set_option(), spudec_decode_data(), xine_get_param(), and xine_set_param().

## ◆ METRONOM_VDR_TRICK_PTS

#define METRONOM_VDR_TRICK_PTS 11

Referenced by metronom_get_option(), metronom_set_option(), and vdr_metronom_got_video_frame().

## ◆ METRONOM_VPTS

#define METRONOM_VPTS 8

Referenced by metronom_get_option(), metronom_got_audio_samples(), and metronom_got_video_frame().

## ◆ METRONOM_VPTS_OFFSET

#define METRONOM_VPTS_OFFSET 6

Referenced by argb_overlay_proc(), demux_slave_next(), handle_events(), metronom_get_option(), metronom_got_audio_samples(), metronom_got_spu_packet(), metronom_got_video_frame(), overlay_proc(), vdr_vpts_offset_queue_add_int(), and vdr_vpts_offset_queue_init().

## ◆ METRONOM_WAITING

#define METRONOM_WAITING 10

Referenced by metronom_get_option().

## ◆ PREBUFFER_PTS_OFFSET

#define PREBUFFER_PTS_OFFSET 12000

Referenced by _x_metronom_init().

## Typedef Documentation

## ◆ metronom_clock_t

typedef struct metronom_clock_s metronom_clock_t

## ◆ metronom_t

typedef struct metronom_s metronom_t

## ◆ scr_plugin_t

typedef struct scr_plugin_s scr_plugin_t

## ◆ xine_speed_change_cb_t

typedef void xine_speed_change_cb_t(void *user_data, int new_speed)

## Function Documentation

## ◆ _x_metronom_clock_init()

metronom_clock_t * _x_metronom_clock_init | ( | xine_t * | xine | ) |

References _, metronom_clock_s::adjust_clock, metronom_clock_s::get_current_time, metronom_clock_s::get_option, metronom_clock_private_t::mct, metronom_adjust_clock(), metronom_clock_exit(), metronom_clock_get_option(), metronom_clock_set_option(), metronom_get_current_time(), metronom_register_scr(), metronom_register_speed_change_callback(), metronom_resume_clock(), metronom_set_speed(), metronom_start_clock(), metronom_stop_clock(), metronom_sync_hook(), metronom_unregister_scr(), metronom_unregister_speed_change_callback(), metronom_clock_private_t::next_sync_pts, NULL, metronom_clock_private_t::providers, metronom_clock_s::register_scr, metronom_clock_s::register_speed_change_callback, metronom_clock_s::set_option, metronom_clock_private_t::speed_change_callbacks, metronom_clock_private_t::speed_change_used, STOP_PTS, metronom_clock_private_t::sync_thread_state, unixscr_init(), metronom_clock_s::unregister_scr, metronom_clock_s::unregister_speed_change_callback, and metronom_clock_private_t::uscr.

Referenced by xine_init().

## ◆ _x_metronom_init()

metronom_t * _x_metronom_init | ( | int | have_video,
|  | int | have_audio,
|  | xine_t * | xine )

References _, xine_s::config, metronom_base_av_offs_hook(), metronom_exit(), metronom_get_option(), metronom_got_audio_samples(), metronom_got_spu_packet(), metronom_got_video_frame(), metronom_handle_audio_discontinuity(), metronom_handle_video_discontinuity(), metronom_set_audio_rate(), metronom_set_master(), metronom_set_option(), NULL, PREBUFFER_PTS_OFFSET, and config_values_s::register_num.

Referenced by fftgraph_port_open(), fftscope_port_open(), fooviz_open_plugin(), goom_open_plugin(), oscope_port_open(), tdaan_port_open(), and xine_stream_new().