summaryrefslogtreecommitdiff
path: root/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoStreamGraphRtcp.cpp
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-21 19:56:55 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-21 19:56:55 +0000
commitddd0cff3eb5acdc581c8f6f5b36b1bf8b90c8bed (patch)
tree77daebc4c4c41dae651a3425504a52dd1ccc21b1 /service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoStreamGraphRtcp.cpp
parentcad0938b23a933110df171fb7c9f96721f606cd2 (diff)
parent1879ee137ede0d62b88cd16da3d46138ca540dfa (diff)
downloadImsMedia-ddd0cff3eb5acdc581c8f6f5b36b1bf8b90c8bed.tar.gz
Snap for 9989322 from 1879ee137ede0d62b88cd16da3d46138ca540dfa to mainline-rkpd-release
Change-Id: I35046c7ba53f650c5d42314f226f1df5b7cd8dc1
Diffstat (limited to 'service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoStreamGraphRtcp.cpp')
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoStreamGraphRtcp.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoStreamGraphRtcp.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoStreamGraphRtcp.cpp
index 28ef246a..03a6f728 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoStreamGraphRtcp.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/VideoStreamGraphRtcp.cpp
@@ -94,7 +94,7 @@ ImsMediaResult VideoStreamGraphRtcp::update(RtpConfig* config)
if (*reinterpret_cast<VideoConfig*>(mConfig) == *pConfig)
{
- IMLOGD0("[update] no update");
+ IMLOGI0("[update] no update");
return RESULT_SUCCESS;
}
@@ -105,6 +105,12 @@ ImsMediaResult VideoStreamGraphRtcp::update(RtpConfig* config)
mConfig = new VideoConfig(pConfig);
+ if (mConfig->getMediaDirection() == RtpConfig::MEDIA_DIRECTION_NO_FLOW)
+ {
+ IMLOGI0("[update] pause RTCP");
+ return stop();
+ }
+
ImsMediaResult ret = ImsMediaResult::RESULT_NOT_READY;
// stop scheduler
if (mGraphState == kStreamStateRunning)
@@ -125,7 +131,8 @@ ImsMediaResult VideoStreamGraphRtcp::update(RtpConfig* config)
}
}
- if (mGraphState == kStreamStateCreated && mConfig->getRtcpConfig().getIntervalSec() != 0)
+ if (mGraphState == kStreamStateCreated &&
+ mConfig->getMediaDirection() != RtpConfig::MEDIA_DIRECTION_NO_FLOW)
{
IMLOGI0("[update] resume RTCP");
return start();
@@ -140,6 +147,24 @@ ImsMediaResult VideoStreamGraphRtcp::update(RtpConfig* config)
return ret;
}
+ImsMediaResult VideoStreamGraphRtcp::start()
+{
+ IMLOGI1("[start] state[%d]", mGraphState);
+
+ if (mConfig == nullptr)
+ {
+ return RESULT_INVALID_PARAM;
+ }
+
+ if (mConfig->getMediaDirection() != RtpConfig::MEDIA_DIRECTION_NO_FLOW)
+ {
+ return BaseStreamGraph::start();
+ }
+
+ // not started
+ return RESULT_SUCCESS;
+}
+
bool VideoStreamGraphRtcp::setMediaQualityThreshold(MediaQualityThreshold* threshold)
{
if (threshold != nullptr)