diff options
author | Andreas Huber <andih@google.com> | 2013-03-07 23:56:17 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-03-07 23:56:17 +0000 |
commit | 96aeef2b4f51b06cb7f9ccbb04df48b305550b67 (patch) | |
tree | dde61ece0f1d12a4085280966933f4af318c67d6 /media/libstagefright/wifi-display | |
parent | 219a9d5b01446b6197bbf3253db666f5445bef8b (diff) | |
parent | 13700b08cb1f6405f0b27434d42d03864e00e41f (diff) | |
download | frameworks_av-96aeef2b4f51b06cb7f9ccbb04df48b305550b67.zip frameworks_av-96aeef2b4f51b06cb7f9ccbb04df48b305550b67.tar.gz frameworks_av-96aeef2b4f51b06cb7f9ccbb04df48b305550b67.tar.bz2 |
Merge "Disable our fancy logic to respect both sink and source's native formats" into jb-mr2-dev
Diffstat (limited to 'media/libstagefright/wifi-display')
-rw-r--r-- | media/libstagefright/wifi-display/VideoFormats.cpp | 9 | ||||
-rw-r--r-- | media/libstagefright/wifi-display/VideoFormats.h | 2 | ||||
-rw-r--r-- | media/libstagefright/wifi-display/source/WifiDisplaySource.cpp | 12 |
3 files changed, 10 insertions, 13 deletions
diff --git a/media/libstagefright/wifi-display/VideoFormats.cpp b/media/libstagefright/wifi-display/VideoFormats.cpp index 9ad8c3c..d171c6f 100644 --- a/media/libstagefright/wifi-display/VideoFormats.cpp +++ b/media/libstagefright/wifi-display/VideoFormats.cpp @@ -256,7 +256,7 @@ bool VideoFormats::parseFormatSpec(const char *spec) { return GetConfiguration(mNativeType, mNativeIndex, NULL, NULL, NULL, NULL); } -AString VideoFormats::getFormatSpec() const { +AString VideoFormats::getFormatSpec(bool forM4Message) const { CHECK_EQ(kNumResolutionTypes, 3); // wfd_video_formats: @@ -277,7 +277,7 @@ AString VideoFormats::getFormatSpec() const { return StringPrintf( "%02x 00 02 02 %08x %08x %08x 00 0000 0000 00 none none", - (mNativeIndex << 3) | mNativeType, + forM4Message ? 0x00 : ((mNativeIndex << 3) | mNativeType), mResolutionEnabled[0], mResolutionEnabled[1], mResolutionEnabled[2]); @@ -289,6 +289,10 @@ bool VideoFormats::PickBestFormat( const VideoFormats &sourceSupported, ResolutionType *chosenType, size_t *chosenIndex) { +#if 0 + // Support for the native format is a great idea, the spec includes + // these features, but nobody supports it and the tests don't validate it. + ResolutionType nativeType; size_t nativeIndex; sinkSupported.getNativeResolution(&nativeType, &nativeIndex); @@ -316,6 +320,7 @@ bool VideoFormats::PickBestFormat( ALOGW("Source advertised native resolution that it doesn't " "actually support... ignoring"); } +#endif bool first = true; uint32_t bestScore = 0; diff --git a/media/libstagefright/wifi-display/VideoFormats.h b/media/libstagefright/wifi-display/VideoFormats.h index a84407a..69e2197 100644 --- a/media/libstagefright/wifi-display/VideoFormats.h +++ b/media/libstagefright/wifi-display/VideoFormats.h @@ -60,7 +60,7 @@ struct VideoFormats { bool *interlaced); bool parseFormatSpec(const char *spec); - AString getFormatSpec() const; + AString getFormatSpec(bool forM4Message = false) const; static bool PickBestFormat( const VideoFormats &sinkSupported, diff --git a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp index 07eb237..b8524f6 100644 --- a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp +++ b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp @@ -59,18 +59,10 @@ WifiDisplaySource::WifiDisplaySource( mHDCPPort(0), mHDCPInitializationComplete(false), mSetupTriggerDeferred(false) { - mSupportedSourceVideoFormats.enableAll(); + mSupportedSourceVideoFormats.disableAll(); mSupportedSourceVideoFormats.setNativeResolution( VideoFormats::RESOLUTION_CEA, 5); // 1280x720 p30 - - // Disable resolutions above 1080p since the encoder won't be able to - // handle them. - mSupportedSourceVideoFormats.setResolutionEnabled( - VideoFormats::RESOLUTION_VESA, 28, false); // 1920x1200 p30 - - mSupportedSourceVideoFormats.setResolutionEnabled( - VideoFormats::RESOLUTION_VESA, 29, false); // 1920x1200 p60 } WifiDisplaySource::~WifiDisplaySource() { @@ -607,7 +599,7 @@ status_t WifiDisplaySource::sendM4(int32_t sessionID) { chosenVideoFormat.setNativeResolution( mChosenVideoResolutionType, mChosenVideoResolutionIndex); - body.append(chosenVideoFormat.getFormatSpec()); + body.append(chosenVideoFormat.getFormatSpec(true /* forM4Message */)); body.append("\r\n"); } |