summaryrefslogtreecommitdiff
path: root/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioStreamGraphRtpTx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioStreamGraphRtpTx.cpp')
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioStreamGraphRtpTx.cpp32
1 files changed, 23 insertions, 9 deletions
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioStreamGraphRtpTx.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioStreamGraphRtpTx.cpp
index 372a137d..4a991320 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioStreamGraphRtpTx.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/audio/AudioStreamGraphRtpTx.cpp
@@ -20,7 +20,6 @@
#include <AudioConfig.h>
#include <IAudioSourceNode.h>
#include <DtmfEncoderNode.h>
-#include <DtmfSenderNode.h>
#include <AudioRtpPayloadEncoderNode.h>
#include <RtpEncoderNode.h>
#include <SocketWriterNode.h>
@@ -155,6 +154,23 @@ ImsMediaResult AudioStreamGraphRtpTx::update(RtpConfig* config)
return ret;
}
+ImsMediaResult AudioStreamGraphRtpTx::start()
+{
+ if (mConfig == nullptr)
+ {
+ return RESULT_NOT_READY;
+ }
+
+ if (mConfig->getMediaDirection() == RtpConfig::MEDIA_DIRECTION_SEND_ONLY ||
+ mConfig->getMediaDirection() == RtpConfig::MEDIA_DIRECTION_SEND_RECEIVE)
+ {
+ return BaseStreamGraph::start();
+ }
+
+ // not started
+ return RESULT_SUCCESS;
+}
+
bool AudioStreamGraphRtpTx::createDtmfGraph(RtpConfig* config, BaseNode* rtpEncoderNode)
{
if (config == nullptr)
@@ -169,22 +185,20 @@ bool AudioStreamGraphRtpTx::createDtmfGraph(RtpConfig* config, BaseNode* rtpEnco
return false;
}
+ if (mConfig == nullptr)
+ {
+ mConfig = new AudioConfig(*audioConfig);
+ }
+
BaseNode* pDtmfEncoderNode = new DtmfEncoderNode(mCallback);
pDtmfEncoderNode->SetMediaType(IMS_MEDIA_AUDIO);
pDtmfEncoderNode->SetConfig(audioConfig);
AddNode(pDtmfEncoderNode);
mListDtmfNodes.push_back(pDtmfEncoderNode);
- BaseNode* pDtmfSenderNode = new DtmfSenderNode(mCallback);
- pDtmfSenderNode->SetMediaType(IMS_MEDIA_AUDIO);
- pDtmfSenderNode->SetConfig(audioConfig);
- pDtmfEncoderNode->ConnectRearNode(pDtmfSenderNode);
- AddNode(pDtmfSenderNode);
- mListDtmfNodes.push_back(pDtmfSenderNode);
-
if (rtpEncoderNode != nullptr)
{
- pDtmfSenderNode->ConnectRearNode(rtpEncoderNode);
+ pDtmfEncoderNode->ConnectRearNode(rtpEncoderNode);
}
return true;