Loading media/libstagefright/wifi-display/sink/WifiDisplaySink.cpp +16 −5 Original line number Diff line number Diff line Loading @@ -57,7 +57,8 @@ WifiDisplaySink::WifiDisplaySink( mSetupDeferred(false), mLatencyCount(0), mLatencySumUs(0ll), mLatencyMaxUs(0ll) { mLatencyMaxUs(0ll), mMaxDelayMs(-1ll) { // We support any and all resolutions, but prefer 720p30 mSinkSupportedVideoFormats.setNativeResolution( VideoFormats::RESOLUTION_CEA, 5); // 1280 x 720 p30 Loading Loading @@ -296,9 +297,13 @@ void WifiDisplaySink::onMessageReceived(const sp<AMessage> &msg) { } } static void dumpDelay(size_t trackIndex, int64_t timeUs) { void WifiDisplaySink::dumpDelay(size_t trackIndex, int64_t timeUs) { int64_t delayMs = (ALooper::GetNowUs() - timeUs) / 1000ll; if (delayMs > mMaxDelayMs) { mMaxDelayMs = delayMs; } static const int64_t kMinDelayMs = 0; static const int64_t kMaxDelayMs = 300; Loading @@ -314,9 +319,10 @@ static void dumpDelay(size_t trackIndex, int64_t timeUs) { n = kPatternSize; } ALOGI("[%lld]: (%4lld ms) %s", ALOGI("[%lld]: (%4lld ms / %4lld ms) %s", timeUs / 1000, delayMs, mMaxDelayMs, kPattern + kPatternSize - n); } Loading Loading @@ -350,14 +356,19 @@ void WifiDisplaySink::onMediaReceiverNotify(const sp<AMessage> &msg) { looper()->registerHandler(mRenderer); } CHECK(mTimeOffsetValid); sp<ABuffer> accessUnit; CHECK(msg->findBuffer("accessUnit", &accessUnit)); int64_t timeUs; CHECK(accessUnit->meta()->findInt64("timeUs", &timeUs)); if (!mTimeOffsetValid && !(mFlags & FLAG_SPECIAL_MODE)) { mTimeOffsetUs = timeUs - ALooper::GetNowUs(); mTimeOffsetValid = true; } CHECK(mTimeOffsetValid); // We are the timesync _client_, // client time = server time - time offset. timeUs -= mTimeOffsetUs; Loading media/libstagefright/wifi-display/sink/WifiDisplaySink.h +4 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,8 @@ private: int64_t mLatencySumUs; int64_t mLatencyMaxUs; int64_t mMaxDelayMs; status_t sendM2(int32_t sessionID); status_t sendSetup(int32_t sessionID, const char *uri); status_t sendPlay(int32_t sessionID, const char *uri); Loading Loading @@ -184,6 +186,8 @@ private: const char *url, AString *host, int32_t *port, AString *path, AString *user, AString *pass); void dumpDelay(size_t trackIndex, int64_t timeUs); DISALLOW_EVIL_CONSTRUCTORS(WifiDisplaySink); }; Loading Loading
media/libstagefright/wifi-display/sink/WifiDisplaySink.cpp +16 −5 Original line number Diff line number Diff line Loading @@ -57,7 +57,8 @@ WifiDisplaySink::WifiDisplaySink( mSetupDeferred(false), mLatencyCount(0), mLatencySumUs(0ll), mLatencyMaxUs(0ll) { mLatencyMaxUs(0ll), mMaxDelayMs(-1ll) { // We support any and all resolutions, but prefer 720p30 mSinkSupportedVideoFormats.setNativeResolution( VideoFormats::RESOLUTION_CEA, 5); // 1280 x 720 p30 Loading Loading @@ -296,9 +297,13 @@ void WifiDisplaySink::onMessageReceived(const sp<AMessage> &msg) { } } static void dumpDelay(size_t trackIndex, int64_t timeUs) { void WifiDisplaySink::dumpDelay(size_t trackIndex, int64_t timeUs) { int64_t delayMs = (ALooper::GetNowUs() - timeUs) / 1000ll; if (delayMs > mMaxDelayMs) { mMaxDelayMs = delayMs; } static const int64_t kMinDelayMs = 0; static const int64_t kMaxDelayMs = 300; Loading @@ -314,9 +319,10 @@ static void dumpDelay(size_t trackIndex, int64_t timeUs) { n = kPatternSize; } ALOGI("[%lld]: (%4lld ms) %s", ALOGI("[%lld]: (%4lld ms / %4lld ms) %s", timeUs / 1000, delayMs, mMaxDelayMs, kPattern + kPatternSize - n); } Loading Loading @@ -350,14 +356,19 @@ void WifiDisplaySink::onMediaReceiverNotify(const sp<AMessage> &msg) { looper()->registerHandler(mRenderer); } CHECK(mTimeOffsetValid); sp<ABuffer> accessUnit; CHECK(msg->findBuffer("accessUnit", &accessUnit)); int64_t timeUs; CHECK(accessUnit->meta()->findInt64("timeUs", &timeUs)); if (!mTimeOffsetValid && !(mFlags & FLAG_SPECIAL_MODE)) { mTimeOffsetUs = timeUs - ALooper::GetNowUs(); mTimeOffsetValid = true; } CHECK(mTimeOffsetValid); // We are the timesync _client_, // client time = server time - time offset. timeUs -= mTimeOffsetUs; Loading
media/libstagefright/wifi-display/sink/WifiDisplaySink.h +4 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,8 @@ private: int64_t mLatencySumUs; int64_t mLatencyMaxUs; int64_t mMaxDelayMs; status_t sendM2(int32_t sessionID); status_t sendSetup(int32_t sessionID, const char *uri); status_t sendPlay(int32_t sessionID, const char *uri); Loading Loading @@ -184,6 +186,8 @@ private: const char *url, AString *host, int32_t *port, AString *path, AString *user, AString *pass); void dumpDelay(size_t trackIndex, int64_t timeUs); DISALLOW_EVIL_CONSTRUCTORS(WifiDisplaySink); }; Loading