Module: sems Branch: master Commit: d3bd9b5e6426c051865a6615109d7d516e61efbb URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=d3bd9b5e6426c051865a6615109d7d516e61efbb
Author: Václav Kubart <[email protected]> Committer: Václav Kubart <[email protected]> Date: Fri Apr 20 07:07:58 2012 +0200 b/f: transcoder settings: correct printing and comparison --- apps/sbc/SBCCallProfile.cpp | 60 +++++++++++++++++++++++++------------------ apps/sbc/SBCCallProfile.h | 1 + 2 files changed, 36 insertions(+), 25 deletions(-) diff --git a/apps/sbc/SBCCallProfile.cpp b/apps/sbc/SBCCallProfile.cpp index dd05873..30b740f 100644 --- a/apps/sbc/SBCCallProfile.cpp +++ b/apps/sbc/SBCCallProfile.cpp @@ -894,7 +894,7 @@ string SBCCallProfile::CodecPreferences::print() const { string res; - res += "codec_preference: "; + res += "codec_preference: "; for (vector<PayloadDesc>::const_iterator i = bleg_payload_order.begin(); i != bleg_payload_order.end(); ++i) { if (i != bleg_payload_order.begin()) res += ","; res += i->print(); @@ -955,26 +955,9 @@ bool SBCCallProfile::TranscoderSettings::readTranscoderMode(const std::string &s void SBCCallProfile::TranscoderSettings::infoPrint() const { - if (audio_codecs.size() > 0) { - INFO("SBC: transcode audio:\n"); - for (vector<SdpPayload>::const_iterator i = audio_codecs.begin(); i != audio_codecs.end(); ++i) - INFO("SBC: - %s\n", payload2str(*i).c_str()); - } - if (callee_codec_capabilities.size() > 0) { - INFO("SBC: callee codec capabilities:\n"); - for (vector<PayloadDesc>::const_iterator i = callee_codec_capabilities.begin(); - i != callee_codec_capabilities.end(); ++i) - { - INFO("SBC: - %s\n", i->print().c_str()); - } - } - string s("?"); - switch (transcoder_mode) { - case Always: s = "always"; break; - case Never: s = "never"; break; - case OnMissingCompatible: s = "on_missing_compatible"; break; - } - INFO("SBC: enable transcoder: %s\n", s.c_str()); + INFO("SBC: transcoder audio codecs: %s\n", audio_codecs_str.c_str()); + INFO("SBC: callee codec capabilities: %s\n", callee_codec_capabilities_str.c_str()); + INFO("SBC: enable transcoder: %s\n", transcoder_mode_str.c_str()); } bool SBCCallProfile::TranscoderSettings::readConfig(AmConfigReader &cfg) @@ -989,14 +972,41 @@ bool SBCCallProfile::TranscoderSettings::readConfig(AmConfigReader &cfg) bool SBCCallProfile::TranscoderSettings::operator==(const TranscoderSettings& rhs) const { - // TODO:transcoder_audio_codecs, mode, ... - return true; + bool res = (transcoder_mode == rhs.transcoder_mode); + res = res && (enabled == rhs.enabled); + res = res && (payloadDescsEqual(callee_codec_capabilities, rhs.callee_codec_capabilities)); + res = res && (audio_codecs == rhs.audio_codecs); + return res; } string SBCCallProfile::TranscoderSettings::print() const { - string res; - // TODO: transcoder_audio_codecs, mode, ... + string res("transcoder audio codecs:"); + for (vector<SdpPayload>::const_iterator i = audio_codecs.begin(); i != audio_codecs.end(); ++i) { + res += " "; + res += payload2str(*i); + } + + res += "\ncallee codec capabilities:"; + for (vector<PayloadDesc>::const_iterator i = callee_codec_capabilities.begin(); + i != callee_codec_capabilities.end(); ++i) + { + res += " "; + res += i->print(); + } + + string s("?"); + switch (transcoder_mode) { + case Always: s = "always"; break; + case Never: s = "never"; break; + case OnMissingCompatible: s = "on_missing_compatible"; break; + } + res += "\nenable transcoder: " + s; + + res += "\ntranscoder currently enabled: "; + if (enabled) res += "yes\n"; + else res += "no\n"; + return res; } diff --git a/apps/sbc/SBCCallProfile.h b/apps/sbc/SBCCallProfile.h index 5dad51a..2b77550 100644 --- a/apps/sbc/SBCCallProfile.h +++ b/apps/sbc/SBCCallProfile.h @@ -170,6 +170,7 @@ struct SBCCallProfile string print() const; bool isActive() { return enabled; } + TranscoderSettings(): enabled(false), transcoder_mode(Never) { } } transcoder; struct CodecPreferences { _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
