]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7529 --resolve
authorBrian West <brian@freeswitch.org>
Mon, 11 May 2015 21:47:02 +0000 (16:47 -0500)
committerBrian West <brian@freeswitch.org>
Mon, 11 May 2015 21:47:02 +0000 (16:47 -0500)
src/switch_core_codec.c

index 23a16781a9b1dd23c2418e7e69fc14114bffac9a..01211e736d334e7b8d61145cd0bf136a005ebfae 100644 (file)
@@ -619,13 +619,16 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_reset(switch_codec_t *codec)
 SWITCH_DECLARE(switch_status_t) switch_core_codec_copy(switch_codec_t *codec, switch_codec_t *new_codec, 
                                                                                                           const switch_codec_settings_t *codec_settings, switch_memory_pool_t *pool)
 {
+       uint32_t codec_rate;
        switch_assert(codec != NULL);
        switch_assert(new_codec != NULL);
-       
-       return switch_core_codec_init(new_codec, 
+       codec_rate = !strcasecmp(codec->implementation->iananame, "g722")
+               ? codec->implementation->samples_per_second : codec->implementation->actual_samples_per_second;
+               
+       return switch_core_codec_init(new_codec,
                                                                  codec->implementation->iananame,
                                                                  codec->fmtp_in,
-                                                                 codec->implementation->actual_samples_per_second,
+                                                                 codec_rate,
                                                                  codec->implementation->microseconds_per_packet / 1000,
                                                                  codec->implementation->number_of_channels,
                                                                  codec->flags,