
Go to the source code of this file.
| #define input_Create | ( | a, | |||
| b, | |||||
| c, | |||||
| d | ) | __input_Create(VLC_OBJECT(a),b,c,d) |
Referenced by libvlc_media_player_play(), PlayItem(), vlm_ControlMediaInstanceStart(), and vlm_OnMediaUpdate().
| #define input_CreateAndStart | ( | a, | |||
| b, | |||||
| c | ) | __input_CreateAndStart(VLC_OBJECT(a),b,c) |
Referenced by ParseUrls().
| #define INPUT_RATE_DEFAULT 1000 |
Input rate.
It is an integer used by the variable "rate" in the range [INPUT_RATE_MIN, INPUT_RATE_MAX] the default value being INPUT_RATE_DEFAULT.
A value lower than INPUT_RATE_DEFAULT plays faster. A value higher than INPUT_RATE_DEFAULT plays slower. Default rate value
Referenced by aout_DecPlay(), aout_InputNew(), aout_InputPlay(), ClockGetTsOffset(), ClockStreamToSystem(), ClockSystemToStream(), Control(), Create(), CreateDecoder(), decoder_GetDisplayRate(), decoder_SynchroChoose(), DecoderFixTs(), DecoderGetDisplayRate(), DecoderPlayAudio(), DecoderPlayVideo(), InputManager::delInput(), EsOutFrameNext(), EsOutGetBuffering(), Input(), input_clock_ConvertTS(), inputResamplingStop(), InterfaceWindow::MessageReceived(), InputManager::normalRate(), PutAction(), InterfaceWindow::QuitRequested(), InputManager::setInput(), MediaControlView::SetStatus(), Timer::Timer(), SpeedControlWidget::updateControls(), and vlm_media_instance_Init().
| #define INPUT_RATE_MAX 32000 |
| #define INPUT_RATE_MIN 32 |
| #define input_Read | ( | a, | |||
| b | ) | __input_Read(VLC_OBJECT(a),b) |
| #define INPUT_RECORD_PREFIX "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p" |
| #define INPUT_UPDATE_META 0x0040 |
Referenced by CDDAReadBlocks(), CDDASeek(), Ogg_ExtractMeta(), ReadICYMeta(), UpdateGenericFromAccess(), and UpdateGenericFromDemux().
| #define INPUT_UPDATE_NONE 0x0000 |
| #define INPUT_UPDATE_SEEKPOINT 0x0020 |
Referenced by Block(), Control(), Demux(), DvdReadFindCell(), DvdReadSeek(), DvdReadSetArea(), MP4_UpdateSeekpoint(), virtual_segment_c::Seek(), Seek(), SetTime(), SetTitle(), virtual_segment_c::UpdateCurrentToChapter(), UpdateTitleSeekpointFromAccess(), UpdateTitleSeekpointFromDemux(), VCDSeek(), and VCDSetOrigin().
| #define INPUT_UPDATE_SIGNAL 0x0080 |
Referenced by Block(), and UpdateGenericFromAccess().
| #define INPUT_UPDATE_SIZE 0x0001 |
Referenced by Block(), CDDAControl(), CDDAFixupPlaylist(), CDDARead(), CDDAReadBlocks(), Control(), Read(), UpdateGenericFromAccess(), UpdateGenericFromDemux(), and VCDSetOrigin().
| #define INPUT_UPDATE_TITLE 0x0010 |
Referenced by Block(), CDDAControl(), CDDAFixupPlaylist(), CDDARead(), CDDAReadBlocks(), CDDASeek(), Control(), Demux(), DvdReadSetArea(), virtual_segment_c::Seek(), SetTitle(), virtual_segment_c::UpdateCurrentToChapter(), UpdateTitleSeekpointFromAccess(), UpdateTitleSeekpointFromDemux(), and VCDSetOrigin().
| #define VLC__INPUT_H 1 |
| typedef struct input_clock_t input_clock_t |
| typedef struct input_resource_t input_resource_t |
This defines an opaque input resource handler.
| typedef struct input_thread_private_t input_thread_private_t |
This defines private core storage for an input.
| enum 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.
| enum input_query_e |
Input queries.
| enum input_state_e |
| input_thread_t* __input_Create | ( | vlc_object_t * | p_parent, | |
| input_item_t * | p_item, | |||
| const char * | psz_log, | |||
| input_resource_t * | p_resource | |||
| ) |
Create a new input_thread_t.
You need to call input_Start on it when you are done adding callback on the variables/events you want to monitor.
| p_parent | a vlc_object | |
| p_item | an input item | |
| psz_log | an optional prefix for this input logs | |
| p_resource | an optional input ressource |
References Create().
Referenced by __input_CreateAndStart().
| input_thread_t* __input_CreateAndStart | ( | vlc_object_t * | p_parent, | |
| input_item_t * | p_item, | |||
| const char * | psz_log | |||
| ) |
Create a new input_thread_t and start it.
Provided for convenience.
References __input_Create(), input_Start(), and vlc_object_release.
| int __input_Read | ( | vlc_object_t * | p_parent, | |
| input_item_t * | p_item | |||
| ) |
Initialize an input thread and run it until it stops by itself.
| p_parent | a vlc_object | |
| p_item | an input item |
References Create(), End(), Init(), MainLoop(), VLC_EGENERIC, vlc_object_release, and VLC_SUCCESS.
| static int input_AddSubtitle | ( | input_thread_t * | p_input, | |
| const char * | psz_url, | |||
| bool | b_check_extension | |||
| ) | [inline, static] |
It will add a new subtitle source to the input.
Provided for convenience.
Referenced by VLCControls::addSubtitleFile:, MainInterface::dropEventPlay(), libvlc_video_set_subtitle_file(), and DialogsProvider::loadSubtitlesFile().
| int input_Control | ( | input_thread_t * | p_input, | |
| int | i_query, | |||
| ... | ||||
| ) |
Control function for inputs.
| p_input | input handle | |
| i_query | query type |
References input_vaControl().
Referenced by VLCBookmarks::add:, CDDAControl(), CDDAMetaInfo(), CDDARead(), CDDAReadBlocks(), CDDASeek(), VLCBookmarks::clear:, Create(), DecoderGetInputAttachments(), VLCBookmarks::edit:, VLCBookmarks::edit_ok:, EsOutProgramEpg(), EsOutProgramMeta(), EsOutProgramUpdateScrambled(), EsOutUpdateInfo(), VLCBookmarks::extract:, FilterCallback(), VLCBookmarks::goToBookmark:, VLCControls::goToSpecificTime:, libvlc_media_player_get_fps(), libvlc_media_player_pause(), libvlc_media_player_play(), LoadFontsFromAttachments(), Play(), VLCBookmarks::remove:, VCDMetaInfo(), VCDUpdateTitle(), and video_widget_ready().
| 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.
References asprintf(), closedir, DIR_SEP, filename_sanitize(), path_sanitize(), str_format, and utf8_opendir().
Referenced by EsOutSetRecord(), and Start().
Put a block_t in the decoder's fifo.
Thread-safe w.r.t. the decoder. May be a cancellation point.
| p_dec | the decoder object | |
| p_block | the data block |
References decoder_owner_sys_t::b_buffering, block_FifoEmpty(), block_FifoPace(), block_FifoPut(), block_FifoSize(), msg_Warn, decoder_owner_sys_t::p_fifo, and decoder_t::p_owner.
Referenced by DecoderFlush(), EsOutSend(), and Send().
| void input_DecoderDelete | ( | decoder_t * | p_dec | ) |
Kills a decoder thread and waits until it's finished.
| p_input | the input thread | |
| p_es | the es descriptor |
References decoder_owner_sys_t::b_buffering, decoder_owner_sys_t::b_flushing, decoder_owner_sys_t::b_paused, decoder_owner_sys_t::b_supported, decoder_owner_sys_t::cc, DeleteDecoder(), i, input_DecoderSetCcState(), decoder_owner_sys_t::lock, module_unneed, decoder_t::p_module, decoder_t::p_owner, vlc_cond_signal(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_kill, vlc_object_release, vlc_thread_join, and decoder_owner_sys_t::wait_request.
Referenced by Del(), EsDestroyDecoder(), EsOutDelete(), and EsOutSetRecord().
| decoder_t* input_DecoderNew | ( | input_thread_t * | p_input, | |
| es_format_t * | fmt, | |||
| input_clock_t * | p_clock, | |||
| sout_instance_t * | p_sout | |||
| ) |
Spawns a new decoder thread.
| p_input | the input thread | |
| p_es | the es descriptor |
References _, AUDIO_ES, CreateDecoder(), DecoderThread(), DecoderUnsupportedCodec(), DeleteDecoder(), dialog_Fatal, decoder_t::fmt_out, es_format_t::i_cat, es_format_t::i_codec, module_unneed, msg_Err, N_, decoder_owner_sys_t::p_clock, decoder_t::p_module, decoder_t::p_owner, psz_type, UNKNOWN_ES, vlc_gettext(), vlc_object_release, vlc_thread_create, VLC_THREAD_PRIORITY_AUDIO, and VLC_THREAD_PRIORITY_VIDEO.
Referenced by Add(), EsCreateDecoder(), and EsOutSetRecord().
| input_resource_t* input_DetachResource | ( | input_thread_t * | ) |
This function detaches resources from a dead input.
It MUST be called on a dead input (p_input->b_dead true) otherwise it will assert. It does not support concurrent calls.
References input_thread_t::b_dead, input_resource_Detach(), input_resource_SetInput(), input_thread_t::p, input_thread_private_t::p_resource, and input_thread_private_t::p_sout.
Referenced by LoopInput(), release_input_thread(), vlm_ControlMediaInstanceStart(), and vlm_MediaInstanceDelete().
| static aout_instance_t* input_GetAout | ( | input_thread_t * | p_input | ) | [inline, static] |
Return the audio output (if any) associated with an input.
| p_input | an input thread |
Referenced by AudioConfig(), MainInputManager::getAout(), getAout(), GetVLCObject(), VlcProc::on_intf_event_changed(), PutAction(), EqualizerPreamp::set(), and VLCMain::setupMenus.
| input_item_t* input_GetItem | ( | input_thread_t * | p_input | ) |
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.
Get the input item for an input thread.
if it is used after p_input is destroyed nothing prevent it from being freed.
References input_thread_t::p, and input_thread_private_t::p_item.
Referenced by __str_format_meta(), Add(), VLCControls::addSubtitleFile:, ArtCallback(), CDDAFixupPlaylist(), Demux(), DisplayVoutTitle(), EsOutMeta(), EvaluateRPN(), CmdUpdateItem::execute(), VLCBookmarks::extract:, GetCurrentItem(), ItemChange(), DialogsProvider::loadSubtitlesFile(), VLCMain::manageIntf:, MediaInfoDialog::MediaInfoDialog(), MMSHOpen(), mvar_InfoSetNew(), Timer::Notify(), Open(), ParseExecute(), Playlist(), ReadMetaData(), ActionsManager::record(), Redraw(), InputManager::requestArtUpdate(), Run(), InputManager::setInput(), StateChange(), Statistics(), VLCMain::timesliderUpdate:, TrackChange(), FileInfo::UpdateFileInfo(), VLCVoutView::updateTitle, vlclua_get_title(), vlclua_input_info(), vlclua_input_stats(), vlclua_playlist_current(), and WaitPreparsed().
| static input_state_e input_GetState | ( | input_thread_t * | p_input | ) | [inline, static] |
It will return the current state of the input.
Provided for convenience.
Referenced by VLCMain::manage, and VLCMain::manageIntf:.
| static vout_thread_t* input_GetVout | ( | input_thread_t * | p_input | ) | [inline, static] |
Return one of the video output (if any).
If possible, you should use INPUT_GET_VOUTS directly and process _all_ video outputs instead.
| p_input | an input thread from which to get a video output |
References i.
Referenced by EvaluateRPN(), EventIntf(), CmdSnapshot::execute(), CmdFullscreen::execute(), GetVLCObject(), GetVout(), MainInputManager::getVout(), getVout(), VLCControls::keyEvent:, libvlc_media_player_has_vout(), MacroDo(), mediacontrol_display_text(), mediacontrol_snapshot(), VlcProc::on_intf_event_changed(), PutAction(), Run(), RunIntf(), VLCMain::setupMenus, VLCControls::showPosition:, VideoConfig(), and VLCControls::windowAction:.
| void input_resource_Delete | ( | input_resource_t * | ) |
This function releases the input resource.
References DestroyAout(), DestroySout(), DestroyVout(), input_resource_t::lock, input_resource_t::lock_hold, and vlc_mutex_destroy().
Referenced by Destructor(), libvlc_media_player_destroy(), playlist_Deactivate(), and vlm_MediaInstanceDelete().
| void input_SplitMRL | ( | const char ** | ppsz_access, | |
| const char ** | ppsz_demux, | |||
| char ** | ppsz_path, | |||
| char * | psz_dup | |||
| ) |
This function allows to split a MRL into access, demux and path part.
You should not write into access and demux string as they may not point into the provided buffer. The buffer provided by psz_dup will be modified.
Referenced by __stream_UrlNew(), and InputSourceInit().
| int input_Start | ( | input_thread_t * | p_input | ) |
Start a input_thread_t created by input_Create.
You must not start an already running input_thread_t.
| the | input thread to start |
References ERROR_S, input_ChangeState(), msg_Err, Run(), VLC_EGENERIC, VLC_SUCCESS, vlc_thread_create, and VLC_THREAD_PRIORITY_INPUT.
Referenced by __input_CreateAndStart(), libvlc_media_player_play(), PlayItem(), vlm_ControlMediaInstanceStart(), and vlm_OnMediaUpdate().
| void input_Stop | ( | input_thread_t * | p_input, | |
| bool | b_abort | |||
| ) |
Request a running input thread to stop and die.
b_abort must be true when a user stop is requested and not because you have detected an error or an eof. It will be used to properly send the INPUT_EVENT_ABORT event.
| p_input | the input thread to stop | |
| b_abort | true if the input has been aborted by a user request |
References input_thread_private_t::b_abort, INPUT_CONTROL_SET_DIE, input_ControlPush(), input_thread_private_t::lock_control, ObjectKillChildrens(), input_thread_t::p, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_OBJECT.
Referenced by GoAndPreparse(), LoopInput(), release_input_thread(), Run(), vlm_ControlMediaInstanceStart(), vlm_MediaInstanceDelete(), and vlm_OnMediaUpdate().
| int input_vaControl | ( | input_thread_t * | , | |
| int | i_query, | |||
| va_list | ||||
| ) |
References _, asprintf(), input_thread_private_t::attachment, input_thread_t::b_preparsing, input_thread_private_t::bookmark, input_thread_private_t::f_fps, i, input_thread_private_t::i_attachment, input_thread_private_t::i_bookmark, vlc_value_t::i_int, INPUT_ADD_BOOKMARK, INPUT_ADD_INFO, INPUT_ADD_OPTION, INPUT_ADD_SLAVE, INPUT_ADD_SUBTITLE, INPUT_CHANGE_BOOKMARK, INPUT_CLEAR_BOOKMARKS, INPUT_CONTROL_ADD_SLAVE, INPUT_CONTROL_ADD_SUBTITLE, INPUT_CONTROL_RESTART_ES, INPUT_CONTROL_SET_BOOKMARK, input_ControlPush(), INPUT_DEL_BOOKMARK, INPUT_DEL_INFO, INPUT_GET_AOUT, INPUT_GET_ATTACHMENT, INPUT_GET_ATTACHMENTS, INPUT_GET_AUDIO_DELAY, INPUT_GET_BOOKMARK, INPUT_GET_BOOKMARKS, INPUT_GET_INFO, INPUT_GET_LENGTH, INPUT_GET_POSITION, INPUT_GET_RATE, INPUT_GET_RECORD_STATE, INPUT_GET_SPU_DELAY, INPUT_GET_STATE, INPUT_GET_TIME, INPUT_GET_VIDEO_FPS, INPUT_GET_VOUTS, input_item_AddInfo(), input_item_AddOption(), input_item_DelInfo(), input_item_GetInfo(), input_item_SetName(), input_resource_HoldAout(), input_resource_HoldVouts(), INPUT_RESTART_ES, input_SendEventMetaInfo(), input_SendEventMetaName(), INPUT_SET_AUDIO_DELAY, INPUT_SET_BOOKMARK, INPUT_SET_NAME, INPUT_SET_POSITION, INPUT_SET_RATE, INPUT_SET_RECORD_STATE, INPUT_SET_SPU_DELAY, INPUT_SET_STATE, INPUT_SET_TIME, input_item_t::lock, msg_Err, input_thread_t::p, input_thread_private_t::p_item, input_thread_private_t::p_resource, input_thread_private_t::pp_bookmark, input_attachment_t::psz_name, seekpoint_t::psz_name, psz_name, psz_option, vlc_value_t::psz_string, psz_value, gen_builder::str, strdup(), subtitles_Filter(), TAB_APPEND, TAB_REMOVE, UpdateBookmarksOption(), var_GetBool, var_GetFloat, var_GetInteger, var_GetTime, var_SetBool, var_SetFloat, var_SetInteger, var_SetTime, vasprintf(), VLC_EGENERIC, VLC_ENOMEM, vlc_input_attachment_Duplicate(), VLC_INPUT_OPTION_UNIQUE, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_seekpoint_Delete(), vlc_seekpoint_Duplicate(), and VLC_SUCCESS.
Referenced by input_Control().
| static void vlc_audio_replay_gain_MergeFromMeta | ( | audio_replay_gain_t * | p_dst, | |
| const vlc_meta_t * | p_meta | |||
| ) | [inline, static] |
| static void vlc_input_attachment_Delete | ( | input_attachment_t * | a | ) | [inline, static] |
| static input_attachment_t* vlc_input_attachment_Duplicate | ( | const input_attachment_t * | a | ) | [inline, static] |
| static input_attachment_t* vlc_input_attachment_New | ( | const char * | psz_name, | |
| const char * | psz_mime, | |||
| const char * | psz_description, | |||
| const void * | p_data, | |||
| int | i_data | |||
| ) | [inline, static] |
| static void vlc_input_title_Delete | ( | input_title_t * | t | ) | [inline, static] |
References i, input_title_t::i_seekpoint, seekpoint_t::psz_name, input_title_t::psz_name, and input_title_t::seekpoint.
Referenced by CDDAClose(), Close(), InputSourceClean(), and demux_sys_t::~demux_sys_t().
| static input_title_t* vlc_input_title_Duplicate | ( | input_title_t * | t | ) | [inline, static] |
References input_title_t::b_menu, i, input_title_t::i_length, input_title_t::i_seekpoint, input_title_t::i_size, input_title_t::psz_name, input_title_t::seekpoint, strdup(), vlc_input_title_New(), and vlc_seekpoint_Duplicate().
Referenced by CDDAControl(), Control(), and VCDControl().
| static input_title_t* vlc_input_title_New | ( | void | ) | [inline, static] |
References input_title_t::b_menu, input_title_t::i_length, input_title_t::i_seekpoint, input_title_t::i_size, input_title_t::psz_name, and input_title_t::seekpoint.
Referenced by CDDAFixupPlaylist(), Control(), DemuxTitles(), InitTitles(), LoadChapterApple(), LoadChapterGpac(), Open(), demux_sys_t::PreloadLinked(), VCDLIDs(), VCDSegments(), VCDTitles(), and vlc_input_title_Duplicate().
| static void vlc_seekpoint_Delete | ( | seekpoint_t * | point | ) | [inline, static] |
References seekpoint_t::psz_name.
Referenced by Create(), VLCBookmarks::edit:, VLCBookmarks::edit_ok:, VLCBookmarks::extract:, input_vaControl(), and ParseSeekTable().
| static seekpoint_t* vlc_seekpoint_Duplicate | ( | seekpoint_t * | src | ) | [inline, static] |
References seekpoint_t::i_byte_offset, seekpoint_t::i_time_offset, seekpoint_t::psz_name, strdup(), and vlc_seekpoint_New().
Referenced by input_vaControl(), and vlc_input_title_Duplicate().
| static seekpoint_t* vlc_seekpoint_New | ( | void | ) | [inline, static] |
References seekpoint_t::i_byte_offset, seekpoint_t::i_level, seekpoint_t::i_time_offset, and seekpoint_t::psz_name.
Referenced by Create(), DemuxTitles(), EntryPoints(), InitTitles(), LoadChapterApple(), LoadChapterGpac(), ParseSeekTable(), chapter_item_c::PublishChapters(), ReadMeta(), VCDEntryPoints(), VCDLIDs(), VCDSegments(), and vlc_seekpoint_Duplicate().
1.5.6