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 | e2aef54fee88fdeb585a41e1e9834e3d975b263c (patch) | |
tree | f9d6f0943b8c8baaf898db0c7fc263a767d5ac67 /media/libstagefright/wifi-display/MediaSender.cpp | |
parent | c93484ab9fdf044fd32f2388a3ce29040d2ba319 (diff) | |
download | frameworks_av-e2aef54fee88fdeb585a41e1e9834e3d975b263c.zip frameworks_av-e2aef54fee88fdeb585a41e1e9834e3d975b263c.tar.gz frameworks_av-e2aef54fee88fdeb585a41e1e9834e3d975b263c.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, |