summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-03-07 23:56:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-03-07 23:56:17 +0000
commit96aeef2b4f51b06cb7f9ccbb04df48b305550b67 (patch)
treedde61ece0f1d12a4085280966933f4af318c67d6 /media/libstagefright/wifi-display
parent219a9d5b01446b6197bbf3253db666f5445bef8b (diff)
parent13700b08cb1f6405f0b27434d42d03864e00e41f (diff)
downloadframeworks_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.cpp9
-rw-r--r--media/libstagefright/wifi-display/VideoFormats.h2
-rw-r--r--media/libstagefright/wifi-display/source/WifiDisplaySource.cpp12
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");
}