From 2751286e1504c18520b45fae63b3a88b59e7101c Mon Sep 17 00:00:00 2001 From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> Date: Fri, 10 Jun 2011 17:46:21 -0400 Subject: [PATCH] * #6104: AudioCodec moved to sfl namespace --- sflphone-common/src/audio/codecs/alaw.cpp | 4 ++-- sflphone-common/src/audio/codecs/audiocodec.cpp | 4 ++++ sflphone-common/src/audio/codecs/audiocodec.h | 5 ++++- .../src/audio/codecs/audiocodecfactory.cpp | 6 +++--- sflphone-common/src/audio/codecs/celtcodec.cpp | 4 ++-- sflphone-common/src/audio/codecs/g722.cpp | 4 ++-- sflphone-common/src/audio/codecs/gsmcodec.cpp | 4 ++-- sflphone-common/src/audio/codecs/speexcodec_nb.cpp | 4 ++-- sflphone-common/src/audio/codecs/speexcodec_ub.cpp | 4 ++-- sflphone-common/src/audio/codecs/speexcodec_wb.cpp | 4 ++-- sflphone-common/src/audio/codecs/ulaw.cpp | 4 ++-- sflphone-common/src/audio/sound/audiofile.cpp | 5 +++-- sflphone-common/src/audio/sound/audiofile.h | 13 +++++++------ sflphone-common/src/iax/iaxvoiplink.cpp | 12 ++++++------ sflphone-common/src/managerimpl.cpp | 4 ++-- sflphone-common/src/sip/sdp.cpp | 4 ++-- sflphone-common/src/sip/sdp.h | 7 +++++-- sflphone-common/src/sip/sipvoiplink.cpp | 12 ++++++------ 18 files changed, 58 insertions(+), 46 deletions(-) diff --git a/sflphone-common/src/audio/codecs/alaw.cpp b/sflphone-common/src/audio/codecs/alaw.cpp index 44741d0f1d..f6826269eb 100644 --- a/sflphone-common/src/audio/codecs/alaw.cpp +++ b/sflphone-common/src/audio/codecs/alaw.cpp @@ -32,13 +32,13 @@ #include "../common.h" #include "audiocodec.h" -class Alaw : public AudioCodec +class Alaw : public sfl::AudioCodec { public: // 8 PCMA A 8000 1 [RFC3551] Alaw (int payload=8) - : AudioCodec (payload, "PCMA") { + : sfl::AudioCodec (payload, "PCMA") { _clockRate = 8000; _frameSize = 160; // samples, 20 ms at 8kHz _channel = 1; diff --git a/sflphone-common/src/audio/codecs/audiocodec.cpp b/sflphone-common/src/audio/codecs/audiocodec.cpp index 05db9abda7..df7a692419 100644 --- a/sflphone-common/src/audio/codecs/audiocodec.cpp +++ b/sflphone-common/src/audio/codecs/audiocodec.cpp @@ -32,6 +32,8 @@ #include "audiocodec.h" +namespace sfl { + AudioCodec::AudioCodec (uint8 payload, const std::string &codecName) : _codecName (codecName), _clockRate (8000), _channel (1), _bitrate (0.0), _bandwidth (0), _hasDynamicPayload (false), _payload(payload) @@ -110,3 +112,5 @@ double AudioCodec::getBandwidth (void) const { return _bandwidth; } + +} // end namespace sfl diff --git a/sflphone-common/src/audio/codecs/audiocodec.h b/sflphone-common/src/audio/codecs/audiocodec.h index 44b630a939..20558f0527 100644 --- a/sflphone-common/src/audio/codecs/audiocodec.h +++ b/sflphone-common/src/audio/codecs/audiocodec.h @@ -38,7 +38,9 @@ #include "Codec.h" -class AudioCodec : public sfl::Codec // TODO Move into the "sfl" namespace +namespace sfl { + +class AudioCodec : public Codec { public: AudioCodec (uint8 payload, const std::string &codecName); @@ -187,5 +189,6 @@ class AudioCodec : public sfl::Codec // TODO Move into the "sfl" namespace void init (uint8 payloadType, uint32 clockRate); }; +} // end namespace sfl #endif diff --git a/sflphone-common/src/audio/codecs/audiocodecfactory.cpp b/sflphone-common/src/audio/codecs/audiocodecfactory.cpp index 595e7fbadb..e751d1cab5 100644 --- a/sflphone-common/src/audio/codecs/audiocodecfactory.cpp +++ b/sflphone-common/src/audio/codecs/audiocodecfactory.cpp @@ -108,9 +108,9 @@ AudioCodecFactory::getCodec (AudioCodecType payload) { CodecsMap::iterator iter = _CodecsMap.find (payload); - if (iter!=_CodecsMap.end()) { - return static_cast<AudioCodec *>(iter->second); - } + // FIXME: isn't this static cast pointless? + if (iter != _CodecsMap.end()) + return static_cast<sfl::AudioCodec *>(iter->second); _error ("CodecDescriptor: Error cannont found codec %i in _CodecsMap from codec descriptor", payload); diff --git a/sflphone-common/src/audio/codecs/celtcodec.cpp b/sflphone-common/src/audio/codecs/celtcodec.cpp index 6db7d29fb6..4ce2b45f20 100644 --- a/sflphone-common/src/audio/codecs/celtcodec.cpp +++ b/sflphone-common/src/audio/codecs/celtcodec.cpp @@ -33,11 +33,11 @@ #include <celt/celt.h> -class Celt : public AudioCodec +class Celt : public sfl::AudioCodec { public: - Celt (int payload=115) : AudioCodec (payload, "celt") { + Celt (int payload=115) : sfl::AudioCodec (payload, "celt") { _clockRate = 32000; _frameSize = 320; // fixed frameSize, TODO: support variable size from 64 to 512 diff --git a/sflphone-common/src/audio/codecs/g722.cpp b/sflphone-common/src/audio/codecs/g722.cpp index 0335aea92a..41ec89a9e1 100644 --- a/sflphone-common/src/audio/codecs/g722.cpp +++ b/sflphone-common/src/audio/codecs/g722.cpp @@ -43,13 +43,13 @@ #define FALSE 0 -class G722 : public AudioCodec +class G722 : public sfl::AudioCodec { public: G722 (int payload=9) - : AudioCodec (payload, "G722") { + : sfl::AudioCodec (payload, "G722") { _clockRate = 16000; _frameSize = 320; // samples, 20 ms at 16kHz _channel = 1; diff --git a/sflphone-common/src/audio/codecs/gsmcodec.cpp b/sflphone-common/src/audio/codecs/gsmcodec.cpp index 8ab18aa418..8be02bc61c 100644 --- a/sflphone-common/src/audio/codecs/gsmcodec.cpp +++ b/sflphone-common/src/audio/codecs/gsmcodec.cpp @@ -39,12 +39,12 @@ extern "C" { * GSM audio codec C++ class (over gsm/gsm.h) */ -class Gsm : public AudioCodec +class Gsm : public sfl::AudioCodec { public: // _payload should be 3 - Gsm (int payload=3) : AudioCodec (payload, "GSM"), _decode_gsmhandle (NULL), _encode_gsmhandle (NULL) { + Gsm (int payload=3) : sfl::AudioCodec (payload, "GSM"), _decode_gsmhandle (NULL), _encode_gsmhandle (NULL) { _clockRate = 8000; _frameSize = 160; // samples, 20 ms at 8kHz _channel = 1; diff --git a/sflphone-common/src/audio/codecs/speexcodec_nb.cpp b/sflphone-common/src/audio/codecs/speexcodec_nb.cpp index 8a22ab9d5a..e0fcd2a815 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_nb.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_nb.cpp @@ -34,12 +34,12 @@ #include <speex/speex.h> #include <speex/speex_preprocess.h> -class Speex : public AudioCodec +class Speex : public sfl::AudioCodec { public: Speex (int payload=110) - : AudioCodec (payload, "speex"), + : sfl::AudioCodec (payload, "speex"), _speexModePtr (NULL), _speex_dec_bits(), _speex_enc_bits(), diff --git a/sflphone-common/src/audio/codecs/speexcodec_ub.cpp b/sflphone-common/src/audio/codecs/speexcodec_ub.cpp index 3a9cebee7a..36a8cd1f42 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_ub.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_ub.cpp @@ -33,12 +33,12 @@ #include <cstdio> #include <speex/speex.h> -class Speex : public AudioCodec +class Speex : public sfl::AudioCodec { public: Speex (int payload=112) - : AudioCodec (payload, "speex"), + : sfl::AudioCodec (payload, "speex"), _speexModePtr (NULL), _speex_dec_bits(), _speex_enc_bits(), diff --git a/sflphone-common/src/audio/codecs/speexcodec_wb.cpp b/sflphone-common/src/audio/codecs/speexcodec_wb.cpp index 3969ee94a3..e4fcd41462 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_wb.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_wb.cpp @@ -33,12 +33,12 @@ #include <cstdio> #include <speex/speex.h> -class Speex : public AudioCodec +class Speex : public sfl::AudioCodec { public: Speex (int payload=111) - : AudioCodec (payload, "speex"), + : sfl::AudioCodec (payload, "speex"), _speexModePtr (NULL), _speex_dec_bits(), _speex_enc_bits(), diff --git a/sflphone-common/src/audio/codecs/ulaw.cpp b/sflphone-common/src/audio/codecs/ulaw.cpp index 3e40b8b8a9..56d6571742 100644 --- a/sflphone-common/src/audio/codecs/ulaw.cpp +++ b/sflphone-common/src/audio/codecs/ulaw.cpp @@ -34,13 +34,13 @@ #include "../common.h" #include "audiocodec.h" -class Ulaw : public AudioCodec +class Ulaw : public sfl::AudioCodec { public: // 0 PCMU A 8000 1 [RFC3551] Ulaw (int payload=0) - : AudioCodec (payload, "PCMU") { + : sfl::AudioCodec (payload, "PCMU") { _clockRate = 8000; _frameSize = 160; // samples, 20 ms at 8kHz _channel = 1; diff --git a/sflphone-common/src/audio/sound/audiofile.cpp b/sflphone-common/src/audio/sound/audiofile.cpp index 101cc56e3a..2c5f48eb2c 100644 --- a/sflphone-common/src/audio/sound/audiofile.cpp +++ b/sflphone-common/src/audio/sound/audiofile.cpp @@ -39,6 +39,7 @@ #include "audiofile.h" #include "audio/codecs/audiocodecfactory.h" +#include "audio/codecs/audiocodec.h" #include "audio/samplerateconverter.h" #include "manager.h" @@ -55,7 +56,7 @@ RawFile::~RawFile() // load file in mono format bool -RawFile::loadFile (const std::string& filename, AudioCodec* codec , unsigned int sampleRate=8000) +RawFile::loadFile (const std::string& filename, sfl::AudioCodec* codec , unsigned int sampleRate=8000) { _codec = codec; @@ -453,7 +454,7 @@ bool WaveFile::openExistingWaveFile (const std::string& fileName, int audioSampl } -bool WaveFile::loadFile (const std::string& filename, AudioCodec * /*codec*/, unsigned int sampleRate) +bool WaveFile::loadFile (const std::string& filename, sfl::AudioCodec * /*codec*/, unsigned int sampleRate) { openFile (filename, sampleRate); diff --git a/sflphone-common/src/audio/sound/audiofile.h b/sflphone-common/src/audio/sound/audiofile.h index 857de3aaf5..f0d0ff701e 100644 --- a/sflphone-common/src/audio/sound/audiofile.h +++ b/sflphone-common/src/audio/sound/audiofile.h @@ -37,9 +37,10 @@ #include <fstream> #include "audio/audioloop.h" -#include "audio/codecs/audiocodec.h" -#include "audio/codecs/audiocodecfactory.h" +namespace sfl { +class AudioCodec; +} /** * @brief Abstract interface for file readers @@ -55,7 +56,7 @@ class AudioFile : public AudioLoop * @param sampleRate The sample rate to read it * @return bool True on success */ - virtual bool loadFile (const std::string& filename, AudioCodec *codec , unsigned int sampleRate) = 0; + virtual bool loadFile (const std::string& filename, sfl::AudioCodec *codec , unsigned int sampleRate) = 0; /** * Start the sound file @@ -114,7 +115,7 @@ class RawFile : public AudioFile * @param sampleRate The sample rate to read it * @return bool True on success */ - virtual bool loadFile (const std::string& filename, AudioCodec *codec , unsigned int sampleRate); + virtual bool loadFile (const std::string& filename, sfl::AudioCodec *codec , unsigned int sampleRate); private: // Copy Constructor @@ -127,7 +128,7 @@ class RawFile : public AudioFile std::string _filename; /** Your preferred codec */ - AudioCodec* _codec; + sfl::AudioCodec* _codec; }; @@ -155,7 +156,7 @@ class WaveFile : public AudioFile * @param sampleRate The sample rate to read it * @return bool True on success */ - virtual bool loadFile (const std::string& filename, AudioCodec *codec , unsigned int sampleRate); + virtual bool loadFile (const std::string& filename, sfl::AudioCodec *codec , unsigned int sampleRate); private: diff --git a/sflphone-common/src/iax/iaxvoiplink.cpp b/sflphone-common/src/iax/iaxvoiplink.cpp index 47a73c936d..9d14d0eec6 100644 --- a/sflphone-common/src/iax/iaxvoiplink.cpp +++ b/sflphone-common/src/iax/iaxvoiplink.cpp @@ -302,7 +302,7 @@ IAXVoIPLink::sendAudioFromMic (void) { int maxBytesToGet, availBytesFromMic, bytesAvail, compSize; - AudioCodec *audioCodec = NULL; + sfl::AudioCodec *audioCodec = NULL; IAXCall *currentCall; // We have to update the audio layer type in case we switched @@ -330,7 +330,7 @@ IAXVoIPLink::sendAudioFromMic (void) if (callIsActive) { AudioCodecType codecType = currentCall->getAudioCodec(); - audioCodec = static_cast<AudioCodec *>(currentCall->getAudioCodecFactory().getCodec (codecType)); + audioCodec = static_cast<sfl::AudioCodec *>(currentCall->getAudioCodecFactory().getCodec (codecType)); // Send sound here @@ -708,7 +708,7 @@ std::string IAXVoIPLink::getCurrentCodecName(const CallID& /*id*/) { IAXCall *call = NULL; - AudioCodec *audioCodec = NULL; + sfl::AudioCodec *audioCodec = NULL; std::string name = ""; call = getIAXCall (Manager::instance().getCurrentCallId()); @@ -719,7 +719,7 @@ IAXVoIPLink::getCurrentCodecName(const CallID& /*id*/) } AudioCodecType audioCodecType = call->getAudioCodec(); - audioCodec= static_cast<AudioCodec *>(call->getAudioCodecFactory().getCodec (audioCodecType)); + audioCodec= static_cast<sfl::AudioCodec *>(call->getAudioCodecFactory().getCodec (audioCodecType)); if(audioCodec == NULL) { _error("IAX: Error: Could not load audio codec"); @@ -975,7 +975,7 @@ IAXVoIPLink::iaxHandleVoiceEvent (iax_event* event, IAXCall* call) unsigned char *data; unsigned int size, max, nbInt16; int expandedSize, nbSample_; - AudioCodec *audioCodec; + sfl::AudioCodec *audioCodec; if (!call) { return; @@ -988,7 +988,7 @@ IAXVoIPLink::iaxHandleVoiceEvent (iax_event* event, IAXCall* call) } AudioCodecType audioCodecType = call->getAudioCodec(); - audioCodec = static_cast<AudioCodec *>(call->getAudioCodecFactory().getCodec (audioCodecType)); + audioCodec = static_cast<sfl::AudioCodec *>(call->getAudioCodecFactory().getCodec (audioCodecType)); if (!audioCodec) return; diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp index 84fc65dc92..23a2fd5ba1 100644 --- a/sflphone-common/src/managerimpl.cpp +++ b/sflphone-common/src/managerimpl.cpp @@ -2304,7 +2304,7 @@ void ManagerImpl::ringback () void ManagerImpl::ringtone (const AccountID& accountID) { std::string ringchoice; - AudioCodec *codecForTone; + sfl::AudioCodec *codecForTone; int layer, samplerate; bool loadFile; @@ -2344,7 +2344,7 @@ void ManagerImpl::ringtone (const AccountID& accountID) layer = _audiodriver->getLayerType(); samplerate = _audiodriver->getSampleRate(); - codecForTone = static_cast<AudioCodec *>(_audioCodecFactory.getFirstCodecAvailable()); + codecForTone = static_cast<sfl::AudioCodec *>(_audioCodecFactory.getFirstCodecAvailable()); audioLayerMutexUnlock(); diff --git a/sflphone-common/src/sip/sdp.cpp b/sflphone-common/src/sip/sdp.cpp index affb01d965..7e66c344e7 100644 --- a/sflphone-common/src/sip/sdp.cpp +++ b/sflphone-common/src/sip/sdp.cpp @@ -151,7 +151,7 @@ bool Sdp::hasSessionMedia(void) return listNotEmpty; } -AudioCodec* Sdp::getSessionMedia (void) throw(SdpException) +sfl::AudioCodec* Sdp::getSessionMedia (void) throw(SdpException) { int nbMedia; @@ -178,7 +178,7 @@ AudioCodec* Sdp::getSessionMedia (void) throw(SdpException) codec = mediaList[0]->get_media_codec_list() [0]; - return static_cast<AudioCodec *>(codec); + return static_cast<sfl::AudioCodec *>(codec); } void Sdp::setMediaDescriptorLine (sdpMedia *media, pjmedia_sdp_media** p_med) diff --git a/sflphone-common/src/sip/sdp.h b/sflphone-common/src/sip/sdp.h index 4afeda51ef..2f2bdc7e4c 100644 --- a/sflphone-common/src/sip/sdp.h +++ b/sflphone-common/src/sip/sdp.h @@ -42,11 +42,14 @@ #include <pj/assert.h> #include <vector> -#include "audio/codecs/audiocodecfactory.h" #include "sdpmedia.h" #include <exception> +namespace sfl { + class AudioCodec; +} + class SdpException : public std::exception { public: @@ -157,7 +160,7 @@ class Sdp /** * Return the codec of the first media after negociation */ - AudioCodec* getSessionMedia (void) throw(SdpException); + sfl::AudioCodec* getSessionMedia (void) throw(SdpException); /* * On building an invite outside a dialog, build the local offer and create the diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp index 98a8befca3..69ca116a37 100644 --- a/sflphone-common/src/sip/sipvoiplink.cpp +++ b/sflphone-common/src/sip/sipvoiplink.cpp @@ -715,7 +715,7 @@ Call *SIPVoIPLink::newOutgoingCall (const CallID& id, const std::string& toUrl) call->getAudioRtp()->initAudioRtpSession (call); call->getAudioRtp()->initLocalCryptoInfo (call); _info ("UserAgent: Start audio rtp session"); - call->getAudioRtp()->start (static_cast<AudioCodec *>(audiocodec)); + call->getAudioRtp()->start (static_cast<sfl::AudioCodec *>(audiocodec)); } catch (...) { throw VoipLinkException ("Could not start rtp session for early media"); } @@ -1018,7 +1018,7 @@ SIPVoIPLink::offhold (const CallID& id) throw (VoipLinkException) call->getAudioRtp()->initAudioRtpConfig (call); call->getAudioRtp()->initAudioRtpSession (call); - call->getAudioRtp()->start (static_cast<AudioCodec *>(audiocodec)); + call->getAudioRtp()->start (static_cast<sfl::AudioCodec *>(audiocodec)); } catch (SdpException &e) { @@ -1793,7 +1793,7 @@ bool SIPVoIPLink::SIPNewIpToIpCall (const CallID& id, const std::string& to) call->getAudioRtp()->initAudioRtpConfig (call); call->getAudioRtp()->initAudioRtpSession (call); call->getAudioRtp()->initLocalCryptoInfo (call); - call->getAudioRtp()->start (static_cast<AudioCodec *>(audiocodec)); + call->getAudioRtp()->start (static_cast<sfl::AudioCodec *>(audiocodec)); } catch (...) { _debug ("UserAgent: Unable to create RTP Session in new IP2IP call (%s:%d)", __FILE__, __LINE__); } @@ -3509,7 +3509,7 @@ void sdp_media_update_cb (pjsip_inv_session *inv, pj_status_t status) if (!sdpSession) return; - AudioCodec *sessionMedia = sdpSession->getSessionMedia(); + sfl::AudioCodec *sessionMedia = sdpSession->getSessionMedia(); if (!sessionMedia) return; @@ -3530,7 +3530,7 @@ void sdp_media_update_cb (pjsip_inv_session *inv, pj_status_t status) if (audiocodec == NULL) _error ("UserAgent: No audiocodec found"); - call->getAudioRtp()->updateSessionMedia (static_cast<AudioCodec *>(audiocodec)); + call->getAudioRtp()->updateSessionMedia (static_cast<sfl::AudioCodec *>(audiocodec)); } } // FIXME: should this really be std::exception? If so, it should be caught last catch (const SdpException &e) { @@ -4052,7 +4052,7 @@ transaction_request_cb (pjsip_rx_data *rdata) // Init audio rtp session try { _debug ("UserAgent: Create RTP session for this call"); - call->getAudioRtp()->start (static_cast<AudioCodec *>(audiocodec)); + call->getAudioRtp()->start (static_cast<sfl::AudioCodec *>(audiocodec)); } catch (...) { _warn ("UserAgent: Error: Failed to create rtp thread from answer"); } -- GitLab