diff options
author | Andreas Huber <andih@google.com> | 2013-03-12 15:55:43 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2013-03-13 09:25:52 -0700 |
commit | 126568c7aeeb5570789e70a310477f44dbdbd885 (patch) | |
tree | 1f48db730e17ec81eb412b2ebcbc0ede752e5c35 /media/libstagefright/wifi-display/rtp/RTPSender.cpp | |
parent | c148e7a671c289f82f6ca40e29defcc43e1c6d0b (diff) | |
download | frameworks_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.cpp | 19 |
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 |