From c4bd06130e4c3068ab58a0be88a4f765c2267563 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Tue, 23 Apr 2013 13:47:46 -0700 Subject: Remove all traces of wifi display sink implementation and supporting code. Change-Id: I64b681b7e3df1ef0dd80c0d261cacae293d5e684 related-to-bug: 8698812 --- media/libstagefright/wifi-display/Android.mk | 76 ------------- media/libstagefright/wifi-display/MediaSender.cpp | 16 --- media/libstagefright/wifi-display/MediaSender.h | 1 - .../libstagefright/wifi-display/rtp/RTPSender.cpp | 11 -- media/libstagefright/wifi-display/rtp/RTPSender.h | 1 - .../wifi-display/source/PlaybackSession.cpp | 85 -------------- .../wifi-display/source/WifiDisplaySource.cpp | 14 --- .../wifi-display/source/WifiDisplaySource.h | 3 - media/libstagefright/wifi-display/wfd.cpp | 125 +-------------------- 9 files changed, 4 insertions(+), 328 deletions(-) (limited to 'media/libstagefright') diff --git a/media/libstagefright/wifi-display/Android.mk b/media/libstagefright/wifi-display/Android.mk index f99ef60..061ae89 100644 --- a/media/libstagefright/wifi-display/Android.mk +++ b/media/libstagefright/wifi-display/Android.mk @@ -4,17 +4,10 @@ include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ ANetworkSession.cpp \ - MediaReceiver.cpp \ MediaSender.cpp \ Parameters.cpp \ ParsedMessage.cpp \ - rtp/RTPAssembler.cpp \ - rtp/RTPReceiver.cpp \ rtp/RTPSender.cpp \ - sink/DirectRenderer.cpp \ - sink/WifiDisplaySink.cpp \ - SNTPClient.cpp \ - TimeSyncer.cpp \ source/Converter.cpp \ source/MediaPuller.cpp \ source/PlaybackSession.cpp \ @@ -67,72 +60,3 @@ LOCAL_MODULE:= wfd LOCAL_MODULE_TAGS := debug include $(BUILD_EXECUTABLE) - -################################################################################ - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - udptest.cpp \ - -LOCAL_SHARED_LIBRARIES:= \ - libbinder \ - libgui \ - libmedia \ - libstagefright \ - libstagefright_foundation \ - libstagefright_wfd \ - libutils \ - liblog \ - -LOCAL_MODULE:= udptest - -LOCAL_MODULE_TAGS := debug - -include $(BUILD_EXECUTABLE) - -################################################################################ - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - rtptest.cpp \ - -LOCAL_SHARED_LIBRARIES:= \ - libbinder \ - libgui \ - libmedia \ - libstagefright \ - libstagefright_foundation \ - libstagefright_wfd \ - libutils \ - liblog \ - -LOCAL_MODULE:= rtptest - -LOCAL_MODULE_TAGS := debug - -include $(BUILD_EXECUTABLE) - -################################################################################ - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - nettest.cpp \ - -LOCAL_SHARED_LIBRARIES:= \ - libbinder \ - libgui \ - libmedia \ - libstagefright \ - libstagefright_foundation \ - libstagefright_wfd \ - libutils \ - liblog \ - -LOCAL_MODULE:= nettest - -LOCAL_MODULE_TAGS := debug - -include $(BUILD_EXECUTABLE) diff --git a/media/libstagefright/wifi-display/MediaSender.cpp b/media/libstagefright/wifi-display/MediaSender.cpp index 33af66d..8a3566f 100644 --- a/media/libstagefright/wifi-display/MediaSender.cpp +++ b/media/libstagefright/wifi-display/MediaSender.cpp @@ -341,22 +341,6 @@ void MediaSender::onSenderNotify(const sp &msg) { break; } - case kWhatInformSender: - { - int64_t avgLatencyUs; - CHECK(msg->findInt64("avgLatencyUs", &avgLatencyUs)); - - int64_t maxLatencyUs; - CHECK(msg->findInt64("maxLatencyUs", &maxLatencyUs)); - - sp notify = mNotify->dup(); - notify->setInt32("what", kWhatInformSender); - notify->setInt64("avgLatencyUs", avgLatencyUs); - notify->setInt64("maxLatencyUs", maxLatencyUs); - notify->post(); - break; - } - default: TRESPASS(); } diff --git a/media/libstagefright/wifi-display/MediaSender.h b/media/libstagefright/wifi-display/MediaSender.h index 04538ea..64722c5 100644 --- a/media/libstagefright/wifi-display/MediaSender.h +++ b/media/libstagefright/wifi-display/MediaSender.h @@ -43,7 +43,6 @@ struct MediaSender : public AHandler { kWhatInitDone, kWhatError, kWhatNetworkStall, - kWhatInformSender, }; MediaSender( diff --git a/media/libstagefright/wifi-display/rtp/RTPSender.cpp b/media/libstagefright/wifi-display/rtp/RTPSender.cpp index 6bbe650..095fd97 100644 --- a/media/libstagefright/wifi-display/rtp/RTPSender.cpp +++ b/media/libstagefright/wifi-display/rtp/RTPSender.cpp @@ -767,17 +767,6 @@ status_t RTPSender::parseTSFB(const uint8_t *data, size_t size) { } status_t RTPSender::parseAPP(const uint8_t *data, size_t size) { - if (!memcmp("late", &data[8], 4)) { - int64_t avgLatencyUs = (int64_t)U64_AT(&data[12]); - int64_t maxLatencyUs = (int64_t)U64_AT(&data[20]); - - sp notify = mNotify->dup(); - notify->setInt32("what", kWhatInformSender); - notify->setInt64("avgLatencyUs", avgLatencyUs); - notify->setInt64("maxLatencyUs", maxLatencyUs); - notify->post(); - } - return OK; } diff --git a/media/libstagefright/wifi-display/rtp/RTPSender.h b/media/libstagefright/wifi-display/rtp/RTPSender.h index fefcab7..7dc138a 100644 --- a/media/libstagefright/wifi-display/rtp/RTPSender.h +++ b/media/libstagefright/wifi-display/rtp/RTPSender.h @@ -37,7 +37,6 @@ struct RTPSender : public RTPBase, public AHandler { kWhatInitDone, kWhatError, kWhatNetworkStall, - kWhatInformSender, }; RTPSender( const sp &netSession, diff --git a/media/libstagefright/wifi-display/source/PlaybackSession.cpp b/media/libstagefright/wifi-display/source/PlaybackSession.cpp index cacfcca..3d7b865 100644 --- a/media/libstagefright/wifi-display/source/PlaybackSession.cpp +++ b/media/libstagefright/wifi-display/source/PlaybackSession.cpp @@ -559,8 +559,6 @@ void WifiDisplaySource::PlaybackSession::onMessageReceived( converter->dropAFrame(); } } - } else if (what == MediaSender::kWhatInformSender) { - onSinkFeedback(msg); } else { TRESPASS(); } @@ -656,89 +654,6 @@ void WifiDisplaySource::PlaybackSession::onMessageReceived( } } -void WifiDisplaySource::PlaybackSession::onSinkFeedback(const sp &msg) { - int64_t avgLatencyUs; - CHECK(msg->findInt64("avgLatencyUs", &avgLatencyUs)); - - int64_t maxLatencyUs; - CHECK(msg->findInt64("maxLatencyUs", &maxLatencyUs)); - - ALOGI("sink reports avg. latency of %lld ms (max %lld ms)", - avgLatencyUs / 1000ll, - maxLatencyUs / 1000ll); - - if (mVideoTrackIndex >= 0) { - const sp &videoTrack = mTracks.valueFor(mVideoTrackIndex); - sp converter = videoTrack->converter(); - - if (converter != NULL) { - int32_t videoBitrate = - Converter::GetInt32Property("media.wfd.video-bitrate", -1); - - char val[PROPERTY_VALUE_MAX]; - if (videoBitrate < 0 - && property_get("media.wfd.video-bitrate", val, NULL) - && !strcasecmp("adaptive", val)) { - videoBitrate = converter->getVideoBitrate(); - - if (avgLatencyUs > 300000ll) { - videoBitrate *= 0.6; - } else if (avgLatencyUs < 100000ll) { - videoBitrate *= 1.1; - } - } - - if (videoBitrate > 0) { - if (videoBitrate < 500000) { - videoBitrate = 500000; - } else if (videoBitrate > 10000000) { - videoBitrate = 10000000; - } - - if (videoBitrate != converter->getVideoBitrate()) { - ALOGI("setting video bitrate to %d bps", videoBitrate); - - converter->setVideoBitrate(videoBitrate); - } - } - } - - sp repeaterSource = videoTrack->repeaterSource(); - if (repeaterSource != NULL) { - double rateHz = - Converter::GetInt32Property( - "media.wfd.video-framerate", -1); - - char val[PROPERTY_VALUE_MAX]; - if (rateHz < 0.0 - && property_get("media.wfd.video-framerate", val, NULL) - && !strcasecmp("adaptive", val)) { - rateHz = repeaterSource->getFrameRate(); - - if (avgLatencyUs > 300000ll) { - rateHz *= 0.9; - } else if (avgLatencyUs < 200000ll) { - rateHz *= 1.1; - } - } - - if (rateHz > 0) { - if (rateHz < 5.0) { - rateHz = 5.0; - } else if (rateHz > 30.0) { - rateHz = 30.0; - } - - if (rateHz != repeaterSource->getFrameRate()) { - ALOGI("setting frame rate to %.2f Hz", rateHz); - - repeaterSource->setFrameRate(rateHz); - } - } - } - } -} - status_t WifiDisplaySource::PlaybackSession::setupMediaPacketizer( bool enableAudio, bool enableVideo) { DataSource::RegisterDefaultSniffers(); diff --git a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp index 4a49811..2b5bee9 100644 --- a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp +++ b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp @@ -23,7 +23,6 @@ #include "Parameters.h" #include "ParsedMessage.h" #include "rtp/RTPSender.h" -#include "TimeSyncer.h" #include #include @@ -165,14 +164,6 @@ void WifiDisplaySource::onMessageReceived(const sp &msg) { } else { err = -EINVAL; } - } - - if (err == OK) { - sp notify = new AMessage(kWhatTimeSyncerNotify, id()); - mTimeSyncer = new TimeSyncer(mNetSession, notify); - looper()->registerHandler(mTimeSyncer); - - mTimeSyncer->startServer(8123); mState = AWAITING_CLIENT_CONNECTION; } @@ -548,11 +539,6 @@ void WifiDisplaySource::onMessageReceived(const sp &msg) { break; } - case kWhatTimeSyncerNotify: - { - break; - } - default: TRESPASS(); } diff --git a/media/libstagefright/wifi-display/source/WifiDisplaySource.h b/media/libstagefright/wifi-display/source/WifiDisplaySource.h index 3efa0b4..44d3e4d 100644 --- a/media/libstagefright/wifi-display/source/WifiDisplaySource.h +++ b/media/libstagefright/wifi-display/source/WifiDisplaySource.h @@ -30,7 +30,6 @@ namespace android { struct IHDCP; struct IRemoteDisplayClient; struct ParsedMessage; -struct TimeSyncer; // Represents the RTSP server acting as a wifi display source. // Manages incoming connections, sets up Playback sessions as necessary. @@ -83,7 +82,6 @@ private: kWhatHDCPNotify, kWhatFinishStop2, kWhatTeardownTriggerTimedOut, - kWhatTimeSyncerNotify, }; struct ResponseID { @@ -120,7 +118,6 @@ private: sp mNetSession; sp mClient; AString mMediaPath; - sp mTimeSyncer; struct in_addr mInterfaceAddr; int32_t mSessionID; diff --git a/media/libstagefright/wifi-display/wfd.cpp b/media/libstagefright/wifi-display/wfd.cpp index 9fee4d0..c947765 100644 --- a/media/libstagefright/wifi-display/wfd.cpp +++ b/media/libstagefright/wifi-display/wfd.cpp @@ -18,7 +18,6 @@ #define LOG_TAG "wfd" #include -#include "sink/WifiDisplaySink.h" #include "source/WifiDisplaySource.h" #include @@ -39,12 +38,8 @@ namespace android { static void usage(const char *me) { fprintf(stderr, "usage:\n" - " %s -c host[:port]\tconnect to wifi source\n" - " -u uri \tconnect to an rtsp uri\n" - " -l ip[:port] \tlisten on the specified port " - " -f(ilename) \tstream media " - "(create a sink)\n" - " -s(pecial) \trun in 'special' mode\n", + " %s -l iface[:port]\tcreate a wifi display source\n" + " -f(ilename) \tstream media\n", me); } @@ -214,48 +209,14 @@ int main(int argc, char **argv) { DataSource::RegisterDefaultSniffers(); - AString connectToHost; - int32_t connectToPort = -1; - AString uri; - AString listenOnAddr; int32_t listenOnPort = -1; AString path; - bool specialMode = false; - int res; - while ((res = getopt(argc, argv, "hc:l:u:f:s")) >= 0) { + while ((res = getopt(argc, argv, "hl:f:")) >= 0) { switch (res) { - case 'c': - { - const char *colonPos = strrchr(optarg, ':'); - - if (colonPos == NULL) { - connectToHost = optarg; - connectToPort = WifiDisplaySource::kWifiDisplayDefaultPort; - } else { - connectToHost.setTo(optarg, colonPos - optarg); - - char *end; - connectToPort = strtol(colonPos + 1, &end, 10); - - if (*end != '\0' || end == colonPos + 1 - || connectToPort < 1 || connectToPort > 65535) { - fprintf(stderr, "Illegal port specified.\n"); - exit(1); - } - } - break; - } - - case 'u': - { - uri = optarg; - break; - } - case 'f': { path = optarg; @@ -284,12 +245,6 @@ int main(int argc, char **argv) { break; } - case 's': - { - specialMode = true; - break; - } - case '?': case 'h': default: @@ -298,13 +253,6 @@ int main(int argc, char **argv) { } } - if (connectToPort >= 0 && listenOnPort >= 0) { - fprintf(stderr, - "You can connect to a source or create one, " - "but not both at the same time.\n"); - exit(1); - } - if (listenOnPort >= 0) { if (path.empty()) { createSource(listenOnAddr, listenOnPort); @@ -315,72 +263,7 @@ int main(int argc, char **argv) { exit(0); } - if (connectToPort < 0 && uri.empty()) { - fprintf(stderr, - "You need to select either source host or uri.\n"); - - exit(1); - } - - if (connectToPort >= 0 && !uri.empty()) { - fprintf(stderr, - "You need to either connect to a wfd host or an rtsp url, " - "not both.\n"); - exit(1); - } - - sp composerClient = new SurfaceComposerClient; - CHECK_EQ(composerClient->initCheck(), (status_t)OK); - - sp display(SurfaceComposerClient::getBuiltInDisplay( - ISurfaceComposer::eDisplayIdMain)); - DisplayInfo info; - SurfaceComposerClient::getDisplayInfo(display, &info); - ssize_t displayWidth = info.w; - ssize_t displayHeight = info.h; - - ALOGV("display is %d x %d\n", displayWidth, displayHeight); - - sp control = - composerClient->createSurface( - String8("A Surface"), - displayWidth, - displayHeight, - PIXEL_FORMAT_RGB_565, - 0); - - CHECK(control != NULL); - CHECK(control->isValid()); - - SurfaceComposerClient::openGlobalTransaction(); - CHECK_EQ(control->setLayer(INT_MAX), (status_t)OK); - CHECK_EQ(control->show(), (status_t)OK); - SurfaceComposerClient::closeGlobalTransaction(); - - sp surface = control->getSurface(); - CHECK(surface != NULL); - - sp session = new ANetworkSession; - session->start(); - - sp looper = new ALooper; - - sp sink = new WifiDisplaySink( - specialMode ? WifiDisplaySink::FLAG_SPECIAL_MODE : 0 /* flags */, - session, - surface->getIGraphicBufferProducer()); - - looper->registerHandler(sink); - - if (connectToPort >= 0) { - sink->start(connectToHost.c_str(), connectToPort); - } else { - sink->start(uri.c_str()); - } - - looper->start(true /* runOnCallingThread */); - - composerClient->dispose(); + usage(argv[0]); return 0; } -- cgit v1.1