]> sjero.net Git - linphone/commitdiff
add linphone_sound_daemon_stop_all_players()
authorSimon Morlat <simon.morlat@linphone.org>
Mon, 14 Jun 2010 14:25:03 +0000 (16:25 +0200)
committerSimon Morlat <simon.morlat@linphone.org>
Mon, 14 Jun 2010 14:25:03 +0000 (16:25 +0200)
coreapi/linphonecore_utils.h
coreapi/lsd.c

index 7b62e972d43ee632118461d747d6aaf0675c3b9e..7dbea33d7ad6368f67cd2c616bcc172fcb7ca05e 100644 (file)
@@ -44,6 +44,7 @@ LinphoneSoundDaemon *lsd_player_get_daemon(const LsdPlayer *p);
 LinphoneSoundDaemon * linphone_sound_daemon_new(const char *cardname, int rate, int nchannels);
 LsdPlayer * linphone_sound_daemon_get_player(LinphoneSoundDaemon *lsd);
 void linphone_sound_daemon_release_player(LinphoneSoundDaemon *lsd, LsdPlayer *lsdplayer);
+void linphone_sound_daemon_stop_all_players(LinphoneSoundDaemon *obj);
 void linphone_core_use_sound_daemon(LinphoneCore *lc, LinphoneSoundDaemon *lsd);
 void linphone_sound_daemon_destroy(LinphoneSoundDaemon *obj);
 
index 1599b074af07e34986a986183c342f4f6e539c67..a31592e9aa76ee0c246b0cf20eac70b25fe10c89 100644 (file)
@@ -265,6 +265,13 @@ LinphoneSoundDaemon * linphone_sound_daemon_new(const char *cardname, int rate,
        return lsd;
 }
 
+void linphone_sound_daemon_stop_all_players(LinphoneSoundDaemon *obj){
+       int i;
+       for(i=1;i<MAX_BRANCHES;++i){
+               lsd_player_stop(&obj->branches[i]);
+       }
+}
+
 void linphone_sound_daemon_destroy(LinphoneSoundDaemon *obj){
        int i;
        MSConnectionPoint mp;
@@ -272,6 +279,7 @@ void linphone_sound_daemon_destroy(LinphoneSoundDaemon *obj){
        mp.filter=obj->mixer;
        for(i=0;i<MAX_BRANCHES;++i){
                mp.pin=i;
+               if (i!=0) linphone_sound_daemon_release_player(obj,&obj->branches[i]);
                lsd_player_uninit (&obj->branches[i],mp);
        }
        ms_filter_unlink(obj->mixer,0,obj->soundout,0);