diff options
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.cpp | 32 |
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; |