您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ vlc_event_send函数代码示例

51自学网 2021-06-03 09:44:24
  C++
这篇教程C++ vlc_event_send函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中vlc_event_send函数的典型用法代码示例。如果您正苦于以下问题:C++ vlc_event_send函数的具体用法?C++ vlc_event_send怎么用?C++ vlc_event_send使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了vlc_event_send函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: RunSD

/*********************************************************************** * RunSD (Private) ***********************************************************************/static void* RunSD( vlc_object_t *p_this ){    services_discovery_t *p_sd = (services_discovery_t *)p_this;    vlc_event_t event;    event.type = vlc_ServicesDiscoveryStarted;    vlc_event_send( &p_sd->event_manager, &event );    p_sd->pf_run( p_sd );    event.type = vlc_ServicesDiscoveryEnded;    vlc_event_send( &p_sd->event_manager, &event );    return NULL;}
开发者ID:mahaserver,项目名称:MHSVLC,代码行数:17,


示例2: input_item_AddInfo

int input_item_AddInfo( input_item_t *p_i,                        const char *psz_cat,                        const char *psz_name,                        const char *psz_format, ... ){    va_list args;    vlc_mutex_lock( &p_i->lock );    va_start( args, psz_format );    const int i_ret = InputItemVaAddInfo( p_i, psz_cat, psz_name, psz_format, args );    va_end( args );    vlc_mutex_unlock( &p_i->lock );    if( !i_ret )    {        vlc_event_t event;        event.type = vlc_InputItemInfoChanged;        vlc_event_send( &p_i->event_manager, &event );    }    return i_ret;}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:25,


示例3: input_item_SetPreparsed

void input_item_SetPreparsed( input_item_t *p_i, bool b_preparsed ){    bool b_send_event = false;    vlc_mutex_lock( &p_i->lock );    if( !p_i->p_meta )        p_i->p_meta = vlc_meta_New();    int status = vlc_meta_GetStatus(p_i->p_meta);    int new_status;    if( b_preparsed )        new_status = status | ITEM_PREPARSED;    else        new_status = status & ~ITEM_PREPARSED;    if( status != new_status )    {        vlc_meta_SetStatus(p_i->p_meta, new_status);        b_send_event = true;    }    vlc_mutex_unlock( &p_i->lock );    if( b_send_event )    {        vlc_event_t event;        event.type = vlc_InputItemPreparsedChanged;        event.u.input_item_preparsed_changed.new_status = new_status;        vlc_event_send( &p_i->event_manager, &event );    }}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:31,


示例4: input_item_SetEpgEvent

void input_item_SetEpgEvent( input_item_t *p_item, const vlc_epg_event_t *p_epg_evt ){    bool b_changed = false;    vlc_mutex_lock( &p_item->lock );    for( int i = 0; i < p_item->i_epg; i++ )    {        vlc_epg_t *p_epg = p_item->pp_epg[i];        for( size_t j = 0; j < p_epg->i_event; j++ )        {            /* Same event can exist in more than one table */            if( p_epg->pp_event[j]->i_id == p_epg_evt->i_id )            {                vlc_epg_event_t *p_dup = vlc_epg_event_Duplicate( p_epg_evt );                if( p_dup )                {                    if( p_epg->p_current == p_epg->pp_event[j] )                        p_epg->p_current = p_dup;                    vlc_epg_event_Delete( p_epg->pp_event[j] );                    p_epg->pp_event[j] = p_dup;                    b_changed = true;                }                break;            }        }    }    vlc_mutex_unlock( &p_item->lock );    if ( b_changed )    {        vlc_event_t event = { .type = vlc_InputItemInfoChanged, };        vlc_event_send( &p_item->event_manager, &event );    }}
开发者ID:r1k,项目名称:vlc,代码行数:34,


示例5: input_item_SignalPreparseEnded

void input_item_SignalPreparseEnded( input_item_t *p_i, int status ){    vlc_event_t event;    event.type = vlc_InputItemPreparseEnded;    event.u.input_item_preparse_ended.new_status = status;    vlc_event_send( &p_i->event_manager, &event );}
开发者ID:BossKing,项目名称:vlc,代码行数:7,


示例6: services_discovery_RemoveItem

/*********************************************************************** * RemoveItem ***********************************************************************/voidservices_discovery_RemoveItem ( services_discovery_t * p_sd, input_item_t * p_item ){    vlc_event_t event;    event.type = vlc_ServicesDiscoveryItemRemoved;    event.u.services_discovery_item_removed.p_item = p_item;    vlc_event_send( &p_sd->event_manager, &event );}
开发者ID:mahaserver,项目名称:MHSVLC,代码行数:12,


示例7: input_SendEventMetaInfo

void input_SendEventMetaInfo( input_thread_t *p_input ){    Trigger( p_input, INPUT_EVENT_ITEM_INFO );    /* FIXME remove this ugliness */    vlc_event_t event;    event.type = vlc_InputItemInfoChanged;    vlc_event_send( &p_input->p->p_item->event_manager, &event );}
开发者ID:vlcchina,项目名称:vlc-player-experimental,代码行数:10,


示例8: input_SendEventMetaName

void input_SendEventMetaName( input_thread_t *p_input, const char *psz_name ){    Trigger( p_input, INPUT_EVENT_ITEM_NAME );    /* FIXME remove this ugliness */    vlc_event_t event;    event.type = vlc_InputItemNameChanged;    event.u.input_item_name_changed.new_name = psz_name;    vlc_event_send( &p_input->p->p_item->event_manager, &event );}
开发者ID:vlcchina,项目名称:vlc-player-experimental,代码行数:11,


示例9: services_discovery_AddItem

/*********************************************************************** * AddItem ***********************************************************************/voidservices_discovery_AddItem ( services_discovery_t * p_sd, input_item_t * p_item,                             const char * psz_category ){    vlc_event_t event;    event.type = vlc_ServicesDiscoveryItemAdded;    event.u.services_discovery_item_added.p_new_item = p_item;    event.u.services_discovery_item_added.psz_category = psz_category;    vlc_event_send( &p_sd->event_manager, &event );}
开发者ID:mahaserver,项目名称:MHSVLC,代码行数:14,


示例10: input_SendEventMeta

/* FIXME: review them because vlc_event_send might be * moved inside input_item* functions. */void input_SendEventMeta( input_thread_t *p_input ){    Trigger( p_input, INPUT_EVENT_ITEM_META );    /* FIXME remove this ugliness ? */    vlc_event_t event;    event.type = vlc_InputItemMetaChanged;    event.u.input_item_meta_changed.meta_type = vlc_meta_ArtworkURL;    vlc_event_send( &p_input->p->p_item->event_manager, &event );}
开发者ID:vlcchina,项目名称:vlc-player-experimental,代码行数:14,


示例11: post_subitems

static void post_subitems( input_item_node_t *p_node ){    for( int i = 0; i < p_node->i_children; i++ )    {        vlc_event_t event;        event.type = vlc_InputItemSubItemAdded;        event.u.input_item_subitem_added.p_new_child = p_node->pp_children[i]->p_item;        vlc_event_send( &p_node->p_item->event_manager, &event );        post_subitems( p_node->pp_children[i] );    }}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:12,


示例12: input_item_SetMeta

void input_item_SetMeta( input_item_t *p_i, vlc_meta_type_t meta_type, const char *psz_val ){    vlc_event_t event;    vlc_mutex_lock( &p_i->lock );    if( !p_i->p_meta )        p_i->p_meta = vlc_meta_New();    vlc_meta_Set( p_i->p_meta, meta_type, psz_val );    vlc_mutex_unlock( &p_i->lock );    /* Notify interested third parties */    event.type = vlc_InputItemMetaChanged;    event.u.input_item_meta_changed.meta_type = meta_type;    vlc_event_send( &p_i->event_manager, &event );}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:15,


示例13: input_item_AddSubItem

/* This won't hold the item, but can tell to interested third parties * Like the playlist, that there is a new sub item. With this design * It is not the input item's responsability to keep all the ref of * the input item children. */void input_item_AddSubItem( input_item_t *p_parent, input_item_t *p_child ){    vlc_mutex_lock( &p_parent->lock );    p_parent->i_type = ITEM_TYPE_PLAYLIST;    vlc_mutex_unlock( &p_parent->lock );    /* Notify interested third parties */    vlc_event_t event;    event.type = vlc_InputItemSubItemAdded;    event.u.input_item_subitem_added.p_new_child = p_child;    vlc_event_send( &p_parent->event_manager, &event );}
开发者ID:FLYKingdom,项目名称:vlc,代码行数:19,


示例14: vlc_sd_Start

/*******************************************************************//** * Start a Service Discovery ***********************************************************************/bool vlc_sd_Start ( services_discovery_t * p_sd ){    assert(!p_sd->p_module);    p_sd->p_module = module_need( p_sd, "services_discovery",                                  p_sd->psz_name, true );    if( p_sd->p_module == NULL )    {        msg_Err( p_sd, "no suitable services discovery module" );        return false;    }    vlc_event_t event = {        .type = vlc_ServicesDiscoveryStarted    };    vlc_event_send( &p_sd->event_manager, &event );    return true;}
开发者ID:DZLiao,项目名称:vlc-2.1.4.32.subproject-2013-update2,代码行数:21,


示例15: input_item_SetErrorWhenReading

void input_item_SetErrorWhenReading( input_item_t *p_i, bool b_error ){    bool b_changed;    vlc_mutex_lock( &p_i->lock );    b_changed = p_i->b_error_when_reading != b_error;    p_i->b_error_when_reading = b_error;    vlc_mutex_unlock( &p_i->lock );    if( b_changed )    {        vlc_event_t event;        event.type = vlc_InputItemErrorWhenReadingChanged;        event.u.input_item_error_when_reading_changed.new_value = b_error;        vlc_event_send( &p_i->event_manager, &event );    }}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:20,


示例16: input_item_SetDuration

void input_item_SetDuration( input_item_t *p_i, mtime_t i_duration ){    bool b_send_event = false;    vlc_mutex_lock( &p_i->lock );    if( p_i->i_duration != i_duration )    {        p_i->i_duration = i_duration;        b_send_event = true;    }    vlc_mutex_unlock( &p_i->lock );    if( b_send_event )    {        vlc_event_t event;        event.type = vlc_InputItemDurationChanged;        event.u.input_item_duration_changed.new_duration = i_duration;        vlc_event_send( &p_i->event_manager, &event );    }}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:21,


示例17: input_item_SetEpg

void input_item_SetEpg( input_item_t *p_item,                        const char *psz_epg, const vlc_epg_t *p_epg ){    input_item_DelInfo( p_item, psz_epg, NULL );#ifdef HAVE_LOCALTIME_R    vlc_mutex_lock( &p_item->lock );    for( int i = 0; i < p_epg->i_event; i++ )    {        const vlc_epg_event_t *p_evt = p_epg->pp_event[i];        time_t t_start = (time_t)p_evt->i_start;        struct tm tm_start;        char psz_start[128];        localtime_r( &t_start, &tm_start );        snprintf( psz_start, sizeof(psz_start), "%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d",                  1900 + tm_start.tm_year, 1 + tm_start.tm_mon, tm_start.tm_mday,                  tm_start.tm_hour, tm_start.tm_min, tm_start.tm_sec );        if( p_evt->psz_short_description || p_evt->psz_description )            InputItemAddInfo( p_item, psz_epg, psz_start, "%s (%2.2d:%2.2d) - %s",                              p_evt->psz_name,                              p_evt->i_duration/60/60, (p_evt->i_duration/60)%60,                              p_evt->psz_short_description ? p_evt->psz_short_description : p_evt->psz_description );        else            InputItemAddInfo( p_item, psz_epg, psz_start, "%s (%2.2d:%2.2d)",                              p_evt->psz_name,                              p_evt->i_duration/60/60, (p_evt->i_duration/60)%60 );    }    vlc_mutex_unlock( &p_item->lock );    if( p_epg->i_event > 0 )    {        vlc_event_t event;        event.type = vlc_InputItemInfoChanged;        vlc_event_send( &p_item->event_manager, &event );    }#endif}
开发者ID:Kafay,项目名称:vlc,代码行数:40,


示例18: input_item_ReplaceInfos

void input_item_ReplaceInfos( input_item_t *p_item, info_category_t *p_cat ){    vlc_mutex_lock( &p_item->lock );    int i_cat;    info_category_t *p_old = InputItemFindCat( p_item, &i_cat, p_cat->psz_name );    if( p_old )    {        info_category_Delete( p_old );        p_item->pp_categories[i_cat] = p_cat;    }    else    {        INSERT_ELEM( p_item->pp_categories, p_item->i_categories, p_item->i_categories,                     p_cat );    }    vlc_mutex_unlock( &p_item->lock );    vlc_event_t event;    event.type = vlc_InputItemInfoChanged;    vlc_event_send( &p_item->event_manager, &event );}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:22,


示例19: input_item_DelInfo

int input_item_DelInfo( input_item_t *p_i,                        const char *psz_cat,                        const char *psz_name ){    vlc_mutex_lock( &p_i->lock );    int i_cat;    info_category_t *p_cat = InputItemFindCat( p_i, &i_cat, psz_cat );    if( !p_cat )    {        vlc_mutex_unlock( &p_i->lock );        return VLC_EGENERIC;    }    if( psz_name )    {        /* Remove a specific info */        int i_ret = info_category_DeleteInfo( p_cat, psz_name );        if( i_ret )        {            vlc_mutex_unlock( &p_i->lock );            return VLC_EGENERIC;        }    }    else    {        /* Remove the complete categorie */        info_category_Delete( p_cat );        REMOVE_ELEM( p_i->pp_categories, p_i->i_categories, i_cat );    }    vlc_mutex_unlock( &p_i->lock );    vlc_event_t event;    event.type = vlc_InputItemInfoChanged;    vlc_event_send( &p_i->event_manager, &event );    return VLC_SUCCESS;}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:38,


示例20: input_item_MergeInfos

void input_item_MergeInfos( input_item_t *p_item, info_category_t *p_cat ){    vlc_mutex_lock( &p_item->lock );    info_category_t *p_old = InputItemFindCat( p_item, NULL, p_cat->psz_name );    if( p_old )    {        for( int i = 0; i < p_cat->i_infos; i++ )            info_category_ReplaceInfo( p_old, p_cat->pp_infos[i] );        TAB_CLEAN( p_cat->i_infos, p_cat->pp_infos );        info_category_Delete( p_cat );    }    else    {        INSERT_ELEM( p_item->pp_categories, p_item->i_categories, p_item->i_categories,                     p_cat );    }    vlc_mutex_unlock( &p_item->lock );    vlc_event_t event;    event.type = vlc_InputItemInfoChanged;    vlc_event_send( &p_item->event_manager, &event );}
开发者ID:371816210,项目名称:vlc_vlc,代码行数:23,


示例21: input_item_SetEpg

void input_item_SetEpg( input_item_t *p_item, const vlc_epg_t *p_update ){    vlc_mutex_lock( &p_item->lock );    /* */    vlc_epg_t *p_epg = NULL;    for( int i = 0; i < p_item->i_epg; i++ )    {        vlc_epg_t *p_tmp = p_item->pp_epg[i];        if( (p_tmp->psz_name == NULL) != (p_update->psz_name == NULL) )            continue;        if( p_tmp->psz_name && p_update->psz_name && strcmp(p_tmp->psz_name, p_update->psz_name) )            continue;        p_epg = p_tmp;        break;    }    /* */    if( !p_epg )    {        p_epg = vlc_epg_New( p_update->psz_name );        if( p_epg )            TAB_APPEND( p_item->i_epg, p_item->pp_epg, p_epg );    }    if( p_epg )        vlc_epg_Merge( p_epg, p_update );    vlc_mutex_unlock( &p_item->lock );    if( !p_epg )        return;#ifdef EPG_DEBUG    char *psz_epg;    if( asprintf( &psz_epg, "EPG %s", p_epg->psz_name ? p_epg->psz_name : "unknown" ) < 0 )        goto signal;    input_item_DelInfo( p_item, psz_epg, NULL );    vlc_mutex_lock( &p_item->lock );    for( int i = 0; i < p_epg->i_event; i++ )    {        const vlc_epg_event_t *p_evt = p_epg->pp_event[i];        time_t t_start = (time_t)p_evt->i_start;        struct tm tm_start;        char psz_start[128];        localtime_r( &t_start, &tm_start );        snprintf( psz_start, sizeof(psz_start), "%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d",                  1900 + tm_start.tm_year, 1 + tm_start.tm_mon, tm_start.tm_mday,                  tm_start.tm_hour, tm_start.tm_min, tm_start.tm_sec );        if( p_evt->psz_short_description || p_evt->psz_description )            InputItemAddInfo( p_item, psz_epg, psz_start, "%s (%2.2d:%2.2d) - %s %s",                              p_evt->psz_name,                              p_evt->i_duration/60/60, (p_evt->i_duration/60)%60,                              p_evt->psz_short_description ? p_evt->psz_short_description : "" ,                              p_evt->psz_description ? p_evt->psz_description : "" );        else            InputItemAddInfo( p_item, psz_epg, psz_start, "%s (%2.2d:%2.2d)",                              p_evt->psz_name,                              p_evt->i_duration/60/60, (p_evt->i_duration/60)%60 );    }    vlc_mutex_unlock( &p_item->lock );    free( psz_epg );signal:#endif    if( p_epg->i_event > 0 )    {        vlc_event_t event = { .type = vlc_InputItemInfoChanged, };        vlc_event_send( &p_item->event_manager, &event );    }
开发者ID:371816210,项目名称:vlc_vlc,代码行数:75,


示例22: input_item_DelInfo

int input_item_DelInfo( input_item_t *p_i,                        const char *psz_cat,                        const char *psz_name ){    info_category_t *p_cat = NULL;    int i_cat;    int i;    vlc_mutex_lock( &p_i->lock );    for( i_cat = 0; i_cat < p_i->i_categories; i_cat++ )    {        if( !strcmp( p_i->pp_categories[i_cat]->psz_name,                     psz_cat ) )        {            p_cat = p_i->pp_categories[i_cat];            break;        }    }    if( p_cat == NULL )    {        vlc_mutex_unlock( &p_i->lock );        return VLC_EGENERIC;    }    if( psz_name )    {        /* Remove a specific info */        for( i = 0; i < p_cat->i_infos; i++ )        {            if( !strcmp( p_cat->pp_infos[i]->psz_name, psz_name ) )            {                free( p_cat->pp_infos[i]->psz_name );                free( p_cat->pp_infos[i]->psz_value );                free( p_cat->pp_infos[i] );                REMOVE_ELEM( p_cat->pp_infos, p_cat->i_infos, i );                break;            }        }        if( i >= p_cat->i_infos )        {            vlc_mutex_unlock( &p_i->lock );            return VLC_EGENERIC;        }    }    else    {        /* Remove the complete categorie */        for( i = 0; i < p_cat->i_infos; i++ )        {            free( p_cat->pp_infos[i]->psz_name );            free( p_cat->pp_infos[i]->psz_value );            free( p_cat->pp_infos[i] );        }        free( p_cat->pp_infos );        REMOVE_ELEM( p_i->pp_categories, p_i->i_categories, i_cat );    }    // Free the category    free( p_cat->psz_name );    free( p_cat );    vlc_mutex_unlock( &p_i->lock );    vlc_event_t event;    event.type = vlc_InputItemInfoChanged;    vlc_event_send( &p_i->event_manager, &event );    return VLC_SUCCESS;}
开发者ID:FLYKingdom,项目名称:vlc,代码行数:69,


示例23: input_item_SignalPreparseEnded

void input_item_SignalPreparseEnded( input_item_t *p_i ){    vlc_event_t event;    event.type = vlc_InputItemPreparseEnded;    vlc_event_send( &p_i->event_manager, &event );}
开发者ID:LTNGlobal-opensource,项目名称:vlc-sdi,代码行数:6,



注:本文中的vlc_event_send函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ vlc_fopen函数代码示例
C++ vlc_cond_wait函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。