VLC  4.0.0-dev
Modules | Files | Data Structures | Macros | Typedefs | Enumerations | Functions

Input thread. More...

Collaboration diagram for Input:

Modules

 Data blocks
 Blocks of binary data.
 
 Decoder
 Audio, video and text decoders.
 
 Demultiplexer
 Demultiplexers (file format parsers)
 
 ES output
 Elementary streams output.
 
 Input variables
 The input provides multiples variable you can write to and/or read from.
 
 Timestamps, error-free
 These functions support generating timestamps without long term rounding errors due to sample rate conversions.
 
 Stream
 Buffered input byte streams.
 
 Stream Extractor
 If a stream can be viewed as a directory, such as when opening a compressed archive, a stream-extractor is used to get access to the entities inside said stream.
 

Files

file  vlc_input.h
 Input thread interface.
 

Data Structures

struct  seekpoint_t
 
struct  input_title_t
 
struct  input_attachment_t
 
struct  input_thread_t
 Main structure representing an input thread. More...
 

Macros

#define INPUT_TITLE_MENU   0x01 /* Menu title */
 
#define INPUT_TITLE_INTERACTIVE   0x02 /* Interactive title. Playback position has no meaning. */
 
#define INPUT_RECORD_PREFIX   "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"
 Record prefix string. More...
 
#define INPUT_RATE_DEFAULT   1000
 Input rate. More...
 
#define INPUT_RATE_MIN   32 /* Up to 32/1 */
 Minimal rate value. More...
 
#define INPUT_RATE_MAX   32000 /* Up to 1/32 */
 Maximal rate value. More...
 

Typedefs

typedef struct input_title_t input_title_t
 
typedef struct input_resource_t input_resource_t
 This defines an opaque input resource handler. More...
 
typedef enum input_state_e input_state_e
 Input state. More...
 
typedef enum input_event_type_e input_event_type_e
 Input events. More...
 

Enumerations

enum  input_state_e {
  INIT_S = 0, OPENING_S, PLAYING_S, PAUSE_S,
  END_S, ERROR_S
}
 Input state. More...
 
enum  input_event_type_e {
  INPUT_EVENT_STATE, INPUT_EVENT_DEAD, INPUT_EVENT_RATE, INPUT_EVENT_POSITION,
  INPUT_EVENT_LENGTH, INPUT_EVENT_TITLE, INPUT_EVENT_CHAPTER, INPUT_EVENT_PROGRAM,
  INPUT_EVENT_ES, INPUT_EVENT_TELETEXT, INPUT_EVENT_RECORD, INPUT_EVENT_ITEM_META,
  INPUT_EVENT_ITEM_INFO, INPUT_EVENT_ITEM_EPG, INPUT_EVENT_STATISTICS, INPUT_EVENT_SIGNAL,
  INPUT_EVENT_AUDIO_DELAY, INPUT_EVENT_SUBTITLE_DELAY, INPUT_EVENT_BOOKMARK, INPUT_EVENT_CACHE,
  INPUT_EVENT_AOUT, INPUT_EVENT_VOUT
}
 Input events. More...
 
enum  input_query_e {
  INPUT_GET_POSITION, INPUT_SET_POSITION, INPUT_GET_LENGTH, INPUT_GET_TIME,
  INPUT_SET_TIME, INPUT_GET_RATE, INPUT_SET_RATE, INPUT_GET_STATE,
  INPUT_SET_STATE, INPUT_GET_AUDIO_DELAY, INPUT_SET_AUDIO_DELAY, INPUT_GET_SPU_DELAY,
  INPUT_SET_SPU_DELAY, INPUT_NAV_ACTIVATE, INPUT_NAV_UP, INPUT_NAV_DOWN,
  INPUT_NAV_LEFT, INPUT_NAV_RIGHT, INPUT_NAV_POPUP, INPUT_NAV_MENU,
  INPUT_ADD_INFO, INPUT_REPLACE_INFOS, INPUT_MERGE_INFOS, INPUT_DEL_INFO,
  INPUT_GET_BOOKMARK, INPUT_GET_BOOKMARKS, INPUT_CLEAR_BOOKMARKS, INPUT_ADD_BOOKMARK,
  INPUT_CHANGE_BOOKMARK, INPUT_DEL_BOOKMARK, INPUT_SET_BOOKMARK, INPUT_GET_TITLE_INFO,
  INPUT_GET_FULL_TITLE_INFO, INPUT_GET_SEEKPOINTS, INPUT_GET_ATTACHMENTS, INPUT_GET_ATTACHMENT,
  INPUT_ADD_SLAVE, INPUT_SET_RECORD_STATE, INPUT_GET_RECORD_STATE, INPUT_RESTART_ES,
  INPUT_UPDATE_VIEWPOINT, INPUT_SET_INITIAL_VIEWPOINT, INPUT_GET_AOUT, INPUT_GET_VOUTS,
  INPUT_GET_ES_OBJECTS, INPUT_SET_RENDERER, INPUT_GET_PCR_SYSTEM, INPUT_MODIFY_PCR_SYSTEM
}
 Input queries. More...
 

Functions

static seekpoint_tvlc_seekpoint_New (void)
 
static void vlc_seekpoint_Delete (seekpoint_t *point)
 
static seekpoint_tvlc_seekpoint_Duplicate (const seekpoint_t *src)
 
static input_title_tvlc_input_title_New (void)
 
static void vlc_input_title_Delete (input_title_t *t)
 
static input_title_tvlc_input_title_Duplicate (const input_title_t *t)
 
static void vlc_input_attachment_Delete (input_attachment_t *a)
 
static input_attachment_tvlc_input_attachment_New (const char *psz_name, const char *psz_mime, const char *psz_description, const void *p_data, size_t i_data)
 
static input_attachment_tvlc_input_attachment_Duplicate (const input_attachment_t *a)
 

Detailed Description

Input thread.

Macro Definition Documentation

◆ INPUT_RATE_DEFAULT

#define INPUT_RATE_DEFAULT   1000

Input rate.

It is an float used by the variable "rate" in the range [INPUT_RATE_DEFAULT/INPUT_RATE_MAX, INPUT_RATE_DEFAULT/INPUT_RATE_MIN] the default value being 1. It represents the ratio of playback speed to nominal speed (bigger is faster).

Internally, the rate is stored as a value in the range [INPUT_RATE_MIN, INPUT_RATE_MAX]. internal rate = INPUT_RATE_DEFAULT / rate variable Default rate value

Referenced by ClockGetTsOffset(), ClockStreamToSystem(), ClockSystemToStream(), Control(), Create(), CreateDecoder(), DecoderFixTs(), DecoderGetDisplayRate(), DecoderPlayAudio(), DecoderPlayVideo(), EsCreateDecoder(), EsOutChangeRate(), EsOutFrameNext(), EsOutGetBuffering(), Init(), input_clock_ConvertTS(), input_SendEventRate(), input_vaControl(), RateCallback(), vlm_ControlMediaInstanceGets(), and vlm_media_instance_Init().

◆ INPUT_RATE_MAX

#define INPUT_RATE_MAX   32000 /* Up to 1/32 */

Maximal rate value.

Referenced by Control().

◆ INPUT_RATE_MIN

#define INPUT_RATE_MIN   32 /* Up to 32/1 */

Minimal rate value.

Referenced by Control().

◆ INPUT_RECORD_PREFIX

#define INPUT_RECORD_PREFIX   "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"

Record prefix string.

TODO make it configurable.

Referenced by EsOutSetRecord().

◆ INPUT_TITLE_INTERACTIVE

#define INPUT_TITLE_INTERACTIVE   0x02 /* Interactive title. Playback position has no meaning. */

◆ INPUT_TITLE_MENU

#define INPUT_TITLE_MENU   0x01 /* Menu title */

Typedef Documentation

◆ input_event_type_e

Input events.

You can catch input event by adding a callback on the variable "intf-event". This variable is an integer that will hold a input_event_type_e value.

◆ input_resource_t

This defines an opaque input resource handler.

◆ input_state_e

Input state.

This enum is used by the variable "state"

◆ input_title_t

typedef struct input_title_t input_title_t

Enumeration Type Documentation

◆ input_event_type_e

Input events.

You can catch input event by adding a callback on the variable "intf-event". This variable is an integer that will hold a input_event_type_e value.

Enumerator
INPUT_EVENT_STATE 
INPUT_EVENT_DEAD 
INPUT_EVENT_RATE 
INPUT_EVENT_POSITION 
INPUT_EVENT_LENGTH 
INPUT_EVENT_TITLE 
INPUT_EVENT_CHAPTER 
INPUT_EVENT_PROGRAM 
INPUT_EVENT_ES 
INPUT_EVENT_TELETEXT 
INPUT_EVENT_RECORD 
INPUT_EVENT_ITEM_META 
INPUT_EVENT_ITEM_INFO 
INPUT_EVENT_ITEM_EPG 
INPUT_EVENT_STATISTICS 
INPUT_EVENT_SIGNAL 
INPUT_EVENT_AUDIO_DELAY 
INPUT_EVENT_SUBTITLE_DELAY 
INPUT_EVENT_BOOKMARK 
INPUT_EVENT_CACHE 
INPUT_EVENT_AOUT 
INPUT_EVENT_VOUT 

◆ input_query_e

Input queries.

Enumerator
INPUT_GET_POSITION 
INPUT_SET_POSITION 
INPUT_GET_LENGTH 
INPUT_GET_TIME 
INPUT_SET_TIME 
INPUT_GET_RATE 
INPUT_SET_RATE 
INPUT_GET_STATE 
INPUT_SET_STATE 
INPUT_GET_AUDIO_DELAY 
INPUT_SET_AUDIO_DELAY 
INPUT_GET_SPU_DELAY 
INPUT_SET_SPU_DELAY 
INPUT_NAV_ACTIVATE 

Activate the navigation item selected.

res=can fail

INPUT_NAV_UP 

Use the up arrow to select a navigation item above.

res=can fail

INPUT_NAV_DOWN 

Use the down arrow to select a navigation item under.

res=can fail

INPUT_NAV_LEFT 

Use the left arrow to select a navigation item on the left.

res=can fail

INPUT_NAV_RIGHT 

Use the right arrow to select a navigation item on the right.

res=can fail

INPUT_NAV_POPUP 

Activate the popup Menu (for BD).

res=can fail

INPUT_NAV_MENU 

Activate disc Root Menu.

res=can fail

INPUT_ADD_INFO 
INPUT_REPLACE_INFOS 
INPUT_MERGE_INFOS 
INPUT_DEL_INFO 
INPUT_GET_BOOKMARK 
INPUT_GET_BOOKMARKS 
INPUT_CLEAR_BOOKMARKS 
INPUT_ADD_BOOKMARK 
INPUT_CHANGE_BOOKMARK 
INPUT_DEL_BOOKMARK 
INPUT_SET_BOOKMARK 
INPUT_GET_TITLE_INFO 
INPUT_GET_FULL_TITLE_INFO 
INPUT_GET_SEEKPOINTS 
INPUT_GET_ATTACHMENTS 
INPUT_GET_ATTACHMENT 
INPUT_ADD_SLAVE 
INPUT_SET_RECORD_STATE 
INPUT_GET_RECORD_STATE 
INPUT_RESTART_ES 
INPUT_UPDATE_VIEWPOINT 
INPUT_SET_INITIAL_VIEWPOINT 
INPUT_GET_AOUT 
INPUT_GET_VOUTS 
INPUT_GET_ES_OBJECTS 
INPUT_SET_RENDERER 
INPUT_GET_PCR_SYSTEM 
INPUT_MODIFY_PCR_SYSTEM 

◆ input_state_e

Input state.

This enum is used by the variable "state"

Enumerator
INIT_S 
OPENING_S 
PLAYING_S 
PAUSE_S 
END_S 
ERROR_S 

Function Documentation

◆ vlc_input_attachment_Delete()

static void vlc_input_attachment_Delete ( input_attachment_t a)
inlinestatic

◆ vlc_input_attachment_Duplicate()

static input_attachment_t* vlc_input_attachment_Duplicate ( const input_attachment_t a)
inlinestatic

◆ vlc_input_attachment_New()

static input_attachment_t* vlc_input_attachment_New ( const char *  psz_name,
const char *  psz_mime,
const char *  psz_description,
const void *  p_data,
size_t  i_data 
)
inlinestatic

◆ vlc_input_title_Delete()

static void vlc_input_title_Delete ( input_title_t t)
inlinestatic

◆ vlc_input_title_Duplicate()

static input_title_t* vlc_input_title_Duplicate ( const input_title_t t)
inlinestatic

◆ vlc_input_title_New()

static input_title_t* vlc_input_title_New ( void  )
inlinestatic

◆ vlc_seekpoint_Delete()

static void vlc_seekpoint_Delete ( seekpoint_t point)
inlinestatic

◆ vlc_seekpoint_Duplicate()

static seekpoint_t* vlc_seekpoint_Duplicate ( const seekpoint_t src)
inlinestatic

◆ vlc_seekpoint_New()

static seekpoint_t* vlc_seekpoint_New ( void  )
inlinestatic