From 126568c7aeeb5570789e70a310477f44dbdbd885 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Tue, 12 Mar 2013 15:55:43 -0700 Subject: Attempt to recover from network stalls by dropping frames on the source side. Change-Id: I5f9eb4f5acb624a9e5bc0087801fb5a4a9ade35c --- media/libstagefright/wifi-display/rtp/RTPSender.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'media/libstagefright/wifi-display/rtp/RTPSender.cpp') 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 &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 notify = mNotify->dup(); + notify->setInt32("what", kWhatNetworkStall); + notify->setSize("numBytesQueued", numBytesQueued); + notify->post(); +} + } // namespace android -- cgit v1.1