summaryrefslogtreecommitdiff
path: root/service/src/com/android/telephony/imsmedia
diff options
context:
space:
mode:
authorbodamnam <bodamnam@google.com>2022-12-29 06:39:26 +0000
committerbodamnam <bodamnam@google.com>2023-01-09 11:28:59 +0000
commitccded3626d5b8245e562fd8b54d4f3b5c4b5558d (patch)
tree13c57ade76e9204a572a88c9cd75c5345117aec8 /service/src/com/android/telephony/imsmedia
parent922329a1741dd053aec0920a0a7d7fa922d2b223 (diff)
downloadImsMedia-ccded3626d5b8245e562fd8b54d4f3b5c4b5558d.tar.gz
Fix the clang warning
Bug: 261801535 Bug: 261801393 Test: atest ImsMediaNativeTests Change-Id: I17d10032a8242a151083a66e7c73902ccb96be9e
Diffstat (limited to 'service/src/com/android/telephony/imsmedia')
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/BaseStreamGraph.cpp17
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/StreamScheduler.cpp9
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioJitterBuffer.cpp8
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioManager.cpp10
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioSession.cpp2
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/MediaQualityAnalyzer.cpp16
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioPlayer.cpp6
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioSource.cpp45
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/nodes/DtmfEncoderNode.cpp20
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/BaseStreamGraph.h12
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/ImsMediaDefine.h44
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadDecoderNode.h2
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadEncoderNode.h4
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfEncoderNode.h6
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfSenderNode.h2
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioPlayerNode.h4
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioSourceNode.h6
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/BaseNode.h9
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpDecoderNode.h14
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpEncoderNode.h16
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/SocketWriterNode.h22
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRendererNode.h2
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRtpPayloadEncoderNode.h4
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextSourceNode.h2
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/utils/ImsMediaCondition.h39
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/android/ImsMediaCamera.h30
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoRendererNode.h2
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoSourceNode.h2
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/BaseNode.cpp23
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/SocketWriterNode.cpp6
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/text/nodes/TextRendererNode.cpp6
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaSocket.cpp4
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaTimer.cpp7
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoJitterBuffer.cpp68
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaCamera.cpp34
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoRendererNode.cpp2
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoSourceNode.cpp2
37 files changed, 240 insertions, 267 deletions
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/BaseStreamGraph.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/BaseStreamGraph.cpp
index 9977da7e..c1b218b8 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/BaseStreamGraph.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/BaseStreamGraph.cpp
@@ -22,7 +22,6 @@ BaseStreamGraph::BaseStreamGraph(BaseSessionCallback* callback, int localFd) :
mLocalFd(localFd),
mGraphState(kStreamStateIdle)
{
- IMLOGD0("[BaseStreamGraph]");
std::unique_ptr<StreamScheduler> scheduler(new StreamScheduler());
mScheduler = std::move(scheduler);
@@ -35,9 +34,7 @@ BaseStreamGraph::BaseStreamGraph(BaseSessionCallback* callback, int localFd) :
BaseStreamGraph::~BaseStreamGraph()
{
deleteNodes();
-
setState(kStreamStateIdle);
- IMLOGD0("[~BaseStreamGraph]");
}
void BaseStreamGraph::setLocalFd(int localFd)
@@ -133,6 +130,7 @@ void BaseStreamGraph::RemoveNode(BaseNode* pNode)
mScheduler->DeRegisterNode(pNode);
}
+ pNode->DisconnectNodes();
delete pNode;
}
@@ -140,7 +138,7 @@ ImsMediaResult BaseStreamGraph::startNodes()
{
ImsMediaResult ret = ImsMediaResult::RESULT_NOT_READY;
- while (mListNodeToStart.size() > 0)
+ while (!mListNodeToStart.empty())
{
BaseNode* pNode = mListNodeToStart.front();
@@ -170,7 +168,7 @@ ImsMediaResult BaseStreamGraph::stopNodes()
{
mScheduler->Stop();
- while (mListNodeStarted.size() > 0)
+ while (!mListNodeStarted.empty())
{
BaseNode* pNode = mListNodeStarted.front();
@@ -189,17 +187,12 @@ ImsMediaResult BaseStreamGraph::stopNodes()
void BaseStreamGraph::deleteNodes()
{
- if (mListNodeStarted.size() > 0)
- {
- stop();
- }
-
- if (mListNodeStarted.size() > 0)
+ if (!mListNodeStarted.empty())
{
IMLOGE1("[deleteNodes] error node remained[%d]", mListNodeStarted.size());
}
- while (mListNodeToStart.size() > 0)
+ while (!mListNodeToStart.empty())
{
BaseNode* pNode = mListNodeToStart.front();
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/StreamScheduler.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/StreamScheduler.cpp
index 4fb0ffcb..fb070f1e 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/StreamScheduler.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/StreamScheduler.cpp
@@ -210,14 +210,7 @@ void* StreamScheduler::run()
break;
}
- if (mlistSourceNode.size() > 0)
- {
- mConditionMain.wait_timeout(RUN_WAIT_TIMEOUT / 2);
- }
- else
- {
- mConditionMain.wait_timeout(RUN_WAIT_TIMEOUT / 2);
- }
+ mConditionMain.wait_timeout(RUN_WAIT_TIMEOUT / 2);
}
mConditionExit.signal();
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioJitterBuffer.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioJitterBuffer.cpp
index a7c962da..afe8c064 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioJitterBuffer.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioJitterBuffer.cpp
@@ -19,10 +19,10 @@
#include <ImsMediaTimer.h>
#include <ImsMediaTrace.h>
-#define AUDIO_JITTER_BUFFER_MIN_SIZE 3
-#define AUDIO_JITTER_BUFFER_MAX_SIZE 9
-#define AUDIO_JITTER_BUFFER_START_SIZE 4
-#define GET_SEQ_GAP(a, b) ((uint16_t)a - (uint16_t)b)
+#define AUDIO_JITTER_BUFFER_MIN_SIZE (3)
+#define AUDIO_JITTER_BUFFER_MAX_SIZE (9)
+#define AUDIO_JITTER_BUFFER_START_SIZE (4)
+#define GET_SEQ_GAP(a, b) ((uint16_t)(a) - (uint16_t)(b))
AudioJitterBuffer::AudioJitterBuffer()
{
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioManager.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioManager.cpp
index 96f3ca5a..d5bee8a8 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioManager.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioManager.cpp
@@ -456,18 +456,10 @@ void AudioManager::ResponseHandler::processEvent(
// TODO : add implementation
break;
case kAudioMediaInactivityInd:
- parcel.writeInt32(event);
- parcel.writeInt32(static_cast<int>(paramA)); // type
- AudioManager::getInstance()->sendResponse(sessionId, parcel);
- break;
case kAudioPacketLossInd:
- parcel.writeInt32(event);
- parcel.writeInt32(static_cast<int>(paramA)); // loss rate
- AudioManager::getInstance()->sendResponse(sessionId, parcel);
- break;
case kAudioJitterInd:
parcel.writeInt32(event);
- parcel.writeInt32(static_cast<int>(paramA)); // jitter
+ parcel.writeInt32(static_cast<int>(paramA));
AudioManager::getInstance()->sendResponse(sessionId, parcel);
break;
case kAudioTriggerAnbrQueryInd:
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioSession.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioSession.cpp
index ddce5b95..e9b4a07b 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioSession.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioSession.cpp
@@ -628,8 +628,6 @@ void AudioSession::onEvent(int32_t type, uint64_t param1, uint64_t param2)
"AUDIO_RESPONSE_EVENT", kAudioJitterInd, mSessionId, param1);
break;
case kAudioTriggerAnbrQueryInd:
- /** TODO: add implementation */
- break;
case kAudioDtmfReceivedInd:
/** TODO: add implementation */
break;
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/MediaQualityAnalyzer.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/MediaQualityAnalyzer.cpp
index 3eee302a..7fa02b5a 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/MediaQualityAnalyzer.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/MediaQualityAnalyzer.cpp
@@ -24,14 +24,14 @@
#include <AudioConfig.h>
#include <stdlib.h>
-#define DEFAULT_PARAM -1
-#define DEFAULT_INACTIVITY_TIME 5
-#define CALL_QUALITY_MONITORING_TIME 5
-#define MAX_NUM_PACKET_STORED 500
-#define DELETE_ALL 65536
-#define TIMER_INTERVAL 1000 // 1 sec
-#define STOP_TIMEOUT 1000 // 1 sec
-#define MESSAGE_PROCESSING_INTERVAL 20000 // 20 msec
+#define DEFAULT_PARAM (-1)
+#define DEFAULT_INACTIVITY_TIME (5)
+#define CALL_QUALITY_MONITORING_TIME (5)
+#define MAX_NUM_PACKET_STORED (500)
+#define DELETE_ALL (65536)
+#define TIMER_INTERVAL (1000) // 1 sec
+#define STOP_TIMEOUT (1000) // 1 sec
+#define MESSAGE_PROCESSING_INTERVAL (20000) // 20 msec
MediaQualityAnalyzer::MediaQualityAnalyzer()
{
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioPlayer.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioPlayer.cpp
index 8077dd79..a95b17f2 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioPlayer.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioPlayer.cpp
@@ -30,9 +30,9 @@
#include <ImsMediaAudioPlayer.h>
#include <utils/Errors.h>
-#define AAUDIO_STATE_TIMEOUT_NANO 100 * 1000000L
-#define DEFAULT_SAMPLING_RATE 8000
-#define CODEC_TIMEOUT_NANO 100000
+#define AAUDIO_STATE_TIMEOUT_NANO (100 * 1000000L)
+#define DEFAULT_SAMPLING_RATE (8000)
+#define CODEC_TIMEOUT_NANO (100000)
using namespace android;
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioSource.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioSource.cpp
index 8fa30f54..066e769e 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioSource.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/android/ImsMediaAudioSource.cpp
@@ -27,10 +27,10 @@
#include <utils/Errors.h>
#include <thread>
-#define AAUDIO_STATE_TIMEOUT_NANO 100 * 1000000L
-#define NUM_FRAMES_PER_SEC 50
-#define DEFAULT_SAMPLING_RATE 8000
-#define CODEC_TIMEOUT_NANO 100000
+#define AAUDIO_STATE_TIMEOUT_NANO (100 * 1000000L)
+#define NUM_FRAMES_PER_SEC (50)
+#define DEFAULT_SAMPLING_RATE (8000)
+#define CODEC_TIMEOUT_NANO (100000)
using namespace android;
@@ -101,28 +101,26 @@ void ImsMediaAudioSource::SetEvsBandwidth(kEvsBandwidth evsBandwidth)
bool ImsMediaAudioSource::Start()
{
char kMimeType[128] = {'\0'};
- int amrBitrate;
+ int amrBitrate = 0;
// TODO: Integration with libEVS is required.
ImsMediaAudioUtil::ConvertEvsBandwidthToStr(mEvsBandwidth, mEvsbandwidthStr, MAX_EVS_BW_STRLEN);
- if (mCodecType == kAudioCodecAmr)
+ switch (mCodecType)
{
- sprintf(kMimeType, "audio/3gpp");
- amrBitrate = ImsMediaAudioUtil::ConvertAmrModeToBitrate(mMode);
- }
- else if (mCodecType == kAudioCodecAmrWb)
- {
- sprintf(kMimeType, "audio/amr-wb");
- amrBitrate = ImsMediaAudioUtil::ConvertAmrWbModeToBitrate(mMode);
- }
- else if (mCodecType == kAudioCodecEvs)
- {
- // TODO: Integration with libEVS is required.
- sprintf(kMimeType, "audio/evs");
- }
- else
- {
- return false;
+ case kAudioCodecAmr:
+ sprintf(kMimeType, "audio/3gpp");
+ amrBitrate = ImsMediaAudioUtil::ConvertAmrModeToBitrate(mMode);
+ break;
+ case kAudioCodecAmrWb:
+ sprintf(kMimeType, "audio/amr-wb");
+ amrBitrate = ImsMediaAudioUtil::ConvertAmrWbModeToBitrate(mMode);
+ break;
+ case kAudioCodecEvs:
+ // TODO: Integration with libEVS is required.
+ sprintf(kMimeType, "audio/evs");
+ break;
+ default:
+ return false;
}
openAudioStream();
@@ -415,9 +413,6 @@ void ImsMediaAudioSource::openAudioStream()
AAudioStreamBuilder_setErrorCallback(builder, audioErrorCallback, this);
AAudioStreamBuilder_setPrivacySensitive(builder, true);
- int numFramesPerSec = 0;
- mPtime == 0 ? numFramesPerSec = NUM_FRAMES_PER_SEC : numFramesPerSec = 1000 / mPtime;
-
// open stream
result = AAudioStreamBuilder_openStream(builder, &mAudioStream);
AAudioStreamBuilder_delete(builder);
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/nodes/DtmfEncoderNode.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/nodes/DtmfEncoderNode.cpp
index bf2141d5..95ef224e 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/nodes/DtmfEncoderNode.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/nodes/DtmfEncoderNode.cpp
@@ -162,7 +162,7 @@ void* DtmfEncoderNode::run()
break;
}
- uint16_t nPeriod = 0;
+ uint32_t nPeriod = 0;
uint8_t pbPayload[BUNDLE_DTMF_DATA_MAX];
uint32_t nPayloadSize;
uint32_t nTimestamp = ImsMediaTimer::GetTimeInMilliSeconds();
@@ -245,7 +245,7 @@ uint32_t DtmfEncoderNode::calculateDtmfDuration(uint32_t duration)
bool DtmfEncoderNode::SendDTMFEvent(uint8_t digit, uint32_t duration)
{
- uint16_t nPeriod = 0;
+ uint32_t nPeriod = 0;
uint8_t pbPayload[BUNDLE_DTMF_DATA_MAX];
uint32_t nPayloadSize;
uint32_t nTimestamp = 0;
@@ -253,20 +253,6 @@ bool DtmfEncoderNode::SendDTMFEvent(uint8_t digit, uint32_t duration)
uint32_t nDTMFDuration = calculateDtmfDuration(duration);
uint32_t nDTMFRetransmitDuration = mRetransmitDuration * (mAudioFrameDuration / mPtime);
-#if 0
- // support bundling...
- int32_t nFrameBundlingSize = 1;
- if (nFrameBundlingSize > 1) {
- uint32_t nBundlingDuration;
- uint8_t nRemainedTime;
- nBundlingDuration = nFrameBundlingSize * AUDIO_FRAME_DURATION_INTERVAL;
- nRemainedTime = nDTMFRetransmitDuration % nBundlingDuration;
- if (nRemainedTime > 0) {
- nDTMFRetransmitDuration += (nBundlingDuration - nRemainedTime);
- }
- }
-#endif
-
// make and send DTMF packet
for (nPeriod = mAudioFrameDuration; nPeriod < nDTMFDuration; nPeriod += mAudioFrameDuration)
{
@@ -321,7 +307,7 @@ bool DtmfEncoderNode::convertSignal(uint8_t digit, uint8_t& signal)
}
uint32_t DtmfEncoderNode::MakeDTMFPayload(
- uint8_t* pbPayload, uint8_t digit, bool bEnd, uint8_t nVolume, uint16_t nPeriod)
+ uint8_t* pbPayload, uint8_t digit, bool bEnd, uint8_t nVolume, uint32_t nPeriod)
{
// Event: 8 bits
pbPayload[0] = digit;
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/BaseStreamGraph.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/BaseStreamGraph.h
index 956f8631..c7b18e00 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/BaseStreamGraph.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/BaseStreamGraph.h
@@ -33,12 +33,12 @@ class BaseStreamGraph
protected:
virtual ImsMediaResult create(RtpConfig* config) = 0;
virtual ImsMediaResult update(RtpConfig* config) = 0;
- virtual void AddNode(BaseNode* pNode, bool bReverse = true);
- virtual void RemoveNode(BaseNode* pNode);
- virtual ImsMediaResult startNodes();
- virtual ImsMediaResult stopNodes();
- virtual void deleteNodes();
- virtual BaseNode* findNode(kBaseNodeId id);
+ void AddNode(BaseNode* pNode, bool bReverse = true);
+ void RemoveNode(BaseNode* pNode);
+ ImsMediaResult startNodes();
+ ImsMediaResult stopNodes();
+ void deleteNodes();
+ BaseNode* findNode(kBaseNodeId id);
public:
/**
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/ImsMediaDefine.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/ImsMediaDefine.h
index 97c9ed8b..5ed3fdb0 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/ImsMediaDefine.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/ImsMediaDefine.h
@@ -23,13 +23,13 @@
#define DEFAULT_MTU 1500
#define SEQ_ROUND_QUARD 655 // 1% of FFFF
-#define USHORT_SEQ_ROUND_COMPARE(a, b) \
- (((a >= b) && ((b >= SEQ_ROUND_QUARD) || ((a <= 0xffff - SEQ_ROUND_QUARD)))) || \
- ((a <= SEQ_ROUND_QUARD) && (b >= 0xffff - SEQ_ROUND_QUARD)))
+#define USHORT_SEQ_ROUND_COMPARE(a, b) \
+ ((((a) >= (b)) && (((b) >= SEQ_ROUND_QUARD) || (((a) <= 0xffff - SEQ_ROUND_QUARD)))) || \
+ (((a) <= SEQ_ROUND_QUARD) && ((b) >= 0xffff - SEQ_ROUND_QUARD)))
#define TS_ROUND_QUARD 3000
#define USHORT_TS_ROUND_COMPARE(a, b) \
- (((a >= b) && ((b >= TS_ROUND_QUARD) || ((a <= 0xffff - TS_ROUND_QUARD)))) || \
- ((a <= TS_ROUND_QUARD) && (b >= 0xffff - TS_ROUND_QUARD)))
+ (((a) >= (b) && (b) >= TS_ROUND_QUARD) || ((a) <= 0xffff - TS_ROUND_QUARD) || \
+ ((a) <= TS_ROUND_QUARD && (b) >= 0xffff - TS_ROUND_QUARD))
using namespace android::telephony::imsmedia;
@@ -381,13 +381,13 @@ enum ImsMediaTextMsgResponse
kTextSessionClosed,
};
-#define UNDEFINED_SOCKET_FD -1
-#define T140_BUFFERING_TIME 300
-#define RTT_MAX_CHAR_PER_SEC 30 // ATIS_GTT : 30 characters per second
-#define RTT_MAX_UNICODE_UTF8 4
-#define MAX_RTT_LEN RTT_MAX_CHAR_PER_SEC* RTT_MAX_UNICODE_UTF8
-#define T140_MAX_CHUNK 1
-#define PAYLOADENCODER_TEXT_MAX_REDUNDANT_INTERVAL 16383
+#define UNDEFINED_SOCKET_FD (-1)
+#define T140_BUFFERING_TIME (300)
+#define RTT_MAX_CHAR_PER_SEC (30) // ATIS_GTT : 30 characters per second
+#define RTT_MAX_UNICODE_UTF8 (4)
+#define MAX_RTT_LEN (RTT_MAX_CHAR_PER_SEC * RTT_MAX_UNICODE_UTF8)
+#define T140_MAX_CHUNK (1)
+#define PAYLOADENCODER_TEXT_MAX_REDUNDANT_INTERVAL (16383)
struct EventParamOpenSession
{
@@ -583,9 +583,13 @@ struct tRtpHeaderExtensionInfo
}
tRtpHeaderExtensionInfo& operator=(const tRtpHeaderExtensionInfo& extension)
{
- nDefinedByProfile = extension.nDefinedByProfile;
- nLength = extension.nLength;
- nExtensionData = extension.nExtensionData;
+ if (this != &extension)
+ {
+ nDefinedByProfile = extension.nDefinedByProfile;
+ nLength = extension.nLength;
+ nExtensionData = extension.nExtensionData;
+ }
+
return *this;
}
};
@@ -614,9 +618,13 @@ public:
}
RtpAddress& operator=(const RtpAddress& address)
{
- memset(this->ipAddress, 0, MAX_IP_LEN);
- std::strncpy(this->ipAddress, address.ipAddress, MAX_IP_LEN);
- this->port = address.port;
+ if (this != &address)
+ {
+ memset(this->ipAddress, 0, MAX_IP_LEN);
+ std::strncpy(this->ipAddress, address.ipAddress, MAX_IP_LEN);
+ this->port = address.port;
+ }
+
return *this;
}
bool operator==(const RtpAddress& address)
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadDecoderNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadDecoderNode.h
index a1c58bbe..1cbd94a7 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadDecoderNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadDecoderNode.h
@@ -65,7 +65,7 @@ private:
kRtpPyaloadHeaderMode mEvsPayloadHeaderMode;
kEvsBitrate mEvsMode;
int32_t mCoreEvsMode;
- int32_t mEvsOffset;
+ int8_t mEvsOffset;
int32_t EvsChAOffset;
};
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadEncoderNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadEncoderNode.h
index c37c1d40..de991c17 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadEncoderNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/AudioRtpPayloadEncoderNode.h
@@ -44,7 +44,7 @@ private:
int32_t mCodecType;
bool mOctetAligned;
- uint32_t mPtime;
+ int8_t mPtime;
uint8_t mPayload[MAX_AUDIO_PAYLOAD_SIZE];
bool mFirstFrame;
uint32_t mTimestamp;
@@ -56,7 +56,7 @@ private:
ImsMediaBitWriter mBWPayload;
kEvsBandwidth mEvsBandwidth;
kEvsCodecMode mEvsCodecMode;
- int32_t mEvsOffset;
+ int8_t mEvsOffset;
int8_t mSendCMR;
kEvsBitrate mEvsMode;
int32_t mCoreEvsMode;
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfEncoderNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfEncoderNode.h
index 913f190d..ad1dacc4 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfEncoderNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfEncoderNode.h
@@ -45,18 +45,18 @@ private:
uint32_t calculateDtmfDuration(uint32_t duration);
bool convertSignal(uint8_t digit, uint8_t& signal);
uint32_t MakeDTMFPayload(
- uint8_t* pbPayload, uint8_t nEvent, bool bEnd, uint8_t nVolume, uint16_t nPeriod);
+ uint8_t* pbPayload, uint8_t nEvent, bool bEnd, uint8_t nVolume, uint32_t nPeriod);
ImsMediaCondition mConditionDtmf;
ImsMediaCondition mConditionExit;
std::mutex mMutex;
std::list<uint8_t> mListDtmfDigit;
bool mStopDtmf;
- uint32_t mSamplingRate; // audio sampling rate
+ int8_t mSamplingRate; // audio sampling rate
uint32_t mDuration; // msec unit, duration of one DTMF tone
uint32_t mRetransmitDuration; // msec unit, duration of retransmitting the last packet
uint32_t mVolume; // Volume of DTMF, 0~63, default value is 10.
uint32_t mAudioFrameDuration;
- uint32_t mPtime;
+ int8_t mPtime;
};
#endif // DTMFENCODERNODE_H_INCLUDED
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfSenderNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfSenderNode.h
index 5551dd98..b2a2e522 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfSenderNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/DtmfSenderNode.h
@@ -37,7 +37,7 @@ public:
private:
uint32_t mNextTime;
uint32_t mPrevTime;
- uint32_t mPtime; // msec unit, interval between dtmf packets
+ int8_t mPtime; // msec unit, interval between dtmf packets
};
#endif // DTMFSENDERNODE_H_INCLUDED
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioPlayerNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioPlayerNode.h
index 0c3468ad..2266c981 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioPlayerNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioPlayerNode.h
@@ -49,9 +49,9 @@ private:
uint32_t mMode;
ImsMediaCondition mCondition;
bool mFirstFrame;
- int32_t mEvsChannelAwOffset;
+ int8_t mEvsChannelAwOffset;
kEvsBandwidth mEvsBandwidth;
- int32_t mSamplingRate;
+ int8_t mSamplingRate;
int32_t mEvsPayloadHeaderMode;
};
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioSourceNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioSourceNode.h
index 4b05167e..28a224e5 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioSourceNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/audio/nodes/IAudioSourceNode.h
@@ -62,10 +62,10 @@ public:
int32_t mCodecType;
uint32_t mCodecMode;
uint32_t mRunningCodecMode;
- uint32_t mPtime;
+ int8_t mPtime;
kEvsBandwidth mEvsBandwidth;
- int32_t mSamplingRate;
- int32_t mEvsChAwOffset;
+ int8_t mSamplingRate;
+ int8_t mEvsChAwOffset;
};
#endif
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/BaseNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/BaseNode.h
index 132b87a3..156d16f1 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/BaseNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/BaseNode.h
@@ -22,8 +22,8 @@
#include <BaseSessionCallback.h>
#include <StreamSchedulerCallback.h>
-#define MAX_AUDIO_PAYLOAD_SIZE 1500
-#define MAX_FRAME_IN_PACKET (MAX_AUDIO_PAYLOAD_SIZE - 1) / 32
+#define MAX_AUDIO_PAYLOAD_SIZE (1500)
+#define MAX_FRAME_IN_PACKET ((MAX_AUDIO_PAYLOAD_SIZE - 1) / 32)
enum kBaseNodeState
{
@@ -95,6 +95,11 @@ public:
void ConnectRearNode(BaseNode* pRearNode);
/**
+ * @brief Disconnect nodes connected to rear and front
+ */
+ void DisconnectNodes();
+
+ /**
* @brief Empty the data queue
*
*/
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpDecoderNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpDecoderNode.h
index 90bb6fb9..2c460868 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpDecoderNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpDecoderNode.h
@@ -71,17 +71,17 @@ private:
IRtpSession* mRtpSession;
RtpAddress mLocalAddress;
RtpAddress mPeerAddress;
- uint32_t mSamplingRate;
- int32_t mRtpPayloadTx;
- int32_t mRtpPayloadRx;
- int32_t mRtpTxDtmfPayload;
- int32_t mRtpRxDtmfPayload;
- int32_t mDtmfSamplingRate;
+ int8_t mSamplingRate;
+ int8_t mRtpPayloadTx;
+ int8_t mRtpPayloadRx;
+ int8_t mRtpTxDtmfPayload;
+ int8_t mRtpRxDtmfPayload;
+ int8_t mDtmfSamplingRate;
int32_t mCvoValue;
uint32_t mReceivingSSRC;
uint32_t mInactivityTime;
uint32_t mNoRtpTime;
- int32_t mRedundantPayload;
+ int8_t mRedundantPayload;
uint32_t mArrivalTime;
ImsMediaSubType mSubtype;
#if (defined(DEBUG_JITTER_GEN_SIMULATION_LOSS) || defined(DEBUG_JITTER_GEN_SIMULATION_DUPLICATE))
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpEncoderNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpEncoderNode.h
index 47f76fb7..15dde732 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpEncoderNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/RtpEncoderNode.h
@@ -73,15 +73,15 @@ private:
bool mMark;
uint32_t mPrevTimestamp;
uint32_t mDTMFTimestamp;
- uint32_t mSamplingRate;
- int32_t mRtpPayloadTx;
- int32_t mRtpPayloadRx;
- int32_t mRtpTxDtmfPayload;
- int32_t mRtpRxDtmfPayload;
- int32_t mDtmfSamplingRate;
+ int8_t mSamplingRate;
+ int8_t mRtpPayloadTx;
+ int8_t mRtpPayloadRx;
+ int8_t mRtpTxDtmfPayload;
+ int8_t mRtpRxDtmfPayload;
+ int8_t mDtmfSamplingRate;
int32_t mCvoValue;
- int32_t mRedundantPayload;
- int32_t mRedundantLevel;
+ int8_t mRedundantPayload;
+ int8_t mRedundantLevel;
tRtpHeaderExtensionInfo mRtpExtension;
};
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/SocketWriterNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/SocketWriterNode.h
index 594fa1ad..a79662ba 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/SocketWriterNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/nodes/SocketWriterNode.h
@@ -36,9 +36,25 @@ public:
uint32_t timestamp, bool mark, uint32_t nSeqNum,
ImsMediaSubType nDataType = ImsMediaSubType::MEDIASUBTYPE_UNDEFINED,
uint32_t arrivalTime = 0);
+
+ /**
+ * @brief Set the local socket file descriptor
+ */
void SetLocalFd(int fd);
- void SetLocalAddress(const RtpAddress address);
- void SetPeerAddress(const RtpAddress address);
+
+ /**
+ * @brief Set the local ip address and port number
+ */
+ void SetLocalAddress(const RtpAddress& address);
+
+ /**
+ * @brief Set the peer ip address and port number
+ */
+ void SetPeerAddress(const RtpAddress& address);
+
+ /**
+ * @brief Set the protocol type defined as kProtocolType
+ */
void SetProtocolType(kProtocolType type) { mProtocolType = type; }
private:
@@ -47,7 +63,7 @@ private:
kProtocolType mProtocolType;
RtpAddress mLocalAddress;
RtpAddress mPeerAddress;
- int32_t mDscp;
+ int8_t mDscp;
bool mSocketOpened;
bool mDisableSocket;
};
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRendererNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRendererNode.h
index face0e4b..aa968ca4 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRendererNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRendererNode.h
@@ -39,7 +39,7 @@ public:
private:
char mBuffer[MAX_RTT_LEN + 1];
int32_t mCodecType;
- int32_t mRedundantRevel;
+ int8_t mRedundantLevel;
bool mBOMReceived;
uint16_t mLastPlayedSeq;
uint32_t mLossWaitTime;
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRtpPayloadEncoderNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRtpPayloadEncoderNode.h
index 6813db0b..83ec6df5 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRtpPayloadEncoderNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextRtpPayloadEncoderNode.h
@@ -42,8 +42,8 @@ private:
void EncodeT140(uint8_t* data, uint32_t size, uint32_t timestamp, bool bMark);
int32_t mCodecType;
- uint8_t mRedundantPayload;
- int32_t mRedundantLevel;
+ int8_t mRedundantPayload;
+ int8_t mRedundantLevel;
bool mKeepRedundantLevel;
uint8_t mPayload[MAX_RTT_LEN];
uint32_t mLastTimestampSent;
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextSourceNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextSourceNode.h
index ede72d61..48f86bb7 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextSourceNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/text/nodes/TextSourceNode.h
@@ -48,7 +48,7 @@ private:
void SendBOM();
int32_t mCodecType;
- int32_t mRedundantLevel;
+ int8_t mRedundantLevel;
int32_t mRedundantCount;
int32_t mTimeLastSent;
int32_t mBitrate;
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/utils/ImsMediaCondition.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/utils/ImsMediaCondition.h
index cec47057..738d51be 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/utils/ImsMediaCondition.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/utils/ImsMediaCondition.h
@@ -20,37 +20,38 @@
#include <stdint.h>
#include <pthread.h>
-/**
- * @class ImsMediaCondition
- * @brief Event class
- */
class ImsMediaCondition
{
-private:
- pthread_mutex_t* mMutex;
- pthread_cond_t* mCondition;
- uint32_t mWaitFlag;
- uint32_t mSignalFlag;
- uint32_t mWaitCount;
- uint32_t mSignalCount;
-
-private:
- ImsMediaCondition(const ImsMediaCondition& objRHS);
- ImsMediaCondition& operator=(const ImsMediaCondition& objRHS);
-
public:
ImsMediaCondition();
~ImsMediaCondition();
+
+ /**
+ * @brief Wait the current thread
+ *
+ */
void wait();
- /*
- *@param nRelativeTime : unit msec
+
+ /**
+ * @brief Wait the current thread until the timer expired
+ *
+ * @param time The relative time in milliseconds unit
+ * @return true Returned when the timer expires
+ * @return false Returned when the thread is stopped by signal
*/
- bool wait_timeout(int64_t nRelativeTime);
+ bool wait_timeout(int64_t time);
void signal();
void reset();
private:
void IncCount(uint32_t* pnCount);
+
+ pthread_mutex_t* mMutex;
+ pthread_cond_t* mCondition;
+ uint32_t mWaitFlag;
+ uint32_t mSignalFlag;
+ uint32_t mWaitCount;
+ uint32_t mSignalCount;
};
#endif // IMS_MEDIA_CONDITION_H
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/android/ImsMediaCamera.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/android/ImsMediaCamera.h
index 9e91eb3c..7da26597 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/android/ImsMediaCamera.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/android/ImsMediaCamera.h
@@ -41,18 +41,30 @@ public:
ACameraDevice* mDevice;
std::string mId;
int32_t mFacing;
- bool mAvailable; // free to use ( no other apps are using
- bool mOwner; // we are the owner of the camera
- explicit CameraId(const char* id) :
+ bool mAvailable;
+ bool mOwner;
+ explicit CameraId(const char* id = NULL) :
mDevice(NULL),
mFacing(ACAMERA_LENS_FACING_FRONT),
mAvailable(false),
mOwner(false)
{
- mId = id;
+ mId = (id != NULL) ? id : "";
}
- explicit CameraId() { CameraId(""); }
+ CameraId& operator=(const CameraId& camera)
+ {
+ if (this != &camera)
+ {
+ mDevice = camera.mDevice;
+ mId = camera.mId;
+ mFacing = camera.mFacing;
+ mAvailable = camera.mAvailable;
+ mOwner = camera.mOwner;
+ }
+
+ return *this;
+ }
};
template <typename T>
@@ -68,8 +80,12 @@ public:
RangeValue() { min = max = static_cast<T>(0); }
RangeValue& operator=(const RangeValue& rangeValue)
{
- min = rangeValue.min;
- max = rangeValue.max;
+ if (this != &rangeValue)
+ {
+ min = rangeValue.min;
+ max = rangeValue.max;
+ }
+
return *this;
}
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoRendererNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoRendererNode.h
index 1dc3ac54..d32f901c 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoRendererNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoRendererNode.h
@@ -98,7 +98,7 @@ private:
int32_t mCodecType;
uint32_t mWidth;
uint32_t mHeight;
- uint32_t mSamplingRate;
+ int8_t mSamplingRate;
int32_t mCvoValue;
uint8_t mConfigBuffer[MAX_CONFIG_INDEX][MAX_CONFIG_LEN];
uint32_t mConfigLen[MAX_CONFIG_INDEX];
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoSourceNode.h b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoSourceNode.h
index 618063ab..7a6c2ed4 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoSourceNode.h
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/include/video/nodes/IVideoSourceNode.h
@@ -63,7 +63,7 @@ protected:
uint32_t mHeight;
uint32_t mFramerate;
uint32_t mBitrate;
- uint32_t mSamplingRate;
+ int8_t mSamplingRate;
uint32_t mIntraInterval;
android::String8 mImagePath;
uint32_t mDeviceOrientation;
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/BaseNode.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/BaseNode.cpp
index 095d426a..ddb45534 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/BaseNode.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/BaseNode.cpp
@@ -55,16 +55,6 @@ BaseNode::BaseNode(BaseSessionCallback* callback)
BaseNode::~BaseNode()
{
- while (!mListFrontNodes.empty())
- {
- DisconnectFrontNode(mListFrontNodes.back());
- }
-
- while (!mListRearNodes.empty())
- {
- DisconnectRearNode(mListRearNodes.back());
- }
-
ClearDataQueue();
mNodeState = kNodeStateStopped;
}
@@ -92,6 +82,19 @@ void BaseNode::ConnectRearNode(BaseNode* pRearNode)
pRearNode->mListFrontNodes.push_back(this);
}
+void BaseNode::DisconnectNodes()
+{
+ while (!mListFrontNodes.empty())
+ {
+ DisconnectFrontNode(mListFrontNodes.back());
+ }
+
+ while (!mListRearNodes.empty())
+ {
+ DisconnectRearNode(mListRearNodes.back());
+ }
+}
+
void BaseNode::ClearDataQueue()
{
mDataQueue.Clear();
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/SocketWriterNode.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/SocketWriterNode.cpp
index 36cd96da..98ef9ee0 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/SocketWriterNode.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/SocketWriterNode.cpp
@@ -29,7 +29,7 @@ SocketWriterNode::~SocketWriterNode()
{
if (mSocket != NULL)
{
- Stop();
+ IMLOGE0("[~SocketWriterNode] socket is not closed");
}
}
@@ -169,12 +169,12 @@ void SocketWriterNode::SetLocalFd(int fd)
mLocalFd = fd;
}
-void SocketWriterNode::SetLocalAddress(const RtpAddress address)
+void SocketWriterNode::SetLocalAddress(const RtpAddress& address)
{
mLocalAddress = address;
}
-void SocketWriterNode::SetPeerAddress(const RtpAddress address)
+void SocketWriterNode::SetPeerAddress(const RtpAddress& address)
{
mPeerAddress = address;
} \ No newline at end of file
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/text/nodes/TextRendererNode.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/text/nodes/TextRendererNode.cpp
index 4eb709fa..5289795d 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/text/nodes/TextRendererNode.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/text/nodes/TextRendererNode.cpp
@@ -20,7 +20,7 @@
#include <ImsMediaTrace.h>
/** Maximum waiting time when packet loss found */
-#define TEXT_LOSS_MAX_WAITING_TIME 1000
+#define TEXT_LOSS_MAX_WAITING_TIME (1000)
TextRendererNode::TextRendererNode(BaseSessionCallback* callback) :
JitterBufferControlNode(callback, IMS_MEDIA_TEXT)
@@ -81,7 +81,7 @@ void TextRendererNode::SetConfig(void* config)
TextConfig* pConfig = reinterpret_cast<TextConfig*>(config);
mCodecType = pConfig->getCodecType();
- mRedundantRevel = pConfig->getRedundantLevel();
+ mRedundantLevel = pConfig->getRedundantLevel();
}
bool TextRendererNode::IsSameConfig(void* config)
@@ -94,7 +94,7 @@ bool TextRendererNode::IsSameConfig(void* config)
TextConfig* pConfig = reinterpret_cast<TextConfig*>(config);
return (mCodecType == pConfig->getCodecType() &&
- mRedundantRevel == pConfig->getRedundantLevel());
+ mRedundantLevel == pConfig->getRedundantLevel());
}
void TextRendererNode::ProcessData()
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaSocket.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaSocket.cpp
index 6492c549..0b92abd9 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaSocket.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaSocket.cpp
@@ -89,7 +89,7 @@ ImsMediaSocket::~ImsMediaSocket()
void ImsMediaSocket::SetLocalEndpoint(const char* ipAddress, const uint32_t port)
{
- std::strcpy(mLocalIP, ipAddress);
+ std::strncpy(mLocalIP, ipAddress, strlen(ipAddress));
mLocalPort = port;
if (strstr(mLocalIP, ":") == NULL)
@@ -104,7 +104,7 @@ void ImsMediaSocket::SetLocalEndpoint(const char* ipAddress, const uint32_t port
void ImsMediaSocket::SetPeerEndpoint(const char* ipAddress, const uint32_t port)
{
- std::strcpy(mPeerIP, ipAddress);
+ std::strncpy(mPeerIP, ipAddress, strlen(ipAddress));
mPeerPort = port;
if (strstr(mPeerIP, ":") == NULL)
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaTimer.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaTimer.cpp
index 34ea349e..4fd45938 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaTimer.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaTimer.cpp
@@ -243,6 +243,11 @@ void ImsMediaTimer::GetNtpTime(IMNtpTime* pNtpTime)
pNtpTime->ntpHigh32Bits = stAndrodTp.tv_sec + 2208988800UL;
pNtpTime->ntpLow32Bits = (unsigned int)(stAndrodTp.tv_usec * 4294UL);
}
+ else
+ {
+ pNtpTime->ntpHigh32Bits = 0;
+ pNtpTime->ntpLow32Bits = 0;
+ }
}
/*!
@@ -262,7 +267,7 @@ uint32_t ImsMediaTimer::GetRtpTsFromNtpTs(IMNtpTime* initNtpTimestamp, uint32_t
/* SPR #1256 BEGIN */
timeDiffHigh32Bits = currentNtpTs.ntpHigh32Bits - initNtpTimestamp->ntpHigh32Bits;
timeDiffLow32Bits =
- (currentNtpTs.ntpLow32Bits / 4294UL) - (initNtpTimestamp->ntpLow32Bits / 4294UL);
+ (currentNtpTs.ntpLow32Bits / 4294) - (initNtpTimestamp->ntpLow32Bits / 4294);
/*! timeDiffHigh32Bits should always be positive */
timeDiff = (timeDiffHigh32Bits * 1000) + timeDiffLow32Bits / 1000;
return timeDiff * (samplingRate / 1000);
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoJitterBuffer.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoJitterBuffer.cpp
index 8b2fd067..2bf0129e 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoJitterBuffer.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoJitterBuffer.cpp
@@ -21,14 +21,14 @@
#include <ImsMediaVideoUtil.h>
#include <ImsMediaTimer.h>
-#define DEFAULT_MAX_SAVE_FRAME_NUM 5
-#define DEFAULT_IDR_FRAME_CHECK_INTRERVAL 3
-#define DEFAULT_VIDEO_JITTER_IDR_WAIT_DELAY 200
-#define RTCPNACK_SEQ_INCREASE(seq) (seq == 0xffff ? 0 : seq + 1)
-#define RTCPNACK_SEQ_ROUND_COMPARE(a, b) ((a > b) && (a > 0xfff0) && (b < 0x000f))
-#define DEFAULT_PACKET_LOSS_MONITORING_TIME 5 // sec
-#define PACKET_LOSS_RATIO 2 // percentage
-#define BITRATE_ADAPTIVE_RATIO 0.1f // ratio
+#define DEFAULT_MAX_SAVE_FRAME_NUM (5)
+#define DEFAULT_IDR_FRAME_CHECK_INTRERVAL (3)
+#define DEFAULT_VIDEO_JITTER_IDR_WAIT_DELAY (200)
+#define RTCPNACK_SEQ_INCREASE(seq) ((seq) == 0xffff ? 0 : (seq) + 1)
+#define RTCPNACK_SEQ_ROUND_COMPARE(a, b) (((a) > (b)) && ((a) > 0xfff0) && ((b) < 0x000f))
+#define DEFAULT_PACKET_LOSS_MONITORING_TIME (5) // sec
+#define PACKET_LOSS_RATIO (2) // percentage
+#define BITRATE_ADAPTIVE_RATIO (0.1f) // ratio
VideoJitterBuffer::VideoJitterBuffer() :
BaseJitterBuffer()
@@ -514,11 +514,8 @@ bool VideoJitterBuffer::Get(ImsMediaSubType* subtype, uint8_t** ppData, uint32_t
uint32_t nCurrTime = ImsMediaTimer::GetTimeInMilliSeconds();
- if (mLastPlayedTimestamp == 0 || mLastPlayedTime == 0)
- {
- bValidPacket = true;
- }
- else if (pEntry->nTimestamp == mLastPlayedTimestamp)
+ if (mLastPlayedTimestamp == 0 || mLastPlayedTime == 0 ||
+ pEntry->nTimestamp == mLastPlayedTimestamp)
{
bValidPacket = true;
}
@@ -672,42 +669,21 @@ uint32_t VideoJitterBuffer::GetCount()
bool VideoJitterBuffer::CheckHeader(uint8_t* pbBuffer)
{
- bool ret = false;
- switch (mCodecType)
+ if (pbBuffer == NULL)
{
- case kVideoCodecAvc:
- // check start code
- if ((pbBuffer[0] == 0x00 && pbBuffer[1] == 0x00 && pbBuffer[2] == 0x00) ||
- (pbBuffer[0] == 0x00 && pbBuffer[1] == 0x00 && pbBuffer[2] == 0x01))
- {
- ret = true;
- }
- else
- {
- ret = false;
- }
- break;
- case kVideoCodecHevc: /* [HEVC] check H.265 start code */
- // check start code
- if ((pbBuffer[0] == 0x00 && pbBuffer[1] == 0x00 && pbBuffer[2] == 0x00) ||
- (pbBuffer[0] == 0x00 && pbBuffer[1] == 0x00 && pbBuffer[2] == 0x01))
- {
- ret = true;
- }
- else
- {
- ret = false;
- }
- break;
- default:
- ret = true;
- IMLOGE1("[CheckHeader] Invalid video codec type %u", mCodecType);
+ return false;
}
- IMLOGD_PACKET5(IM_PACKET_LOG_JITTER, "[CheckHeader] ret[%u] %02X %02X %02X %02X ", ret,
- pbBuffer[0], pbBuffer[1], pbBuffer[2], pbBuffer[3]);
-
- return ret;
+ // check start code
+ if ((pbBuffer[0] == 0x00 && pbBuffer[1] == 0x00 && pbBuffer[2] == 0x00) ||
+ (pbBuffer[0] == 0x00 && pbBuffer[1] == 0x00 && pbBuffer[2] == 0x01))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
}
void VideoJitterBuffer::RemovePacketFromLostList(uint16_t seqNum, bool bRemoveOldPacket)
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaCamera.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaCamera.cpp
index 355ae4d5..e1cfe771 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaCamera.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaCamera.cpp
@@ -237,8 +237,8 @@ bool ImsMediaCamera::OpenCamera()
else
{
IMLOGW0("[OpenCamera] Unsupported ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE");
- mExposureRange.min = mExposureRange.max = 0l;
- mExposureTime = 0l;
+ mExposureRange.min = mExposureRange.max = 0L;
+ mExposureTime = 0L;
}
status =
ACameraMetadata_getConstEntry(metadataObj, ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE, &val);
@@ -606,25 +606,8 @@ void ImsMediaCamera::OnDeviceError(ACameraDevice* dev, int err)
std::string id(ACameraDevice_getId(dev));
IMLOGE2("[OnDeviceError] CameraDevice %s is in error %#x", id.c_str(), err);
PrintCameraDeviceError(err);
-
- CameraId& cam = gCameraIds[id];
-
- switch (err)
- {
- case ERROR_CAMERA_IN_USE:
- cam.mAvailable = false;
- cam.mOwner = false;
- break;
- case ERROR_CAMERA_SERVICE:
- case ERROR_CAMERA_DEVICE:
- case ERROR_CAMERA_DISABLED:
- case ERROR_MAX_CAMERAS_IN_USE:
- cam.mAvailable = false;
- cam.mOwner = false;
- break;
- default:
- IMLOGD1("[OnDeviceError] Unknown Camera Device Error: %#x", err);
- }
+ gCameraIds[id].mAvailable = false;
+ gCameraIds[id].mOwner = false;
}
// CaptureSession state callbacks
@@ -839,9 +822,12 @@ public:
}
DisplayDimension& operator=(const DisplayDimension& other)
{
- w_ = other.w_;
- h_ = other.h_;
- portrait_ = other.portrait_;
+ if (this != &other)
+ {
+ w_ = other.w_;
+ h_ = other.h_;
+ portrait_ = other.portrait_;
+ }
return (*this);
}
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoRendererNode.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoRendererNode.cpp
index 6ab4c832..ee906c57 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoRendererNode.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoRendererNode.cpp
@@ -26,7 +26,7 @@
using namespace android::telephony::imsmedia;
-#define DEFAULT_UNDEFINED -1
+#define DEFAULT_UNDEFINED (-1)
IVideoRendererNode::IVideoRendererNode(BaseSessionCallback* callback) :
JitterBufferControlNode(callback, IMS_MEDIA_VIDEO)
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoSourceNode.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoSourceNode.cpp
index ec939f52..6a4362a4 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoSourceNode.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/nodes/IVideoSourceNode.cpp
@@ -22,7 +22,7 @@
using namespace android::telephony::imsmedia;
-#define DEFAULT_UNDEFINE -1
+#define DEFAULT_UNDEFINE (-1)
IVideoSourceNode::IVideoSourceNode(BaseSessionCallback* callback) :
BaseNode(callback)