const char *var = switch_channel_get_variable(caller_channel, "inherit_codec");
if (switch_true(var)) {
switch_codec_implementation_t impl = { 0 };
+ switch_codec_implementation_t video_impl = { 0 };
char tmp[128] = "";
if (switch_core_session_get_read_impl(originate_status[pindex].peer_session, &impl) == SWITCH_STATUS_SUCCESS) {
- switch_snprintf(tmp, sizeof(tmp), "%s@%uh@%ui", impl.iananame, impl.samples_per_second, impl.microseconds_per_packet / 1000);
+ if (switch_core_session_get_video_read_impl(originate_status[pindex].peer_session, &impl) == SWITCH_STATUS_SUCCESS) {
+ switch_snprintf(tmp, sizeof(tmp), "%s@%uh@%ui,%s",
+ impl.iananame, impl.samples_per_second, impl.microseconds_per_packet / 1000,
+ video_impl.iananame);
+ } else {
+ switch_snprintf(tmp, sizeof(tmp), "%s@%uh@%ui",
+ impl.iananame, impl.samples_per_second, impl.microseconds_per_packet / 1000);
+ }
switch_channel_set_variable(caller_channel, "absolute_codec_string", tmp);
switch_log_printf(SWITCH_CHANNEL_CHANNEL_LOG(caller_channel), SWITCH_LOG_DEBUG, "Setting codec string on %s to %s\n",
switch_channel_get_name(caller_channel), tmp);