ptmediacapabilities.cpp
来自「基于sipfoundy 公司开发的sipx协议API」· C++ 代码 · 共 152 行
CPP
152 行
//// Copyright (C) 2004, 2005 Pingtel Corp.// //// $$//////////////////////////////////////////////////////////////////////////////// SYSTEM INCLUDES#include <assert.h>// APPLICATION INCLUDES#include "utl/UtlDefs.h"#include "ptapi/PtMediaCapabilities.h"#include "ptapi/PtAudioCodec.h"// EXTERNAL FUNCTIONS// EXTERNAL VARIABLES// CONSTANTS// STATIC VARIABLE INITIALIZATIONS/* //////////////////////////// PUBLIC //////////////////////////////////// *//* ============================ CREATORS ================================== */// ConstructorPtMediaCapabilities::PtMediaCapabilities(PtAudioCodec aAudioCodecs[], int numAudioCodecs){ mNumAudioCodecs = numAudioCodecs; mSizeAudioCodecs = (numAudioCodecs / CODEC_DELTA + 1 )*CODEC_DELTA; mAudioCodecs = new PtAudioCodec[mSizeAudioCodecs]; if (aAudioCodecs != NULL) for (int i=0; i<numAudioCodecs; i++) { mAudioCodecs[i] = aAudioCodecs[i]; }}// Copy constructorPtMediaCapabilities::PtMediaCapabilities(const PtMediaCapabilities& rPtMediaCapabilities){ mSizeAudioCodecs = rPtMediaCapabilities.mSizeAudioCodecs; mNumAudioCodecs = rPtMediaCapabilities.mNumAudioCodecs; mAudioCodecs = new PtAudioCodec[mSizeAudioCodecs]; for (int i=0; i<mNumAudioCodecs; i++) { mAudioCodecs[i] = rPtMediaCapabilities.mAudioCodecs[i]; }}// DestructorPtMediaCapabilities::~PtMediaCapabilities(){ if (mAudioCodecs) { delete[] mAudioCodecs; mAudioCodecs = 0; }}/* ============================ MANIPULATORS ============================== */// Assignment operatorPtMediaCapabilities&PtMediaCapabilities::operator=(const PtMediaCapabilities& rhs){ if (this == &rhs) // handle the assignment to self case return *this; delete[] mAudioCodecs; mSizeAudioCodecs = rhs.mSizeAudioCodecs; mNumAudioCodecs = rhs.mNumAudioCodecs; mAudioCodecs = new PtAudioCodec[mSizeAudioCodecs]; for (int i=0; i<mNumAudioCodecs; i++) { mAudioCodecs[i] = rhs.mAudioCodecs[i]; } return *this;}/* ============================ ACCESSORS ================================= */// Get the number of codecs contained in this objectint PtMediaCapabilities::getNumAudioCodecs() const{ return mNumAudioCodecs;}// get the codec contained at the given indexPtBoolean PtMediaCapabilities::getAudioCodec(int index, PtAudioCodec& codec){ if (index >= mNumAudioCodecs || index <= 0) return FALSE; else { codec = mAudioCodecs[index]; return TRUE; }}// add audio codec to the objectvoid PtMediaCapabilities::addAudioCodec(PtAudioCodec& codec){ if (mNumAudioCodecs + 1 <= mSizeAudioCodecs) mAudioCodecs[mNumAudioCodecs] = codec; else { int i; mSizeAudioCodecs = mSizeAudioCodecs + CODEC_DELTA; PtAudioCodec* pTempCodecs; pTempCodecs = new PtAudioCodec[mSizeAudioCodecs]; for (i=0; i<mNumAudioCodecs; i++) { pTempCodecs[i] = mAudioCodecs[i]; } pTempCodecs[mNumAudioCodecs+1] = codec; delete[] mAudioCodecs; mAudioCodecs = new PtAudioCodec[mSizeAudioCodecs]; for (i=0; i<=mNumAudioCodecs; i++) { mAudioCodecs[i] = pTempCodecs[i]; } delete[] pTempCodecs; } mNumAudioCodecs++;}/* ============================ INQUIRY =================================== *//* //////////////////////////// PROTECTED ///////////////////////////////// *//* //////////////////////////// PRIVATE /////////////////////////////////// *//* ============================ FUNCTIONS ================================= */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?