
Go to the source code of this file.
Data Structures | |
| struct | vlc_array_t |
| struct | vlc_dictionary_entry_t |
| struct | vlc_dictionary_t |
Defines | |
| #define | VLCCVP |
| Simple dynamic array handling. | |
| #define | INSERT_ELEM(p_ar, i_oldsize, i_pos, elem) |
| #define | REMOVE_ELEM(p_ar, i_size, i_pos) |
| #define | TAB_INIT(count, tab) |
| #define | TAB_CLEAN(count, tab) |
| #define | TAB_APPEND_CAST(cast, count, tab, p) |
| #define | TAB_APPEND(count, tab, p) TAB_APPEND_CAST( , count, tab, p ) |
| #define | TAB_APPEND_CPP(type, count, tab, p) TAB_APPEND_CAST( (type**), count, tab, p ) |
| #define | TAB_FIND(count, tab, p, index) |
| #define | TAB_REMOVE(count, tab, p) |
| #define | TAB_INSERT_CAST(cast, count, tab, p, index) |
| #define | TAB_INSERT(count, tab, p, index) TAB_INSERT_CAST( , count, tab, p, index ) |
| #define | BSEARCH(entries, count, elem, zetype, key, answer) |
| Binary search in a sorted array. | |
| #define | _ARRAY_ALLOC(array, newsize) |
| #define | _ARRAY_GROW1(array) |
| #define | _ARRAY_GROW(array, additional) |
| #define | _ARRAY_SHRINK(array) |
| #define | ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) |
| #define | DECL_ARRAY(type) |
| #define | TYPEDEF_ARRAY(type, name) typedef DECL_ARRAY(type) name; |
| #define | ARRAY_INIT(array) |
| #define | ARRAY_RESET(array) |
| #define | ARRAY_APPEND(array, elem) |
| #define | ARRAY_INSERT(array, elem, pos) |
| #define | ARRAY_REMOVE(array, pos) |
| #define | ARRAY_VAL(array, pos) array.p_elems[pos] |
| #define | ARRAY_BSEARCH(array, elem, zetype, key, answer) BSEARCH( (array).p_elems, (array).i_size, elem, zetype, key, answer) |
| #define | FOREACH_ARRAY(item, array) |
| #define | FOREACH_END() } } |
Functions | |
| static void * | realloc_down (void *ptr, size_t size) |
| static void | vlc_array_init (vlc_array_t *p_array) |
| static void | vlc_array_clear (vlc_array_t *p_array) |
| static vlc_array_t * | vlc_array_new (void) |
| static void | vlc_array_destroy (vlc_array_t *p_array) |
| static int | vlc_array_count (vlc_array_t *p_array) |
| static void * | vlc_array_item_at_index (vlc_array_t *p_array, int i_index) |
| static int | vlc_array_index_of_item (vlc_array_t *p_array, void *item) |
| static void | vlc_array_insert (vlc_array_t *p_array, void *p_elem, int i_index) |
| static void | vlc_array_append (vlc_array_t *p_array, void *p_elem) |
| static void | vlc_array_remove (vlc_array_t *p_array, int i_index) |
| static uint64_t | DictHash (const char *psz_string, int hashsize) |
| static void | vlc_dictionary_init (vlc_dictionary_t *p_dict, int i_size) |
| static void | vlc_dictionary_clear (vlc_dictionary_t *p_dict, void(*pf_free)(void *p_data, void *p_obj), void *p_obj) |
| static void * | vlc_dictionary_value_for_key (const vlc_dictionary_t *p_dict, const char *psz_key) |
| static int | vlc_dictionary_keys_count (const vlc_dictionary_t *p_dict) |
| static char ** | vlc_dictionary_all_keys (const vlc_dictionary_t *p_dict) |
| static void | __vlc_dictionary_insert (vlc_dictionary_t *p_dict, const char *psz_key, void *p_value, bool rebuild) |
| static void | vlc_dictionary_insert (vlc_dictionary_t *p_dict, const char *psz_key, void *p_value) |
| static void | vlc_dictionary_remove_value_for_key (const vlc_dictionary_t *p_dict, const char *psz_key, void(*pf_free)(void *p_data, void *p_obj), void *p_obj) |
Variables | |
| static void *const | kVLCDictionaryNotFound = NULL |
| #define _ARRAY_ALLOC | ( | array, | |||
| newsize | ) |
Value:
{ \
(array).i_alloc = newsize; \
(array).p_elems = VLCCVP realloc( (array).p_elems, (array).i_alloc * \
sizeof(*(array).p_elems) ); \
if( !(array).p_elems ) abort(); \
}
| #define _ARRAY_GROW | ( | array, | |||
| additional | ) |
Value:
{ \
int i_first = (array).i_alloc; \
while( (array).i_alloc - i_first < additional ) \
{ \
if( (array).i_alloc < 10 ) \
_ARRAY_ALLOC(array, 10 ) \
else if( (array).i_alloc == (array).i_size ) \
_ARRAY_ALLOC(array, (int)((array).i_alloc * 1.5) ) \
else break; \
} \
}
| #define _ARRAY_GROW1 | ( | array | ) |
Value:
{ \
if( (array).i_alloc < 10 ) \
_ARRAY_ALLOC(array, 10 ) \
else if( (array).i_alloc == (array).i_size ) \
_ARRAY_ALLOC(array, (int)(array.i_alloc * 1.5) ) \
}
| #define _ARRAY_SHRINK | ( | array | ) |
Value:
{ \
if( (array).i_size > 10 && (array).i_size < (int)((array).i_alloc / 1.5) ) { \
_ARRAY_ALLOC(array, (array).i_size + 5); \
} \
}
| #define ARRAY_APPEND | ( | array, | |||
| elem | ) |
Value:
do { \ _ARRAY_GROW1(array); \ (array).p_elems[(array).i_size] = elem; \ (array).i_size++; \ } while(0)
Referenced by __vlc_event_attach(), AddItem(), FindArt(), playlist_ItemRelease(), playlist_NodeCreate(), ResetCurrentlyPlaying(), and vlc_event_manager_register_event_type().
| #define ARRAY_BSEARCH | ( | array, | |||
| elem, | |||||
| zetype, | |||||
| key, | |||||
| answer | ) | BSEARCH( (array).p_elems, (array).i_size, elem, zetype, key, answer) |
Referenced by ChangeToNode(), DeleteInner(), playlist_ItemGetById(), and playlist_NodeDelete().
| #define ARRAY_INIT | ( | array | ) |
Value:
do { \ (array).i_alloc = 0; \ (array).i_size = 0; \ (array).p_elems = NULL; \ } while(0)
Referenced by __vlc_event_manager_init(), playlist_Create(), playlist_fetcher_New(), and vlc_event_manager_register_event_type().
| #define ARRAY_INSERT | ( | array, | |||
| elem, | |||||
| pos | ) |
Value:
do { \ _ARRAY_GROW1(array); \ if( (array).i_size - pos ) { \ memmove( (array).p_elems + pos + 1, (array).p_elems + pos, \ ((array).i_size-pos) * sizeof(*(array).p_elems) ); \ } \ (array).p_elems[pos] = elem; \ (array).i_size++; \ } while(0)
| #define ARRAY_REMOVE | ( | array, | |||
| pos | ) |
Value:
do { \ if( (array).i_size - (pos) - 1 ) \ { \ memmove( (array).p_elems + pos, (array).p_elems + pos + 1, \ ( (array).i_size - pos - 1 ) *sizeof(*(array).p_elems) ); \ } \ (array).i_size--; \ _ARRAY_SHRINK(array); \ } while(0)
Referenced by ChangeToNode(), DeleteInner(), playlist_NodeDelete(), and vlc_event_detach().
| #define ARRAY_RESET | ( | array | ) |
Value:
do { \ (array).i_alloc = 0; \ (array).i_size = 0; \ free( (array).p_elems ); (array).p_elems = NULL; \ } while(0)
Referenced by playlist_Destructor(), ResetCurrentlyPlaying(), and vlc_event_manager_fini().
| #define ARRAY_SIZE | ( | x | ) | (sizeof(x) / sizeof((x)[0])) |
Referenced by OpenVideoDev(), OSDMenuCallback(), ParseMRL(), and RegisterCommand().
| #define ARRAY_VAL | ( | array, | |||
| pos | ) | array.p_elems[pos] |
Referenced by MacroDo(), NextItem(), playlist_ItemGetById(), playlist_ItemGetByInput(), ResetCurrentlyPlaying(), and ResyncCurrentIndex().
| #define BSEARCH | ( | entries, | |||
| count, | |||||
| elem, | |||||
| zetype, | |||||
| key, | |||||
| answer | ) |
Value:
do { \ int low = 0, high = count - 1; \ answer = -1; \ while( low <= high ) {\ int mid = (low + high ) / 2; /* Just don't care about 2^30 tables */ \ zetype mid_val = entries[mid] elem;\ if( mid_val < key ) \ low = mid + 1; \ else if ( mid_val > key ) \ high = mid -1; \ else \ { \ answer = mid; break; \ }\ } \ } while(0)
The key must be comparable by < and >
| entries | array of entries | |
| count | number of entries | |
| elem | key to check within an entry (like .id, or ->i_id) | |
| zetype | type of the key | |
| key | value of the key | |
| answer | index of answer within the array. -1 if not found |
| #define DECL_ARRAY | ( | type | ) |
Value:
struct { \ int i_alloc; \ int i_size; \ type *p_elems; \ }
| #define FOREACH_ARRAY | ( | item, | |||
| array | ) |
Value:
{ \
int fe_idx; \
for( fe_idx = 0 ; fe_idx < (array).i_size ; fe_idx++ ) \
{ \
item = (array).p_elems[fe_idx];
Referenced by __vlc_event_attach(), FindArt(), group_contains_listener(), PlayBookmark(), playlist_Destructor(), vlc_event_detach(), vlc_event_manager_fini(), and vlc_event_send().
| #define FOREACH_END | ( | ) | } } |
| #define INSERT_ELEM | ( | p_ar, | |||
| i_oldsize, | |||||
| i_pos, | |||||
| elem | ) |
Value:
do \ { \ if( !i_oldsize ) (p_ar) = NULL; \ (p_ar) = VLCCVP realloc( p_ar, ((i_oldsize) + 1) * sizeof(*(p_ar)) ); \ if( !(p_ar) ) abort(); \ if( (i_oldsize) - (i_pos) ) \ { \ memmove( (p_ar) + (i_pos) + 1, (p_ar) + (i_pos), \ ((i_oldsize) - (i_pos)) * sizeof( *(p_ar) ) ); \ } \ (p_ar)[i_pos] = elem; \ (i_oldsize)++; \ } \ while( 0 )
Referenced by __stats_TimerStart(), __var_AddCallback(), __var_Change(), __var_Create(), __vlc_object_attach(), __vlclua_read_options(), CounterUpdate(), Demux(), InheritValue(), InitSocket(), input_item_AddOption(), InputItemVaAddInfo(), ParseLine(), ParseUrls(), playlist_fetcher_Push(), playlist_NodeInsert(), playlist_preparser_Push(), playlist_TreeMove(), playlist_TreeMoveMany(), PlaylistAddNode(), ReadDir(), RtspHandler(), and var_OptionParse().
| #define REMOVE_ELEM | ( | p_ar, | |||
| i_size, | |||||
| i_pos | ) |
Value:
do \ { \ if( (i_size) - (i_pos) - 1 ) \ { \ memmove( (p_ar) + (i_pos), \ (p_ar) + (i_pos) + 1, \ ((i_size) - (i_pos) - 1) * sizeof( *(p_ar) ) ); \ } \ if( i_size > 1 ) \ (p_ar) = realloc_down( p_ar, ((i_size) - 1) * sizeof( *(p_ar) ) );\ else \ { \ free( p_ar ); \ (p_ar) = NULL; \ } \ (i_size)--; \ } \ while( 0 )
Referenced by __stats_TimerClean(), __stats_TimersCleanAll(), __var_Change(), __var_DelCallback(), CounterUpdate(), input_item_DelInfo(), playlist_fetcher_Delete(), playlist_NodeRemoveItem(), playlist_preparser_Delete(), playlist_ServicesDiscoveryRemove(), playlist_TreeMove(), playlist_TreeMoveMany(), PlaylistDestroy(), ReadDir(), RemoveAnnounce(), RtspDelId(), RtspHandler(), Run(), stats_CounterClean(), and Thread().
| #define TAB_APPEND | ( | count, | |||
| tab, | |||||
| p | ) | TAB_APPEND_CAST( , count, tab, p ) |
Referenced by Add(), AddStream(), CodecAudioParse(), CodecVideoParse(), CommandThread(), Control(), CreateAnnounce(), DecoderThread(), DemuxInit(), DemuxTitles(), EntryPoints(), EsOutAdd(), EsOutProgramAdd(), HandlerCallback(), httpd_TLSHostNew(), InitTitles(), input_item_SetEpg(), input_vaControl(), InputGetExtraFilesPattern(), InputSourceInit(), LanguageSplit(), libvlc_vlm_add_broadcast(), libvlc_vlm_add_vod(), LoadChapterApple(), LoadChapterGpac(), LoadClpi(), LoadMpls(), LoadSlaves(), Manage(), MediaAddES(), MMIHandleMenu(), msg_Subscribe(), Ogg_FindLogicalStreams(), ParseDirectory(), ParseImageAttachments(), ParsePicture(), ParseSDP(), ParseSeekTable(), ParseSSAHeader(), ParseUSFHeaderTags(), PATCallBack(), PIDInit(), playlist_ServicesDiscoveryAdd(), PMTCallBack(), PMTSetupEsDvbSubtitle(), PMTSetupEsTeletext(), ReadMeta(), RequestVout(), RtspCallbackES(), RtspClientNew(), Run(), scan_session_Clean(), SkipFile(), sout_MuxAddStream(), stream_AccessNew(), SubtitleAdd(), UserPmt(), VCDEntryPoints(), VCDLIDs(), VCDSegments(), vlm_ControlMediaAdd(), vlm_ControlMediaGets(), vlm_ControlMediaInstanceGets(), and vlm_ControlMediaInstanceStart().
| #define TAB_APPEND_CAST | ( | cast, | |||
| count, | |||||
| tab, | |||||
| p | ) |
Value:
do { \ if( (count) > 0 ) \ (tab) = cast realloc( tab, sizeof( void ** ) * ( (count) + 1 ) ); \ else \ (tab) = cast malloc( sizeof( void ** ) ); \ if( !(tab) ) abort(); \ (tab)[count] = (p); \ (count)++; \ } while(0)
Referenced by ReadMetaFromId3v2(), and ReadMetaFromXiph().
| #define TAB_APPEND_CPP | ( | type, | |||
| count, | |||||
| tab, | |||||
| p | ) | TAB_APPEND_CAST( (type**), count, tab, p ) |
Referenced by vlc_epg_AddEvent(), and vlm_media_Copy().
| #define TAB_CLEAN | ( | count, | |||
| tab | ) |
Value:
do { \ free( tab ); \ (count)= 0; \ (tab)= NULL; \ } while(0)
Referenced by Close(), CloseDecoder(), DecoderClose(), Demux(), End(), EsOutDelete(), input_item_Clean(), InputSourceClean(), InputSourceInit(), libvlc_vlm_get_media_instance(), MediaDel(), scan_Clean(), vlc_epg_Clean(), vlm_Destructor(), and vlm_media_Clean().
| #define TAB_FIND | ( | count, | |||
| tab, | |||||
| p, | |||||
| index | ) |
Value:
do { \ int _i_; \ (index) = -1; \ for( _i_ = 0; _i_ < (count); _i_++ ) \ { \ if( (tab)[_i_] == (p) ) \ { \ (index) = _i_; \ break; \ } \ } \ } while(0)
Referenced by sout_MuxDeleteStream().
| #define TAB_INIT | ( | count, | |||
| tab | ) |
Value:
do { \ (count) = 0; \ (tab) = NULL; \ } while(0)
Referenced by __vlm_New(), Add(), Create(), DecoderOpen(), input_EsOutNew(), input_item_Init(), InputGetExtraFiles(), InputGetExtraFilesPattern(), InputSourceInit(), MediaNew(), Open(), OpenDecoder(), ParseTags(), PIDInit(), playlist_Create(), ReadMetaFromId3v2(), ReadMetaFromXiph(), scan_Init(), SkipFile(), stream_AccessNew(), vlc_epg_Init(), vlm_ControlMediaAdd(), vlm_ControlMediaGets(), vlm_ControlMediaInstanceGets(), and vlm_media_Init().
| #define TAB_INSERT | ( | count, | |||
| tab, | |||||
| p, | |||||
| index | ) | TAB_INSERT_CAST( , count, tab, p, index ) |
Referenced by vlc_epg_Merge().
| #define TAB_INSERT_CAST | ( | cast, | |||
| count, | |||||
| tab, | |||||
| p, | |||||
| index | ) |
Value:
do { \ if( (count) > 0 ) \ (tab) = cast realloc( tab, sizeof( void ** ) * ( (count) + 1 ) ); \ else \ (tab) = cast malloc( sizeof( void ** ) ); \ if( !(tab) ) abort(); \ if( (count) - (index) > 0 ) \ memmove( (void**)(tab) + (index) + 1, \ (void**)(tab) + (index), \ ((count) - (index)) * sizeof(*(tab)) );\ (tab)[(index)] = (p); \ (count)++; \ } while(0)
Referenced by vlc_array_insert().
| #define TAB_REMOVE | ( | count, | |||
| tab, | |||||
| p | ) |
Value:
do { \ int _i_index_; \ TAB_FIND( count, tab, p, _i_index_ ); \ if( _i_index_ >= 0 ) \ { \ if( (count) > 1 ) \ { \ memmove( ((void**)(tab) + _i_index_), \ ((void**)(tab) + _i_index_+1), \ ( (count) - _i_index_ - 1 ) * sizeof( void* ) );\ } \ (count)--; \ if( (count) == 0 ) \ { \ free( tab ); \ (tab) = NULL; \ } \ } \ } while(0)
Referenced by Add(), DecodeBlock(), Del(), EsOutDel(), EsOutProgramDel(), HandlerCallback(), input_vaControl(), libvlc_vlm_get_media_instance(), Manage(), MediaDel(), MediaDelES(), msg_Unsubscribe(), PATCallBack(), PMTCallBack(), RequestVout(), RtspCallbackES(), RtspClientDel(), Run(), sout_MuxAddStream(), sout_MuxDeleteStream(), vlc_epg_Merge(), vlm_ControlMediaDel(), and vlm_MediaInstanceDelete().
| #define VLCCVP |
Simple dynamic array handling.
Array is realloced at each insert/removal
| static void __vlc_dictionary_insert | ( | vlc_dictionary_t * | p_dict, | |
| const char * | psz_key, | |||
| void * | p_value, | |||
| bool | rebuild | |||
| ) | [inline, static] |
| static uint64_t DictHash | ( | const char * | psz_string, | |
| int | hashsize | |||
| ) | [inline, static] |
Referenced by __vlc_dictionary_insert(), vlc_dictionary_remove_value_for_key(), and vlc_dictionary_value_for_key().
| static void* realloc_down | ( | void * | ptr, | |
| size_t | size | |||
| ) | [inline, static] |
| static void vlc_array_append | ( | vlc_array_t * | p_array, | |
| void * | p_elem | |||
| ) | [inline, static] |
References vlc_array_t::i_count, and vlc_array_insert().
Referenced by _libvlc_media_list_add_media(), AddStream(), AllCallback(), cookie_append(), event_attach(), GetFilesInZip(), import_mlist_rec(), libvlc_event_manager_register_event_type(), and ml_item_added().
| static void vlc_array_clear | ( | vlc_array_t * | p_array | ) | [inline, static] |
References vlc_array_t::pp_elems.
Referenced by flat_media_list_view_release(), libvlc_event_manager_release(), libvlc_media_list_release(), and vlc_array_destroy().
| static int vlc_array_count | ( | vlc_array_t * | p_array | ) | [inline, static] |
References vlc_array_t::i_count.
Referenced by _libvlc_media_list_add_media(), _libvlc_media_list_remove_index(), AddStream(), asf_header_create(), Close(), cookie_append(), CreatePlaylist(), event_attach(), flat_media_list_view_count(), group_contains_listener(), libvlc_event_detach(), libvlc_event_manager_release(), libvlc_event_send(), libvlc_media_list_count(), libvlc_media_list_index_of_item(), libvlc_media_list_item_at_index(), libvlc_media_list_release(), ml_item_added(), OpenWithCookies(), Request(), Run(), and WriteXSPF().
| static void vlc_array_destroy | ( | vlc_array_t * | p_array | ) | [inline, static] |
| static int vlc_array_index_of_item | ( | vlc_array_t * | p_array, | |
| void * | item | |||
| ) | [inline, static] |
References i, vlc_array_t::i_count, and vlc_array_t::pp_elems.
Referenced by AddStream(), DelStream(), and ml_item_removed().
| static void vlc_array_init | ( | vlc_array_t * | p_array | ) | [inline, static] |
| static void vlc_array_insert | ( | vlc_array_t * | p_array, | |
| void * | p_elem, | |||
| int | i_index | |||
| ) | [inline, static] |
References vlc_array_t::i_count, vlc_array_t::pp_elems, and TAB_INSERT_CAST.
Referenced by _libvlc_media_list_insert_media(), and vlc_array_append().
| static void* vlc_array_item_at_index | ( | vlc_array_t * | p_array, | |
| int | i_index | |||
| ) | [inline, static] |
References vlc_array_t::pp_elems.
Referenced by _libvlc_media_list_remove_index(), asf_header_create(), Close(), cookie_append(), CreatePlaylist(), event_attach(), flat_media_list_view_item_at_index(), group_contains_listener(), libvlc_event_detach(), libvlc_event_manager_release(), libvlc_event_send(), libvlc_media_list_index_of_item(), libvlc_media_list_item_at_index(), libvlc_media_list_release(), OpenWithCookies(), Request(), Run(), and WriteXSPF().
| static vlc_array_t* vlc_array_new | ( | void | ) | [inline, static] |
| static void vlc_array_remove | ( | vlc_array_t * | p_array, | |
| int | i_index | |||
| ) | [inline, static] |
References vlc_array_t::i_count, and vlc_array_t::pp_elems.
Referenced by _libvlc_media_list_remove_index(), cookie_append(), DelStream(), libvlc_event_detach(), ml_item_removed(), and Run().
| static char** vlc_dictionary_all_keys | ( | const vlc_dictionary_t * | p_dict | ) | [inline, static] |
References i, vlc_dictionary_t::i_size, vlc_dictionary_t::p_entries, vlc_dictionary_entry_t::p_next, vlc_dictionary_entry_t::psz_key, strdup(), and vlc_dictionary_keys_count().
Referenced by EsOutProgramMeta(), EsOutUpdateInfo(), libvlc_media_discoverer_release(), main(), test_dictionary_validity(), ExtraMetaPanel::update(), vlc_meta_Merge(), and WriteAuxHeaders().
| static void vlc_dictionary_clear | ( | vlc_dictionary_t * | p_dict, | |
| void(*)(void *p_data, void *p_obj) | pf_free, | |||
| void * | p_obj | |||
| ) | [inline, static] |
References i, vlc_dictionary_t::i_size, vlc_dictionary_t::p_entries, vlc_dictionary_entry_t::p_next, vlc_dictionary_entry_t::p_value, and vlc_dictionary_entry_t::psz_key.
Referenced by __vlc_dictionary_insert(), AnnounceSDP(), ExecRequest(), libvlc_media_discoverer_release(), main(), msg_Destroy(), SendFlush(), SendRecord(), SendSetup(), SendTeardown(), UpdateVolume(), and vlc_meta_Delete().
| static void vlc_dictionary_init | ( | vlc_dictionary_t * | p_dict, | |
| int | i_size | |||
| ) | [inline, static] |
References vlc_dictionary_t::i_size, and vlc_dictionary_t::p_entries.
Referenced by __vlc_dictionary_insert(), AnnounceSDP(), libvlc_media_discoverer_new_from_name(), main(), msg_Create(), SendFlush(), SendRecord(), SendSetup(), SendTeardown(), UpdateVolume(), and vlc_meta_New().
| static void vlc_dictionary_insert | ( | vlc_dictionary_t * | p_dict, | |
| const char * | psz_key, | |||
| void * | p_value | |||
| ) | [inline, static] |
References __vlc_dictionary_insert().
Referenced by __msg_DisableObjectPrinting(), __msg_EnableObjectPrinting(), AnnounceSDP(), ExecRequest(), main(), ReadHeader(), resolve_callback(), SendFlush(), SendRecord(), SendSetup(), services_discovery_item_added(), UpdateVolume(), vlc_meta_AddExtra(), and vlc_meta_Merge().
| static int vlc_dictionary_keys_count | ( | const vlc_dictionary_t * | p_dict | ) | [inline, static] |
References i, vlc_dictionary_t::i_size, vlc_dictionary_t::p_entries, and vlc_dictionary_entry_t::p_next.
Referenced by EsOutProgramMeta(), main(), and vlc_dictionary_all_keys().
| static void vlc_dictionary_remove_value_for_key | ( | const vlc_dictionary_t * | p_dict, | |
| const char * | psz_key, | |||
| void(*)(void *p_data, void *p_obj) | pf_free, | |||
| void * | p_obj | |||
| ) | [inline, static] |
| static void* vlc_dictionary_value_for_key | ( | const vlc_dictionary_t * | p_dict, | |
| const char * | psz_key | |||
| ) | [inline, static] |
References DictHash(), vlc_dictionary_t::i_size, kVLCDictionaryNotFound, vlc_dictionary_t::p_entries, vlc_dictionary_entry_t::p_next, vlc_dictionary_entry_t::p_value, and vlc_dictionary_entry_t::psz_key.
Referenced by browse_callback(), EsOutProgramMeta(), EsOutUpdateInfo(), libvlc_media_discoverer_release(), ParseAuthenticateHeader(), PrintMsg(), SendRecord(), SendSetup(), services_discovery_item_added(), test_dictionary_validity(), ExtraMetaPanel::update(), vlc_audio_replay_gain_MergeFromMeta(), vlc_meta_AddExtra(), vlc_meta_Merge(), and WriteAuxHeaders().
void* const kVLCDictionaryNotFound = NULL [static] |
Referenced by services_discovery_item_added(), vlc_dictionary_value_for_key(), and vlc_meta_AddExtra().
1.5.6