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

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

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

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

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

示例1: test_strings

static void test_strings( libvlc_int_t *p_libvlc ){    int i;    char *psz_tmp;    for( i = 0; i < i_var_count; i++ )         var_Create( p_libvlc, psz_var_name[i], VLC_VAR_STRING );    for( i = 0; i < i_var_count; i++ )        var_SetString( p_libvlc, psz_var_name[i], psz_var_name[i] );    for( i = 0; i < i_var_count; i++ )    {        psz_tmp = var_GetString( p_libvlc, psz_var_name[i] );        assert( !strcmp( psz_tmp, psz_var_name[i] ) );        free( psz_tmp );    }    for( i = 0; i < i_var_count; i++ )        var_Destroy( p_libvlc, psz_var_name[i] );    /* Some more test for strings */    var_Create( p_libvlc, "bla", VLC_VAR_STRING );    assert( var_GetNonEmptyString( p_libvlc, "bla" ) == NULL );    var_SetString( p_libvlc, "bla", "" );    assert( var_GetNonEmptyString( p_libvlc, "bla" ) == NULL );    var_SetString( p_libvlc, "bla", "test" );    psz_tmp = var_GetNonEmptyString( p_libvlc, "bla" );    assert( !strcmp( psz_tmp, "test" ) );    free( psz_tmp );    var_Destroy( p_libvlc, "bla" );}
开发者ID:Adatan,项目名称:vlc,代码行数:32,


示例2: create_SDP

static void create_SDP(sout_stream_t *p_stream, sout_access_out_t *p_access){    sout_stream_sys_t   *p_sys = p_stream->p_sys;    static const struct addrinfo hints = {		// sunqueen modify start        /*.ai_family =*/ AF_UNSPEC,        /*.ai_socktype =*/ SOCK_DGRAM,        /*.ai_protocol =*/ 0,        /*.ai_flags =*/ AI_NUMERICHOST | AI_NUMERICSERV | AI_IDN,		// sunqueen modify end    };    char *shost = var_GetNonEmptyString (p_access, "src-addr");    char *dhost = var_GetNonEmptyString (p_access, "dst-addr");    int sport = var_GetInteger (p_access, "src-port");    int dport = var_GetInteger (p_access, "dst-port");    struct sockaddr_storage src, dst;    socklen_t srclen = 0, dstlen = 0;    struct addrinfo *res;    if (!vlc_getaddrinfo (dhost, dport, &hints, &res))    {        memcpy (&dst, res->ai_addr, dstlen = res->ai_addrlen);        freeaddrinfo (res);    }    if (!vlc_getaddrinfo (shost, sport, &hints, &res))    {        memcpy (&src, res->ai_addr, srclen = res->ai_addrlen);        freeaddrinfo (res);    }    char *head = vlc_sdp_Start (VLC_OBJECT (p_stream), SOUT_CFG_PREFIX,            (struct sockaddr *)&src, srclen,            (struct sockaddr *)&dst, dstlen);    free (shost);    if (head != NULL)    {        char *psz_sdp = NULL;        if (asprintf (&psz_sdp, "%s"                    "m=video %d udp mpeg/r/n", head, dport) == -1)            psz_sdp = NULL;        free (head);        /* Register the SDP with the SAP thread */        if (psz_sdp)        {            msg_Dbg (p_stream, "Generated SDP:/n%s", psz_sdp);            p_sys->p_session =                sout_AnnounceRegisterSDP (p_stream, psz_sdp, dhost);            free( psz_sdp );        }    }    free (dhost);}
开发者ID:DZLiao,项目名称:vlc-2.1.4.32.subproject-2013-update2,代码行数:56,


示例3: vlclua_equalizer_get

/****************************************************************************** Return EQ level for all bands as a Table*****************************************************************************/static int vlclua_equalizer_get( lua_State *L ){    int bands = 9;    input_thread_t *p_input = vlclua_get_input_internal( L );    if( !p_input )        return 0;    audio_output_t *p_aout = input_GetAout( p_input );    vlc_object_release( p_input );    if( !p_aout )        return 0;    float level = 0 ;    char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );    if( !psz_af || strstr ( psz_af, "equalizer" ) == NULL )    {        free( psz_af );        vlc_object_release( p_aout );        return 0;    }    free( psz_af );    char *psz_bands_origin, *psz_bands;    psz_bands_origin = psz_bands = var_GetNonEmptyString( p_aout, "equalizer-bands" );    if( !psz_bands )    {        vlc_object_release( p_aout );        return 0;    }    locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL);    locale_t oldloc = uselocale (loc);    int i = 0;    char *str;    lua_newtable( L );    while( bands >= 0 )    {        level = strtof( psz_bands, &psz_bands);        bands--;        if( asprintf( &str , "%f" , level ) == -1 )            return 0;        lua_pushstring( L, str );        free(str);        if( asprintf( &str , "band id=/"%d/"", i++ ) == -1 )            return 0;        lua_setfield( L , -2 , str );        free( str );    }    free( psz_bands_origin );    if( loc != (locale_t)0 )    {        uselocale (oldloc);        freelocale (loc);    }    vlc_object_release( p_aout );    return 1;}
开发者ID:Flameeyes,项目名称:vlc,代码行数:58,


示例4: Open

/***************************************************************************** * Open: open the file *****************************************************************************/static int Open( vlc_object_t *p_this ){    sout_access_out_t   *p_access = (sout_access_out_t*)p_this;    sout_access_out_sys_t *p_sys;    char *psz_idx;    config_ChainParse( p_access, SOUT_CFG_PREFIX, ppsz_sout_options, p_access->p_cfg );    if( !p_access->psz_path )    {        msg_Err( p_access, "no file name specified" );        return VLC_EGENERIC;    }    if( !( p_sys = malloc ( sizeof( *p_sys ) ) ) )        return VLC_ENOMEM;    p_sys->i_seglen = var_GetInteger( p_access, SOUT_CFG_PREFIX "seglen" );    p_sys->i_seglenm = CLOCK_FREQ * p_sys->i_seglen;    p_sys->i_numsegs = var_GetInteger( p_access, SOUT_CFG_PREFIX "numsegs" );    p_sys->b_splitanywhere = var_GetBool( p_access, SOUT_CFG_PREFIX "splitanywhere" );    p_sys->b_delsegs = var_GetBool( p_access, SOUT_CFG_PREFIX "delsegs" );    p_sys->b_ratecontrol = var_GetBool( p_access, SOUT_CFG_PREFIX "ratecontrol") ;    p_sys->psz_indexPath = NULL;    psz_idx = var_GetNonEmptyString( p_access, SOUT_CFG_PREFIX "index" );    if ( psz_idx )    {        char *psz_tmp;        psz_tmp = str_format( p_access, psz_idx );        free( psz_idx );        if ( !psz_tmp )        {            free( p_sys );            return VLC_ENOMEM;        }        path_sanitize( psz_tmp );        p_sys->psz_indexPath = psz_tmp;        vlc_unlink( p_sys->psz_indexPath );    }    p_sys->psz_indexUrl = var_GetNonEmptyString( p_access, SOUT_CFG_PREFIX "index-url" );    p_access->p_sys = p_sys;    p_sys->i_handle = -1;    p_sys->i_segment = 0;    p_sys->psz_cursegPath = NULL;    p_access->pf_write = Write;    p_access->pf_seek  = Seek;    p_access->pf_control = Control;    return VLC_SUCCESS;}
开发者ID:Italianmoose,项目名称:Stereoscopic-VLC,代码行数:58,


示例5: VoutSaveSnapshot

/** * This function will handle a snapshot request */static void VoutSaveSnapshot( vout_thread_t *p_vout ){    char *psz_path = var_GetNonEmptyString( p_vout, "snapshot-path" );    char *psz_format = var_GetNonEmptyString( p_vout, "snapshot-format" );    char *psz_prefix = var_GetNonEmptyString( p_vout, "snapshot-prefix" );    /* */    picture_t *p_picture;    block_t *p_image;    video_format_t fmt;    /* 500ms timeout     * XXX it will cause trouble with low fps video (< 2fps) */    if( vout_GetSnapshot( p_vout, &p_image, &p_picture, &fmt, psz_format, 500*1000 ) )    {        p_picture = NULL;        p_image = NULL;        goto exit;    }    if( !psz_path )    {        psz_path = VoutSnapshotGetDefaultDirectory();        if( !psz_path )        {            msg_Err( p_vout, "no path specified for snapshots" );            goto exit;        }    }    char *psz_filename;    if( VoutWriteSnapshot( p_vout, &psz_filename,                           p_image,                           psz_path, psz_format, psz_prefix ) )        goto exit;    VoutOsdSnapshot( p_vout, p_picture, psz_filename );    /* Generate a media player event  - Right now just trigger a global libvlc var        CHECK: Could not find a more local object. The goal is to communicate        vout_thread with libvlc_media_player or its input_thread */    var_SetString( p_vout->p_libvlc, "vout-snapshottaken", psz_filename );    free( psz_filename );exit:    if( p_image )        block_Release( p_image );    if( p_picture )        picture_Release( p_picture );    free( psz_prefix );    free( psz_format );    free( psz_path );}
开发者ID:MisTelochka,项目名称:vlc,代码行数:56,


示例6: DeinterlaceAdd

static void DeinterlaceAdd(vout_thread_t *vout){    char *filter = var_GetNonEmptyString(vout, "video-filter");    if (FilterFind(filter, "deinterlace")) {        free(filter);        return;    }    /* */    if (filter) {        char *tmp = filter;        if (asprintf(&filter, "%s:%s", tmp, "deinterlace") < 0)            filter = tmp;        else            free(tmp);    } else {        filter = strdup("deinterlace");    }    if (filter) {        var_SetString(vout, "video-filter", filter);        free(filter);    }}
开发者ID:Italianmoose,项目名称:Stereoscopic-VLC,代码行数:25,


示例7: vlclua_preamp_get

/****************************************************************************** Get the preamp level*****************************************************************************/static int vlclua_preamp_get( lua_State *L ){    input_thread_t *p_input = vlclua_get_input_internal( L );    if( !p_input )        return 0;    audio_output_t *p_aout = input_GetAout( p_input );    vlc_object_release( p_input );    if( !p_aout)        return 0;    char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );    if( !psz_af || strstr ( psz_af, "equalizer" ) == NULL )    {        free( psz_af );        vlc_object_release( p_aout );        return 0;    }    free( psz_af );    lua_pushnumber( L, var_GetFloat( p_aout, "equalizer-preamp") );    vlc_object_release( p_aout );    return 1;}
开发者ID:vlcchina,项目名称:vlc-player-experimental,代码行数:28,


示例8: vlclua_equalizer_set

/****************************************************************************** Set the equalizer level for the specified band*****************************************************************************/static int vlclua_equalizer_set( lua_State *L ){    int bandid = luaL_checknumber( L, 1 );    if( bandid < 0 || bandid > 9)        return 0;    input_thread_t *p_input = vlclua_get_input_internal( L );    if( !p_input )        return 0;    audio_output_t *p_aout = input_GetAout( p_input );    vlc_object_release( p_input );    if( !p_aout )        return 0;    char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );    if( !psz_af || strstr ( psz_af, "equalizer" ) == NULL )    {        free( psz_af );        vlc_object_release( p_aout );        return 0;    }    free( psz_af );    float level = luaL_checknumber( L, 2 );    char *bands = var_GetString( p_aout, "equalizer-bands" );    locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL);    locale_t oldloc = uselocale (loc);    char *b = bands;    while( bandid > 0 )    {        float dummy = strtof( b, &b );        (void)dummy;        bandid--;    }    if( *b != '/0' )        *b++ = '/0';    float dummy = strtof( b, &b );    (void)dummy;    char *newstr;    if( asprintf( &newstr, "%s %.1f%s", bands, level, b ) != -1 )    {        var_SetString( p_aout, "equalizer-bands", newstr );        free( newstr );    }    if( loc != (locale_t)0 )    {        uselocale (oldloc);        freelocale (loc);    }    free( bands );    vlc_object_release( p_aout );    return 0;}
开发者ID:vlcchina,项目名称:vlc-player-experimental,代码行数:59,


示例9: DeinterlaceIsPresent

static bool DeinterlaceIsPresent(vout_thread_t *vout){    char *filter = var_GetNonEmptyString(vout, "video-filter");    bool is_found = FilterFind(filter, "deinterlace") != NULL;    free(filter);    return is_found;}
开发者ID:Italianmoose,项目名称:Stereoscopic-VLC,代码行数:10,


示例10: PPQCallback

static int PPQCallback( vlc_object_t *p_this, const char *psz_var,                        vlc_value_t oldval, vlc_value_t newval, void *p_data ){    VLC_UNUSED(psz_var); VLC_UNUSED(oldval); VLC_UNUSED(p_data);    filter_t *p_filter = (filter_t *)p_this;    char *psz_name = var_GetNonEmptyString( p_filter, FILTER_PREFIX "name" );    PPChangeMode( p_filter, psz_name, newval.i_int );    free( psz_name );    return VLC_SUCCESS;}
开发者ID:vlcchina,项目名称:vlc-player-experimental,代码行数:11,


示例11: GetVout

char *libvlc_video_get_aspect_ratio( libvlc_media_player_t *p_mi,                                     libvlc_exception_t *p_e ){    char *psz_aspect = 0;    vout_thread_t *p_vout = GetVout( p_mi, p_e );    if( !p_vout ) return 0;    psz_aspect = var_GetNonEmptyString( p_vout, "aspect-ratio" );    vlc_object_release( p_vout );    return psz_aspect ? psz_aspect : strdup("");}
开发者ID:mahaserver,项目名称:MHSVLC,代码行数:12,


示例12: Create

/***************************************************************************** * Create: initialize and set pf_video_filter() *****************************************************************************/static int Create( vlc_object_t *p_this ){    filter_t *p_filter = (filter_t *)p_this;    filter_sys_t *p_sys;    const vlc_chroma_description_t *p_chroma =        vlc_fourcc_GetChromaDescription( p_filter->fmt_in.video.i_chroma );    if( p_chroma == NULL || p_chroma->plane_count == 0 )        return VLC_EGENERIC;    config_ChainParse( p_filter, CFG_PREFIX, ppsz_vfilter_options,                       p_filter->p_cfg );    p_filter->p_sys = p_sys = calloc( 1, sizeof( filter_sys_t ) );    if( p_filter->p_sys == NULL )        return VLC_ENOMEM;    p_sys->p_image = image_HandlerCreate( p_this );    if( !p_sys->p_image )    {        msg_Err( p_this, "Couldn't get handle to image conversion routines." );        free( p_sys );        return VLC_EGENERIC;    }    p_sys->psz_format = var_CreateGetString( p_this, CFG_PREFIX "format" );    p_sys->i_format = image_Type2Fourcc( p_sys->psz_format );    if( !p_sys->i_format )    {        msg_Err( p_filter, "Could not find FOURCC for image type '%s'",                 p_sys->psz_format );        image_HandlerDelete( p_sys->p_image );        free( p_sys->psz_format );        free( p_sys );        return VLC_EGENERIC;    }    p_sys->i_width = var_CreateGetInteger( p_this, CFG_PREFIX "width" );    p_sys->i_height = var_CreateGetInteger( p_this, CFG_PREFIX "height" );    p_sys->i_ratio = var_CreateGetInteger( p_this, CFG_PREFIX "ratio" );    if( p_sys->i_ratio <= 0)        p_sys->i_ratio = 1;    p_sys->b_replace = var_CreateGetBool( p_this, CFG_PREFIX "replace" );    p_sys->psz_prefix = var_CreateGetString( p_this, CFG_PREFIX "prefix" );    p_sys->psz_path = var_GetNonEmptyString( p_this, CFG_PREFIX "path" );    if( p_sys->psz_path == NULL )        p_sys->psz_path = config_GetUserDir( VLC_PICTURES_DIR );    p_filter->pf_video_filter = Filter;    return VLC_SUCCESS;}
开发者ID:AsamQi,项目名称:vlc,代码行数:54,


示例13: Mux

/***************************************************************************** * Mux: multiplex available data in input fifos *****************************************************************************/static int Mux( sout_mux_t *p_mux ){    sout_mux_sys_t *p_sys = p_mux->p_sys;    if( p_sys->b_error ) return VLC_EGENERIC;    if( p_sys->b_write_header )    {        int error;        msg_Dbg( p_mux, "writing header" );        char *psz_opts = var_GetNonEmptyString( p_mux, "sout-avformat-options" );        AVDictionary *options = NULL;        if (psz_opts) {            vlc_av_get_options(psz_opts, &options);            free(psz_opts);        }        av_dict_set( &p_sys->oc->metadata, "encoding_tool", "VLC "VERSION, 0 );        error = avformat_write_header( p_sys->oc, options ? &options : NULL);        AVDictionaryEntry *t = NULL;        while ((t = av_dict_get(options, "", t, AV_DICT_IGNORE_SUFFIX))) {            msg_Err( p_mux, "Unknown option /"%s/"", t->key );        }        av_dict_free(&options);        if( error < 0 )        {            msg_Err( p_mux, "could not write header: %s",                     vlc_strerror_c(AVUNERROR(error)) );            p_sys->b_write_header = false;            p_sys->b_error = true;            return VLC_EGENERIC;        }        avio_flush( p_sys->oc->pb );        p_sys->b_write_header = false;    }    for( ;; )    {        mtime_t i_dts;        int i_stream = sout_MuxGetStream( p_mux, 1, &i_dts );        if( i_stream < 0 )            return VLC_SUCCESS;        MuxBlock( p_mux, p_mux->pp_inputs[i_stream] );    }    return VLC_SUCCESS;}
开发者ID:tguillem,项目名称:vlc,代码行数:53,


示例14: getIntf

void VlcProc::init_equalizer(){    playlist_t* pPlaylist = getIntf()->p_sys->p_playlist;    audio_output_t* pAout = playlist_GetAout( pPlaylist );    if( pAout )    {        if( !var_Type( pAout, "equalizer-bands" ) )            var_Create( pAout, "equalizer-bands",                        VLC_VAR_STRING | VLC_VAR_DOINHERIT);        if( !var_Type( pAout, "equalizer-preamp" ) )            var_Create( pAout, "equalizer-preamp",                        VLC_VAR_FLOAT | VLC_VAR_DOINHERIT);        // New Aout (addCallbacks)        var_AddCallback( pAout, "audio-filter",                         onGenericCallback, this );        var_AddCallback( pAout, "equalizer-bands",                         onEqBandsChange, this );        var_AddCallback( pAout, "equalizer-preamp",                         onEqPreampChange, this );    }    // is equalizer enabled ?    char *pFilters = pAout ?                   var_GetNonEmptyString( pAout, "audio-filter" ) :                   var_InheritString( getIntf(), "audio-filter" );    bool b_equalizer = pFilters && strstr( pFilters, "equalizer" );    free( pFilters );    SET_BOOL( m_cVarEqualizer, b_equalizer );    // retrieve initial bands    char* bands = pAout ?                  var_GetString( pAout, "equalizer-bands" ) :                  var_InheritString( getIntf(), "equalizer-bands" );    if( bands )    {        m_varEqBands.set( bands );        free( bands );    }    // retrieve initial preamp    float preamp = pAout ?                   var_GetFloat( pAout, "equalizer-preamp" ) :                   var_InheritFloat( getIntf(), "equalizer-preamp" );    EqualizerPreamp *pVarPreamp = (EqualizerPreamp*)m_cVarEqPreamp.get();    pVarPreamp->set( (preamp + 20.0) / 40.0 );    if( pAout )        vlc_object_release( pAout);}
开发者ID:jomanmuk,项目名称:vlc-2.2,代码行数:50,


示例15: var_GetNonEmptyString

void VlcProc::update_equalizer(){    char *pFilters;    if( m_pAout )        pFilters = var_GetNonEmptyString( m_pAout, "audio-filter" );    else        pFilters = var_InheritString( getIntf(), "audio-filter" );    bool b_equalizer = pFilters && strstr( pFilters, "equalizer" );    free( pFilters );    SET_BOOL( m_cVarEqualizer, b_equalizer );}
开发者ID:RodrigoNieves,项目名称:vlc,代码行数:14,


示例16: EventThreadUpdateTitle

void EventThreadUpdateTitle( event_thread_t *p_event, const char *psz_fallback ){    char *psz_title = var_GetNonEmptyString( p_event->vd, "video-title" );    if( !psz_title )        psz_title = strdup( psz_fallback );    if( !psz_title )        return;    vlc_mutex_lock( &p_event->lock );    free( p_event->psz_title );    p_event->psz_title = psz_title;    vlc_mutex_unlock( &p_event->lock );    PostMessage( p_event->hwnd, WM_VLC_CHANGE_TEXT, 0, 0 );}
开发者ID:LDiracDelta,项目名称:vlc_censor_plugin,代码行数:15,


示例17: vlc_mutex_lock

/***************************************************************************** * Run: main thread *****************************************************************************/VLC_NORETURNstatic void *Run( void *data ){    services_discovery_t *p_sd = data;    services_discovery_sys_t *p_sys  = p_sd->p_sys;    vlc_mutex_lock( &p_sys->lock );    mutex_cleanup_push( &p_sys->lock );    for( ;; )    {        while( !p_sys->b_update )            vlc_cond_wait( &p_sys->wait, &p_sys->lock );        int canc = vlc_savecancel ();        msg_Dbg( p_sd, "Update required" );        if( p_sys->update_type == UPDATE_URLS )        {            char *psz_urls = var_GetNonEmptyString( p_sd->p_parent,                                                    "podcast-urls" );            ParseUrls( p_sd, psz_urls );            free( psz_urls );        }        else if( p_sys->update_type == UPDATE_REQUEST )            ParseRequest( p_sd );        p_sys->b_update = false;        for( int i = 0; i < p_sd->p_sys->i_input; i++ )        {            input_thread_t *p_input = p_sd->p_sys->pp_input[i];            int state = var_GetInteger( p_input, "state" );            if( state == END_S || state == ERROR_S )            {                input_Stop( p_input );                input_Close( p_input );                p_sd->p_sys->pp_input[i] = NULL;                REMOVE_ELEM( p_sys->pp_input, p_sys->i_input, i );                i--;            }        }        vlc_restorecancel (canc);    }    vlc_cleanup_pop();    vlc_assert_unreachable(); /* dead code */}
开发者ID:0xheart0,项目名称:vlc,代码行数:51,


示例18: vlc_mutex_lock

/***************************************************************************** * Run: main thread *****************************************************************************/static void *Run( void *data ){    services_discovery_t *p_sd = data;    services_discovery_sys_t *p_sys  = p_sd->p_sys;    vlc_mutex_lock( &p_sys->lock );    mutex_cleanup_push( &p_sys->lock );    for( ;; )    {        while( !p_sys->b_update )            vlc_cond_wait( &p_sys->wait, &p_sys->lock );        int canc = vlc_savecancel ();        msg_Dbg( p_sd, "Update required" );        if( p_sys->update_type == UPDATE_URLS )        {          char* psz_urls = var_GetNonEmptyString( p_sd, "podcast-urls" );          ParseUrls( p_sd, psz_urls );          free( psz_urls );        }        else if( p_sys->update_type == UPDATE_REQUEST )        {          ParseRequest( p_sd );        }        p_sys->b_update = false;        for( int i = 0; i < p_sd->p_sys->i_input; i++ )        {            input_thread_t *p_input = p_sd->p_sys->pp_input[i];            if( p_input->b_eof || p_input->b_error )            {                input_Stop( p_input, false );                vlc_thread_join( p_input );                vlc_object_release( p_input );                p_sd->p_sys->pp_input[i] = NULL;                REMOVE_ELEM( p_sys->pp_input, p_sys->i_input, i );                i--;            }        }        vlc_restorecancel (canc);    }    vlc_cleanup_pop();    assert(0); /* dead code */}
开发者ID:iamnpc,项目名称:myfaplayer,代码行数:51,


示例19: vlclua_equalizer_set

/****************************************************************************** Set the equalizer level for the specified band*****************************************************************************/static int vlclua_equalizer_set( lua_State *L ){    int bandid = luaL_checknumber( L, 1 );    if( bandid < 0 || bandid > 9)        return 0;    input_thread_t *p_input = vlclua_get_input_internal( L );    if( !p_input )        return 0;    int i_pos = 0 , j = 0;    audio_output_t *p_aout = input_GetAout( p_input );    vlc_object_release( p_input );    if( !p_aout )        return 0;    char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );    if( !psz_af || strstr ( psz_af, "equalizer" ) == NULL )    {        free( psz_af );        vlc_object_release( p_aout );        return 0;    }    free( psz_af );    float level = luaL_checknumber( L, 2 );    char *bands = var_GetString( p_aout, "equalizer-bands" );    char newstr[7];    while( j != bandid )    {        i_pos++;        if( bands[i_pos] == '.' )        {            i_pos++;            j++;        }    }    if( bandid != 0 )        i_pos++;    snprintf( newstr, sizeof ( newstr ) , "%6.1f", level);    for( int i = 0 ; i < 6 ; i++ )        bands[i_pos+i] = newstr[i];    var_SetString( p_aout, "equalizer-bands", bands );    vlc_object_release( p_aout );    return 1;}
开发者ID:Flameeyes,项目名称:vlc,代码行数:49,


示例20: DeinterlaceRemove

static void DeinterlaceRemove(vout_thread_t *vout){    char *filter = var_GetNonEmptyString(vout, "video-filter");    char *start = FilterFind(filter, "deinterlace");    if (!start) {        free(filter);        return;    }    /* */    strcpy(&start[0], &start[strlen("deinterlace")]);    if (*start == ':')        strcpy(&start[0], &start[1]);    var_SetString(vout, "video-filter", filter);    free(filter);}
开发者ID:Italianmoose,项目名称:Stereoscopic-VLC,代码行数:18,


示例21: var_GetNonEmptyString

void intf_sys_t::msgPlayerLoad(){    char *psz_mime = var_GetNonEmptyString(p_stream, SOUT_CFG_PREFIX "mime");    if (psz_mime == NULL)        return;    std::stringstream ss;    ss << "{/"type/":/"LOAD/","       <<  "/"media/":{/"contentId/":/"http://" << serverIP << ":"           << var_InheritInteger(p_stream, SOUT_CFG_PREFIX"http-port")           << "/stream/","       <<             "/"streamType/":/"LIVE/","       <<             "/"contentType/":/"" << std::string(psz_mime) << "/"},"       <<  "/"requestId/":" << i_requestId++ << "}";    free(psz_mime);    buildMessage(NAMESPACE_MEDIA, ss.str(), appTransportId);}
开发者ID:mingyueqingquan,项目名称:vlc,代码行数:19,


示例22: Open

/***************************************************************************** * Open: *****************************************************************************/static int Open( vlc_object_t *p_this ){    sout_stream_t *p_stream = (sout_stream_t*)p_this;    sout_stream_sys_t *p_sys;    p_stream->pf_add    = Add;    p_stream->pf_del    = Del;    p_stream->pf_send   = Send;    p_stream->p_sys = p_sys = malloc( sizeof(*p_sys) );    if( !p_sys )        return VLC_ENOMEM;    config_ChainParse( p_stream, SOUT_CFG_PREFIX, ppsz_sout_options, p_stream->p_cfg );    p_sys->p_out = NULL;    p_sys->psz_prefix = var_GetNonEmptyString( p_stream, SOUT_CFG_PREFIX "dst-prefix" );    if( !p_sys->psz_prefix  )    {        p_sys->psz_prefix = strdup( "sout-record-" );        if( !p_sys->psz_prefix )        {            free( p_sys );            return VLC_ENOMEM;        }    }    p_sys->i_date_start = -1;    p_sys->i_size = 0;#ifdef OPTIMIZE_MEMORY    p_sys->i_max_wait = 5*CLOCK_FREQ; /* 5s */    p_sys->i_max_size = 1*1024*1024; /* 1 MiB */#else    p_sys->i_max_wait = 30*CLOCK_FREQ; /* 30s */    p_sys->i_max_size = 20*1024*1024; /* 20 MiB */#endif    p_sys->b_drop = false;    p_sys->i_dts_start = 0;    TAB_INIT( p_sys->i_id, p_sys->id );    return VLC_SUCCESS;}
开发者ID:AsamQi,项目名称:vlc,代码行数:45,


示例23: vlclua_equalizer_setpreset

/****************************************************************************** Set the preset specified by preset id*****************************************************************************/static int vlclua_equalizer_setpreset( lua_State *L ){    int presetid = luaL_checknumber( L, 1 );    if( presetid >= NB_PRESETS || presetid < 0 )        return 0;    input_thread_t *p_input = vlclua_get_input_internal( L );    if( p_input )    {        audio_output_t *p_aout = input_GetAout( p_input );        vlc_object_release( p_input );        if( !p_aout )        {            return 0;        }        char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );        if( !psz_af || strstr ( psz_af, "equalizer" ) == NULL )        {            free( psz_af );            vlc_object_release( p_aout );            return 0;        }        free( psz_af );        char *newstr;        if( asprintf( &newstr , "%6.1f" , eqz_preset_10b[presetid].f_amp[0] ) == -1 )            return 0;        for ( int i = 1 ; i < 10 ; i++ )        {            if( asprintf( &newstr, "%s%6.1f",newstr ,eqz_preset_10b[presetid].f_amp[i]) == -1 )                return 0;        }        var_SetString( p_aout, "equalizer-bands",newstr );        var_SetFloat( p_aout, "equalizer-preamp", eqz_preset_10b[presetid].f_preamp );        var_SetString( p_aout , "equalizer-preset" , preset_list[presetid] );        vlc_object_release( p_aout );        free( newstr );        return 1;    }    return 0;}
开发者ID:vlcchina,项目名称:vlc-player-experimental,代码行数:42,


示例24: strlen

char *vlc_sdp_Start (vlc_object_t *obj, const char *cfgpref,                     const struct sockaddr *src, size_t srclen,                     const struct sockaddr *addr, size_t addrlen){    size_t cfglen = strlen (cfgpref);    if (cfglen > 100)        return NULL;    char varname[cfglen + sizeof ("description")], *subvar = varname + cfglen;    strcpy (varname, cfgpref);    strcpy (subvar, "name");    char *name = var_GetNonEmptyString (obj, varname);    strcpy (subvar, "description");    char *description = var_GetNonEmptyString (obj, varname);    strcpy (subvar, "url");    char *url = var_GetNonEmptyString (obj, varname);    strcpy (subvar, "email");    char *email = var_GetNonEmptyString (obj, varname);    strcpy (subvar, "phone");    char *phone = var_GetNonEmptyString (obj, varname);    char *sdp = sdp_Start (name, description, url, email, phone,                           src, srclen, addr, addrlen);    free (name);    free (description);    free (url);    free (email);    free (phone);    if (sdp == NULL)        return NULL;    strcpy (subvar, "cat");    char *cat = var_GetNonEmptyString (obj, varname);    if (cat != NULL)    {        sdp_AddAttribute (&sdp, "cat", "%s", cat);        /* Totally non-standard */        sdp_AddAttribute (&sdp, "x-plgroup", "%s", cat);        free (cat);    }    return sdp;}
开发者ID:vlcchina,项目名称:vlc-player-experimental,代码行数:45,


示例25: msgLoad

static void msgLoad(sout_stream_t *p_stream){    sout_stream_sys_t *p_sys = p_stream->p_sys;    char *psz_mime = var_GetNonEmptyString(p_stream, SOUT_CFG_PREFIX "mime");    if (psz_mime == NULL)        return;    std::stringstream ss;    ss << "{/"type/":/"LOAD/","       <<  "/"media/":{/"contentId/":/"http://" << p_sys->serverIP << ":"           << var_InheritInteger(p_stream, SOUT_CFG_PREFIX"http-port")           << "/stream/","       <<             "/"streamType/":/"LIVE/","       <<             "/"contentType/":/"" << std::string(psz_mime) << "/"},"       <<  "/"requestId/":" << p_stream->p_sys->i_requestId++ << "}";    free(psz_mime);    castchannel::CastMessage msg = buildMessage("urn:x-cast:com.google.cast.media",        castchannel::CastMessage_PayloadType_STRING, ss.str(), p_sys->appTransportId);    p_sys->messagesToSend.push(msg);}
开发者ID:Adatan,项目名称:vlc,代码行数:24,


示例26: Open

/***************************************************************************** * Open: open the shout connection *****************************************************************************/static int Open( vlc_object_t *p_this ){    sout_access_out_t *p_access = (sout_access_out_t*)p_this;    sout_access_out_sys_t *p_sys;    shout_t *p_shout;    long i_ret;    char *psz_val;    char *psz_name;    char *psz_description;    char *psz_genre;    char *psz_url;    vlc_url_t url;    config_ChainParse( p_access, SOUT_CFG_PREFIX, ppsz_sout_options, p_access->p_cfg );    if( !p_access->psz_path )    {        msg_Err( p_access,                 "please specify url=user:[email
C++ var_InheritBool函数代码示例
C++ var_GetInteger函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。