summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/rtp/RTPSender.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-03-12 15:55:43 -0700
committerAndreas Huber <andih@google.com>2013-03-13 09:25:52 -0700
commit126568c7aeeb5570789e70a310477f44dbdbd885 (patch)
tree1f48db730e17ec81eb412b2ebcbc0ede752e5c35 /media/libstagefright/wifi-display/rtp/RTPSender.cpp
parentc148e7a671c289f82f6ca40e29defcc43e1c6d0b (diff)
downloadframeworks_av-126568c7aeeb5570789e70a310477f44dbdbd885.zip
frameworks_av-126568c7aeeb5570789e70a310477f44dbdbd885.tar.gz
frameworks_av-126568c7aeeb5570789e70a310477f44dbdbd885.tar.bz2
Attempt to recover from network stalls by dropping frames on the source side.
Change-Id: I5f9eb4f5acb624a9e5bc0087801fb5a4a9ade35c
Diffstat (limited to 'media/libstagefright/wifi-display/rtp/RTPSender.cpp')
-rw-r--r--media/libstagefright/wifi-display/rtp/RTPSender.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/media/libstagefright/wifi-display/rtp/RTPSender.cpp b/media/libstagefright/wifi-display/rtp/RTPSender.cpp
index b60853d..8cd712d 100644
--- a/media/libstagefright/wifi-display/rtp/RTPSender.cpp
+++ b/media/libstagefright/wifi-display/rtp/RTPSender.cpp
@@ -530,6 +530,18 @@ void RTPSender::onNetNotify(bool isRTP, const sp<AMessage> &msg) {
}
break;
}
+
+ case ANetworkSession::kWhatNetworkStall:
+ {
+ size_t numBytesQueued;
+ CHECK(msg->findSize("numBytesQueued", &numBytesQueued));
+
+ notifyNetworkStall(numBytesQueued);
+ break;
+ }
+
+ default:
+ TRESPASS();
}
}
@@ -699,5 +711,12 @@ void RTPSender::notifyError(status_t err) {
notify->post();
}
+void RTPSender::notifyNetworkStall(size_t numBytesQueued) {
+ sp<AMessage> notify = mNotify->dup();
+ notify->setInt32("what", kWhatNetworkStall);
+ notify->setSize("numBytesQueued", numBytesQueued);
+ notify->post();
+}
+
} // namespace android