- (void)p_playlist;
- *pi_mandatory = VLC_META_ENGINE_TITLE | VLC_META_ENGINE_ARTIST;
- assert( p_item->p_meta );
-
- uint32_t i_meta = input_CurrentMetaFlags( p_item->p_meta );
- *pi_mandatory &= ~i_meta;
- *pi_optional = 0; /// Todo
- return *pi_mandatory ? VLC_FALSE:VLC_TRUE;
-}
-
-int input_MetaFetch( playlist_t *p_playlist, input_item_t *p_item )
-{
- struct meta_engine_t *p_me;
- uint32_t i_mandatory, i_optional;
-
- assert( p_item->p_meta );
-
- input_MetaSatisfied( p_playlist, p_item, &i_mandatory, &i_optional );
- // Meta shouldn't magically appear
- assert( i_mandatory );
-
- /* FIXME: object creation is overkill, use p_private */
- p_me = vlc_object_create( p_playlist, VLC_OBJECT_META_ENGINE );
- p_me->i_flags |= OBJECT_FLAGS_NOINTERACT;
- p_me->i_flags |= OBJECT_FLAGS_QUIET;
- p_me->i_mandatory = i_mandatory;
- p_me->i_optional = i_optional;
-
- p_me->p_item = p_item;
- p_me->p_module = module_Need( p_me, "meta fetcher", 0, VLC_FALSE );
- if( !p_me->p_module )