VLC  3.0.0-git
Modules | Files | Data Structures | Macros | Typedefs | Enumerations | Functions
Input

Input thread. More...

Collaboration diagram for Input:

Modules

 Data blocks
 Blocks of binary data.
 
 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.
 
 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_ADD_SUBTITLE, 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_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 aout_DecPlay(), aout_DecSynchronize(), aout_FiltersPlay(), ClockGetTsOffset(), ClockStreamToSystem(), ClockSystemToStream(), Control(), Create(), CreateDecoder(), decoder_GetDisplayRate(), DecoderFixTs(), DecoderGetDisplayRate(), DecoderPlayAudio(), DecoderPlayVideo(), 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_ADD_SUBTITLE 
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_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