Changeset c3a1a3712f639eff527d030d129734934aa8b919

Show
Ignore:
Timestamp:
09/14/06 20:58:39 (2 years ago)
Author:
Clément Stenac <zorglub@videolan.org>
git-committer:
Clément Stenac <zorglub@videolan.org> 1158260319 +0000
git-parent:

[aa742bd48e7338574e1beaad5ac63fb078794dc0]

git-author:
Clément Stenac <zorglub@videolan.org> 1158260319 +0000
Message:

Filter handling helpers moved to core
Will have to be updated/factorized when new chain and filter stuff is in.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • include/audio_output.h

    r2cb472d rc3a1a37  
    201201VLC_EXPORT( int, aout_FindAndRestart, ( vlc_object_t *, const char *, vlc_value_t, vlc_value_t, void * ) ); 
    202202VLC_EXPORT( int, aout_ChannelsRestart, ( vlc_object_t *, const char *, vlc_value_t, vlc_value_t, void * ) ); 
     203VLC_EXPORT( void, aout_EnableFilter, (vlc_object_t *, const char *, vlc_bool_t )); 
    203204 
    204205#endif /* _VLC_AUDIO_OUTPUT_H */ 
  • include/video_output.h

    ra593fa1 rc3a1a37  
    247247void vout_IntfInit( vout_thread_t * ); 
    248248 
     249VLC_EXPORT( void, vout_EnableFilter, ( vout_thread_t *, char *,vlc_bool_t , vlc_bool_t  ) ); 
     250 
    249251 
    250252static inline int vout_vaControl( vout_thread_t *p_vout, int i_query, 
  • include/vlc_symbols.h

    rb96f123 rc3a1a37  
    535535    int (*utf8_vfprintf_inner) (FILE *stream, const char *fmt, va_list ap); 
    536536    int (*net_SetDSCP_inner) (int fd, uint8_t dscp); 
     537    void (*vout_EnableFilter_inner) (vout_thread_t *, char *,vlc_bool_t , vlc_bool_t); 
     538    void (*aout_EnableFilter_inner) (vlc_object_t *, const char *, vlc_bool_t); 
    537539}; 
    538540# if defined (__PLUGIN__) 
     
    10041006#  define utf8_vfprintf (p_symbols)->utf8_vfprintf_inner 
    10051007#  define net_SetDSCP (p_symbols)->net_SetDSCP_inner 
     1008#  define vout_EnableFilter (p_symbols)->vout_EnableFilter_inner 
     1009#  define aout_EnableFilter (p_symbols)->aout_EnableFilter_inner 
    10061010# elif defined (HAVE_DYNAMIC_PLUGINS) && !defined (__BUILTIN__) 
    10071011/****************************************************************** 
     
    14761480    ((p_symbols)->utf8_vfprintf_inner) = utf8_vfprintf; \ 
    14771481    ((p_symbols)->net_SetDSCP_inner) = net_SetDSCP; \ 
     1482    ((p_symbols)->vout_EnableFilter_inner) = vout_EnableFilter; \ 
     1483    ((p_symbols)->aout_EnableFilter_inner) = aout_EnableFilter; \ 
    14781484    (p_symbols)->net_ConvertIPv4_deprecated = NULL; \ 
    14791485    (p_symbols)->__playlist_ItemNew_deprecated = NULL; \ 
  • modules/gui/qt4/dialogs/playlist.cpp

    r6523dc2 rc3a1a37  
    125125                a->setChecked( true ); 
    126126            } 
    127             CONNECT( a , trigerred(), SDMapper, map() ); 
     127            CONNECT( a , triggered(), SDMapper, map() ); 
    128128            SDMapper->setMapping( a, i>=0? p_parser->pp_shortcuts[i] : 
    129129                                            p_parser->psz_object_name ); 
  • src/audio_output/intf.c

    r5bd77e4 rc3a1a37  
    462462    return 0; 
    463463} 
     464 
     465/** Enable or disable an audio filter 
     466 * \param p_this a vlc object 
     467 * \param psz_name name of the filter 
     468 * \param b_add are we adding or removing the filter ? 
     469 */ 
     470void aout_EnableFilter( vlc_object_t *p_this, const char *psz_name, 
     471                        vlc_bool_t b_add ) 
     472{ 
     473    char *psz_parser, *psz_string; 
     474    aout_instance_t * p_aout = vlc_object_find( p_this, VLC_OBJECT_AOUT, 
     475                                                FIND_ANYWHERE ); 
     476 
     477    if( p_aout ) 
     478        psz_string = var_GetString( p_aout, "audio-filter" ); 
     479    else 
     480        psz_string = config_GetPsz( p_this, "audio-filter" ); 
     481 
     482    if( !psz_string ) psz_string = strdup(""); 
     483 
     484    psz_parser = strstr( psz_string, psz_name ); 
     485 
     486    if( b_add ) 
     487    { 
     488        if( !psz_parser ) 
     489        { 
     490            psz_parser = psz_string; 
     491            asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s", 
     492                            psz_string, psz_name ); 
     493            free( psz_parser ); 
     494        } 
     495        else 
     496        { 
     497            vlc_object_release( p_aout ); 
     498            return; 
     499        } 
     500    } 
     501    else 
     502    { 
     503        if( psz_parser ) 
     504        { 
     505            memmove( psz_parser, psz_parser + strlen(psz_name) + 
     506                            (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ), 
     507                            strlen(psz_parser + strlen(psz_name)) + 1 ); 
     508 
     509            if( *(psz_string+strlen(psz_string ) -1 ) == ':' ) 
     510            { 
     511                *(psz_string+strlen(psz_string ) -1 ) = '\0'; 
     512            } 
     513         } 
     514         else 
     515         { 
     516             free( psz_string ); 
     517             return; 
     518         } 
     519    } 
     520 
     521    if( p_aout == NULL ) 
     522        config_PutPsz( p_this, "audio-filter", psz_string ); 
     523    else 
     524    { 
     525        var_SetString( p_aout, "audio-filter", psz_string ); 
     526        for( int i = 0; i < p_aout->i_nb_inputs; i++ ) 
     527            p_aout->pp_inputs[i]->b_restart = VLC_TRUE; 
     528        vlc_object_release( p_aout ); 
     529    } 
     530    free( psz_string ); 
     531} 
  • src/video_output/vout_intf.c

    r83f23b6 rc3a1a37  
    732732 
    733733/***************************************************************************** 
     734 * Handle filters 
     735 *****************************************************************************/ 
     736 
     737void vout_EnableFilter( vout_thread_t *p_vout, char *psz_name, 
     738                        vlc_bool_t b_add, vlc_bool_t b_setconfig ) 
     739{ 
     740    char *psz_parser; 
     741    char *psz_string = config_GetPsz( p_vout, "vout-filter" ); 
     742 
     743    /* Todo : Use some generic chain manipulation functions */ 
     744    if( !psz_string ) psz_string = strdup(""); 
     745 
     746    psz_parser = strstr( psz_string, psz_name ); 
     747    if( b_add ) 
     748    { 
     749        if( !psz_parser ) 
     750        { 
     751            psz_parser = psz_string; 
     752            asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s", 
     753                            psz_string, psz_name ); 
     754            free( psz_parser ); 
     755        } 
     756        else 
     757            return; 
     758    } 
     759    else 
     760    { 
     761        if( psz_parser ) 
     762        { 
     763            memmove( psz_parser, psz_parser + strlen(psz_name) + 
     764                            (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ), 
     765                            strlen(psz_parser + strlen(psz_name)) + 1 ); 
     766 
     767            /* Remove trailing : : */ 
     768            if( *(psz_string+strlen(psz_string ) -1 ) == ':' ) 
     769            { 
     770                *(psz_string+strlen(psz_string ) -1 ) = '\0'; 
     771            } 
     772         } 
     773         else 
     774         { 
     775             free( psz_string ); 
     776             return; 
     777         } 
     778    } 
     779    if( b_setconfig ) 
     780        config_PutPsz( p_vout, "vout-filter", psz_string ); 
     781 
     782    var_SetString( p_vout, "vout-filter", psz_string ); 
     783    free( psz_string ); 
     784} 
     785 
     786/***************************************************************************** 
    734787 * vout_ControlDefault: default methods for video output control. 
    735788 *****************************************************************************/