QVisu
Qt-based visualization for smart homes
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
vlc_input.h File Reference
#include <vlc_es.h>
#include <vlc_meta.h>
#include <vlc_epg.h>
#include <vlc_events.h>
#include <vlc_input_item.h>
#include <string.h>

Go to the source code of this file.

Classes

struct  seekpoint_t
 
struct  input_title_t
 
struct  input_attachment_t
 
struct  input_thread_t
 

Macros

#define INPUT_UPDATE_TITLE   0x0010
 
#define INPUT_UPDATE_SEEKPOINT   0x0020
 
#define INPUT_UPDATE_META   0x0040
 
#define INPUT_UPDATE_SIGNAL   0x0080
 
#define INPUT_UPDATE_TITLE_LIST   0x0100
 
#define INPUT_RECORD_PREFIX   "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"
 
#define INPUT_RATE_DEFAULT   1000
 
#define INPUT_RATE_MIN   32 /* Up to 32/1 */
 
#define INPUT_RATE_MAX   32000 /* Up to 1/32 */
 
#define input_Create(a, b, c, d)   input_Create(VLC_OBJECT(a),b,c,d)
 
#define input_CreateAndStart(a, b, c)   input_CreateAndStart(VLC_OBJECT(a),b,c)
 
#define input_Read(a, b)   input_Read(VLC_OBJECT(a),b)
 

Typedefs

typedef struct
input_thread_private_t 
input_thread_private_t
 
typedef struct input_resource_t input_resource_t
 
typedef enum input_state_e input_state_e
 
typedef enum input_event_type_e input_event_type_e
 

Enumerations

enum  input_state_e {
  INIT_S = 0, OPENING_S, PLAYING_S, PAUSE_S,
  END_S, ERROR_S
}
 
enum  input_event_type_e {
  INPUT_EVENT_STATE, INPUT_EVENT_DEAD, INPUT_EVENT_ABORT, 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_NAME, 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
}
 
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_ADD_INFO, INPUT_REPLACE_INFOS,
  INPUT_MERGE_INFOS, INPUT_GET_INFO, INPUT_DEL_INFO, INPUT_SET_NAME,
  INPUT_GET_VIDEO_FPS, 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_ATTACHMENTS, INPUT_GET_ATTACHMENT, INPUT_ADD_SLAVE,
  INPUT_ADD_SUBTITLE, INPUT_SET_RECORD_STATE, INPUT_GET_RECORD_STATE, INPUT_RESTART_ES,
  INPUT_GET_AOUT, INPUT_GET_VOUTS, INPUT_GET_ES_OBJECTS, INPUT_GET_PCR_SYSTEM,
  INPUT_MODIFY_PCR_SYSTEM
}
 

Functions

VLC_API input_thread_tinput_Create (vlc_object_t *p_parent, input_item_t *, const char *psz_log, input_resource_t *) VLC_USED
 
VLC_API input_thread_tinput_CreateAndStart (vlc_object_t *p_parent, input_item_t *, const char *psz_log) VLC_USED
 
VLC_API int input_Start (input_thread_t *)
 
VLC_API void input_Stop (input_thread_t *, bool b_abort)
 
VLC_API int input_Read (vlc_object_t *, input_item_t *)
 
VLC_API int input_vaControl (input_thread_t *, int i_query, va_list)
 
VLC_API int input_Control (input_thread_t *, int i_query,...)
 
VLC_API void input_Close (input_thread_t *)
 
void input_Join (input_thread_t *)
 
void input_Release (input_thread_t *)
 
VLC_API input_item_tinput_GetItem (input_thread_t *) VLC_USED
 
VLC_API decoder_tinput_DecoderCreate (vlc_object_t *, es_format_t *, input_resource_t *) VLC_USED
 
VLC_API void input_DecoderDelete (decoder_t *)
 
VLC_API void input_DecoderDecode (decoder_t *, block_t *, bool b_do_pace)
 
VLC_API char * input_CreateFilename (vlc_object_t *, const char *psz_path, const char *psz_prefix, const char *psz_extension) VLC_USED
 
VLC_API input_resource_tinput_resource_New (vlc_object_t *) VLC_USED
 
VLC_API void input_resource_Release (input_resource_t *)
 
VLC_API void input_resource_TerminateVout (input_resource_t *)
 
VLC_API void input_resource_Terminate (input_resource_t *)
 
VLC_API audio_output_tinput_resource_HoldAout (input_resource_t *)
 

Detailed Description

This file defines functions, structures and enums for input objects in vlc

Macro Definition Documentation

#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

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

Maximal rate value

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

Minimal rate value

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

Record prefix string. TODO make it configurable.

Typedef Documentation

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.

This defines an opaque input resource handler.

Input state

This enum is used by the variable "state"

This defines private core storage for an input.

Enumeration Type Documentation

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 queries

Input state

This enum is used by the variable "state"

Function Documentation

VLC_API char* input_CreateFilename ( vlc_object_t ,
const char *  psz_path,
const char *  psz_prefix,
const char *  psz_extension 
)

This function creates a sane filename path.

VLC_API input_item_t* input_GetItem ( input_thread_t )

Get the input item for an input thread

You have to keep a reference to the input or to the input_item_t until you do not need it anymore.

VLC_API audio_output_t* input_resource_HoldAout ( input_resource_t )
Returns
the current audio output if any. Use vlc_object_release() to drop the reference.
VLC_API input_resource_t* input_resource_New ( vlc_object_t )

It creates an empty input resource handler.

The given object MUST stay alive as long as the input_resource_t is not deleted.

VLC_API void input_resource_Release ( input_resource_t )

It releases an input resource.

VLC_API void input_resource_Terminate ( input_resource_t )

This function releases all resources (object).

VLC_API void input_resource_TerminateVout ( input_resource_t )

Forcefully destroys the video output (e.g. when the playlist is stopped).