]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
update
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 26 Apr 2006 21:04:11 +0000 (21:04 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 26 Apr 2006 21:04:11 +0000 (21:04 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1268 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_exosip/mod_exosip.c

index 7339819cca6a64c177e97769545956487903ddb1..277f80fadd1d93f3d91dd0737e2e768ff776007b 100644 (file)
@@ -323,18 +323,24 @@ static switch_status exosip_on_init(switch_core_session *session)
                        static const switch_codec_implementation *imp;
                        for (i = 0; i < num_codecs; i++) {
                                int x = 0;
+                               uint32_t sps;
 
                                snprintf(tmp, sizeof(tmp), "%u", codecs[i]->ianacode);
                                sdp_message_m_payload_add(tech_pvt->local_sdp, 0, osip_strdup(tmp));
-                               for (imp = codecs[i]->implementations; imp; imp = imp->next) {
+                               imp = codecs[i]->implementations;
+                               sps = imp->samples_per_second;
+
+                               while(NULL != imp) {
                                        /* Add to SDP config */
-                                       sdp_add_codec(tech_pvt->sdp_config, codecs[i]->codec_type, codecs[i]->ianacode, codecs[i]->iananame,
-                                                                 imp->samples_per_second, x++);
+                                       sdp_add_codec(tech_pvt->sdp_config, codecs[i]->codec_type, codecs[i]->ianacode, codecs[i]->iananame, sps, x++);
+                                                                 
                                        /* Add to SDP message */
-
-                                       snprintf(tmp, sizeof(tmp), "%u %s/%d", codecs[i]->ianacode, codecs[i]->iananame, imp->samples_per_second);
+                                       snprintf(tmp, sizeof(tmp), "%u %s/%d", codecs[i]->ianacode, codecs[i]->iananame, sps);
                                        sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "rtpmap", osip_strdup(tmp));
                                        memset(tmp, 0, sizeof(tmp));
+                                       if (imp) {
+                                               imp = imp->next;
+                                       }
                                } 
                        }
                }