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/MediaSender.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/MediaSender.cpp')
-rw-r--r-- | media/libstagefright/wifi-display/MediaSender.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/media/libstagefright/wifi-display/MediaSender.cpp b/media/libstagefright/wifi-display/MediaSender.cpp index 105c642..e1e957a 100644 --- a/media/libstagefright/wifi-display/MediaSender.cpp +++ b/media/libstagefright/wifi-display/MediaSender.cpp @@ -325,6 +325,15 @@ void MediaSender::onSenderNotify(const sp<AMessage> &msg) { break; } + case kWhatNetworkStall: + { + size_t numBytesQueued; + CHECK(msg->findSize("numBytesQueued", &numBytesQueued)); + + notifyNetworkStall(numBytesQueued); + break; + } + default: TRESPASS(); } @@ -344,6 +353,13 @@ void MediaSender::notifyError(status_t err) { notify->post(); } +void MediaSender::notifyNetworkStall(size_t numBytesQueued) { + sp<AMessage> notify = mNotify->dup(); + notify->setInt32("what", kWhatNetworkStall); + notify->setSize("numBytesQueued", numBytesQueued); + notify->post(); +} + status_t MediaSender::packetizeAccessUnit( size_t trackIndex, sp<ABuffer> accessUnit, |