diff --git a/Android.mk b/Android.mk
index 3bd3206..2c36029 100644
--- a/Android.mk
+++ b/Android.mk
@@ -358,4 +358,26 @@ LOCAL_MODULE_SUFFIX := .apk
LOCAL_PRIVILEGED_MODULE := true
include $(BUILD_PREBUILT)
+include $(CLEAR_VARS)
+LOCAL_MODULE := WfdService
+LOCAL_MODULE_OWNER := motorola
+LOCAL_SRC_FILES := proprietary/priv-app/WfdService/WfdService.apk
+LOCAL_CERTIFICATE := platform
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := APPS
+LOCAL_DEX_PREOPT := false
+LOCAL_MODULE_SUFFIX := .apk
+LOCAL_PRIVILEGED_MODULE := true
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := WfdCommon
+LOCAL_MODULE_OWNER := motorola
+LOCAL_SRC_FILES := proprietary/framework/WfdCommon.jar
+LOCAL_CERTIFICATE := platform
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_MODULE_SUFFIX := .jar
+include $(BUILD_PREBUILT)
+
endif
diff --git a/proprietary/bin/wfdservice b/proprietary/bin/wfdservice
new file mode 100644
index 0000000..5c50527
Binary files /dev/null and b/proprietary/bin/wfdservice differ
diff --git a/proprietary/etc/init/wfdservice.rc b/proprietary/etc/init/wfdservice.rc
new file mode 100644
index 0000000..c4d9c77
--- /dev/null
+++ b/proprietary/etc/init/wfdservice.rc
@@ -0,0 +1,14 @@
+service wfdservice /system/bin/wfdservice
+ class main
+ user system
+ group audio camera inet uhid drmrpc media_rw media input net_admin
+ #removed these because of limit of 12 groups
+ #graphics net_bt net_bt_admin bluetooth
+ disabled
+ oneshot
+
+on property:vendor.wfdservice=enable
+ start wfdservice
+
+on property:vendor.wfdservice=disable
+ stop wfdservice
diff --git a/proprietary/etc/wfdconfig.xml b/proprietary/etc/wfdconfig.xml
new file mode 100644
index 0000000..3fb8804
--- /dev/null
+++ b/proprietary/etc/wfdconfig.xml
@@ -0,0 +1,749 @@
+
+
+
+
+
+
+ LPCM
+ 1
+ 2
+ 48000
+ 33
+
+
+
+ AAC
+ 1
+ 6
+ 48000
+ 0
+
+
+
+ AC3
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 3
+ 0
+
+
+
+
+
+
+ H.264
+ 0
+ 6
+ 3840
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+ H.264
+ 1
+ 6
+ 3840
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+ H.265
+ 0
+ 6
+ 3840
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+
+
+
+ 1
+ PNG
+
+
+
+ 5
+ 1280
+ 720
+ CEA
+
+
+
+
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+
+
+
+
+ 0
+
+ WFD_HDCP_2_2
+ 6789
+
+ 0
+
+
+
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+
+ 1
+ 1
+
+
+
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 3
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 4321
+
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+ 5550
+
+
+ 0
+
+ 0
+
+ 0
+
+
+ 22
+
+
+ 44
+
+
+
+
+
+
+
+ 256000
+ 256000
+
+
+ 384000
+ 384000
+
+
+ 512000
+ 512000
+
+
+
+
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 15000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 15000000
+
+
+
+ 10000000
+ 15000000
+
+
+
+ 10000000
+ 15000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 15000000
+
+
+
+ 10000000
+ 15000000
+
+
+
+ 10000000
+ 15000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 5000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 15000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 3500000
+ 10000000
+
+
+
+ 5000000
+ 15000000
+
+
+
+ 3500000
+ 10000000
+
+
+
+ 5000000
+ 15000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 10000000
+ 15000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 10000000
+ 15000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+
+
+ 0
+
+
+ -150
+
+
+ 0
+
+
+ 50
+
+
+ 1
+
+
+ 0
+
+
+
+ 1
+ 5
+
+
+
+
+ 1
+
+
+ 1
+
+
diff --git a/proprietary/etc/wfdconfigsink.xml b/proprietary/etc/wfdconfigsink.xml
new file mode 100644
index 0000000..3106f86
--- /dev/null
+++ b/proprietary/etc/wfdconfigsink.xml
@@ -0,0 +1,807 @@
+
+
+
+
+
+
+
+
+ LPCM
+ 1
+ 2
+ 48000
+ 33
+
+
+
+ AAC
+ 1
+ 6
+ 48000
+ 0
+
+
+
+ AC3
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 7
+ 0
+
+
+
+
+
+ H.264
+ 0
+ 6
+ 4096
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+ H.264
+ 1
+ 6
+ 4096
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+ H.264
+ 2
+ 6
+ 4096
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+ H.264
+ 3
+ 6
+ 4096
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+ H.264
+ 4
+ 6
+ 4096
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+ H.264
+ 5
+ 6
+ 4096
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+ H.265
+ 0
+ 6
+ 4096
+ 2160
+ 0
+ 0
+ 0
+ 1
+ 30
+ 1
+ 1
+
+
+
+
+
+
+ 1
+ PNG
+
+
+ 5
+ 1280
+ 720
+ CEA
+
+
+
+
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+
+
+
+
+ 0
+
+ WFD_HDCP_2_2
+ 6789
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ 1
+ 1
+
+
+
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 4321
+
+
+
+
+
+ 1
+ 500
+
+
+
+ 1
+
+
+ 5550
+
+
+ 1
+
+
+ 0
+
+
+ 0
+
+
+
+
+
+
+ 256000
+ 256000
+
+
+ 384000
+ 384000
+
+
+ 512000
+ 512000
+
+
+
+
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 10000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 5000000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 3500000
+ 14000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 3500000
+ 14000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 2500000
+ 10000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 5000000
+ 20000000
+
+
+
+ 10000000
+ 40000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+ 10000000
+ 30000000
+
+
+
+
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+ 500000
+ 2000000
+
+
+
+ 1000000
+ 4000000
+
+
+
+
+
+ 40
+
+
+ 0
+
+
+ -150
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 60
+
+
+ -150000
+
+
+ -200000
+
+
+ 1
+
+ 0
+
+
diff --git a/proprietary/framework/WfdCommon.jar b/proprietary/framework/WfdCommon.jar
new file mode 100644
index 0000000..7fe2430
Binary files /dev/null and b/proprietary/framework/WfdCommon.jar differ
diff --git a/proprietary/lib/com.qualcomm.qti.wifidisplayhal@1.0.so b/proprietary/lib/com.qualcomm.qti.wifidisplayhal@1.0.so
new file mode 100644
index 0000000..c5ee182
Binary files /dev/null and b/proprietary/lib/com.qualcomm.qti.wifidisplayhal@1.0.so differ
diff --git a/proprietary/lib/extractors/libmmparser.so b/proprietary/lib/extractors/libmmparser.so
new file mode 100644
index 0000000..9dec1b5
Binary files /dev/null and b/proprietary/lib/extractors/libmmparser.so differ
diff --git a/proprietary/lib/libFileMux.so b/proprietary/lib/libFileMux.so
new file mode 100644
index 0000000..b2ae210
Binary files /dev/null and b/proprietary/lib/libFileMux.so differ
diff --git a/proprietary/lib/libOmxMux.so b/proprietary/lib/libOmxMux.so
new file mode 100644
index 0000000..bc8bc37
Binary files /dev/null and b/proprietary/lib/libOmxMux.so differ
diff --git a/proprietary/lib/libaacwrapper.so b/proprietary/lib/libaacwrapper.so
new file mode 100644
index 0000000..6ea2621
Binary files /dev/null and b/proprietary/lib/libaacwrapper.so differ
diff --git a/proprietary/lib/libmmosal.so b/proprietary/lib/libmmosal.so
new file mode 100644
index 0000000..1edbd5a
Binary files /dev/null and b/proprietary/lib/libmmosal.so differ
diff --git a/proprietary/lib/libmmparser_lite.so b/proprietary/lib/libmmparser_lite.so
new file mode 100644
index 0000000..1927b85
Binary files /dev/null and b/proprietary/lib/libmmparser_lite.so differ
diff --git a/proprietary/lib/libmmrtpdecoder.so b/proprietary/lib/libmmrtpdecoder.so
new file mode 100644
index 0000000..4a0abb8
Binary files /dev/null and b/proprietary/lib/libmmrtpdecoder.so differ
diff --git a/proprietary/lib/libmmrtpencoder.so b/proprietary/lib/libmmrtpencoder.so
new file mode 100644
index 0000000..d6d85d2
Binary files /dev/null and b/proprietary/lib/libmmrtpencoder.so differ
diff --git a/proprietary/lib/libwfdavenhancements.so b/proprietary/lib/libwfdavenhancements.so
new file mode 100644
index 0000000..14e2b69
Binary files /dev/null and b/proprietary/lib/libwfdavenhancements.so differ
diff --git a/proprietary/lib/libwfdclient.so b/proprietary/lib/libwfdclient.so
new file mode 100644
index 0000000..09b193c
Binary files /dev/null and b/proprietary/lib/libwfdclient.so differ
diff --git a/proprietary/lib/libwfdcodecv4l2.so b/proprietary/lib/libwfdcodecv4l2.so
new file mode 100644
index 0000000..786e2c5
Binary files /dev/null and b/proprietary/lib/libwfdcodecv4l2.so differ
diff --git a/proprietary/lib/libwfdcommonutils.so b/proprietary/lib/libwfdcommonutils.so
new file mode 100644
index 0000000..fa177cb
Binary files /dev/null and b/proprietary/lib/libwfdcommonutils.so differ
diff --git a/proprietary/lib/libwfdconfigutils.so b/proprietary/lib/libwfdconfigutils.so
new file mode 100644
index 0000000..8f111cf
Binary files /dev/null and b/proprietary/lib/libwfdconfigutils.so differ
diff --git a/proprietary/lib/libwfdmminterface.so b/proprietary/lib/libwfdmminterface.so
new file mode 100644
index 0000000..c0f2083
Binary files /dev/null and b/proprietary/lib/libwfdmminterface.so differ
diff --git a/proprietary/lib/libwfdmmsink.so b/proprietary/lib/libwfdmmsink.so
new file mode 100644
index 0000000..49b5cc8
Binary files /dev/null and b/proprietary/lib/libwfdmmsink.so differ
diff --git a/proprietary/lib/libwfdmmsrc.so b/proprietary/lib/libwfdmmsrc.so
new file mode 100644
index 0000000..42dcb8f
Binary files /dev/null and b/proprietary/lib/libwfdmmsrc.so differ
diff --git a/proprietary/lib/libwfdnative.so b/proprietary/lib/libwfdnative.so
new file mode 100644
index 0000000..102bea0
Binary files /dev/null and b/proprietary/lib/libwfdnative.so differ
diff --git a/proprietary/lib/libwfdrtsp.so b/proprietary/lib/libwfdrtsp.so
new file mode 100644
index 0000000..d276d7f
Binary files /dev/null and b/proprietary/lib/libwfdrtsp.so differ
diff --git a/proprietary/lib/libwfdservice.so b/proprietary/lib/libwfdservice.so
new file mode 100644
index 0000000..a682e86
Binary files /dev/null and b/proprietary/lib/libwfdservice.so differ
diff --git a/proprietary/lib/libwfdsm.so b/proprietary/lib/libwfdsm.so
new file mode 100644
index 0000000..77c3ba8
Binary files /dev/null and b/proprietary/lib/libwfdsm.so differ
diff --git a/proprietary/lib/libwfduibcinterface.so b/proprietary/lib/libwfduibcinterface.so
new file mode 100644
index 0000000..7801ddf
Binary files /dev/null and b/proprietary/lib/libwfduibcinterface.so differ
diff --git a/proprietary/lib/libwfduibcsink.so b/proprietary/lib/libwfduibcsink.so
new file mode 100644
index 0000000..edf05ac
Binary files /dev/null and b/proprietary/lib/libwfduibcsink.so differ
diff --git a/proprietary/lib/libwfduibcsinkinterface.so b/proprietary/lib/libwfduibcsinkinterface.so
new file mode 100644
index 0000000..8c1ff46
Binary files /dev/null and b/proprietary/lib/libwfduibcsinkinterface.so differ
diff --git a/proprietary/lib/libwfduibcsrc.so b/proprietary/lib/libwfduibcsrc.so
new file mode 100644
index 0000000..1280eb6
Binary files /dev/null and b/proprietary/lib/libwfduibcsrc.so differ
diff --git a/proprietary/lib/libwfduibcsrcinterface.so b/proprietary/lib/libwfduibcsrcinterface.so
new file mode 100644
index 0000000..590296a
Binary files /dev/null and b/proprietary/lib/libwfduibcsrcinterface.so differ
diff --git a/proprietary/lib64/extractors/libaacextractor.so b/proprietary/lib64/extractors/libaacextractor.so
new file mode 100644
index 0000000..5e6e4d1
Binary files /dev/null and b/proprietary/lib64/extractors/libaacextractor.so differ
diff --git a/proprietary/lib64/extractors/libamrextractor.so b/proprietary/lib64/extractors/libamrextractor.so
new file mode 100644
index 0000000..e808412
Binary files /dev/null and b/proprietary/lib64/extractors/libamrextractor.so differ
diff --git a/proprietary/lib64/extractors/libflacextractor.so b/proprietary/lib64/extractors/libflacextractor.so
new file mode 100644
index 0000000..33f5d15
Binary files /dev/null and b/proprietary/lib64/extractors/libflacextractor.so differ
diff --git a/proprietary/lib64/extractors/libmidiextractor.so b/proprietary/lib64/extractors/libmidiextractor.so
new file mode 100644
index 0000000..96b3e0a
Binary files /dev/null and b/proprietary/lib64/extractors/libmidiextractor.so differ
diff --git a/proprietary/lib64/extractors/libmkvextractor.so b/proprietary/lib64/extractors/libmkvextractor.so
new file mode 100644
index 0000000..0b288d5
Binary files /dev/null and b/proprietary/lib64/extractors/libmkvextractor.so differ
diff --git a/proprietary/lib64/extractors/libmmparser.so b/proprietary/lib64/extractors/libmmparser.so
new file mode 100644
index 0000000..f01a67e
Binary files /dev/null and b/proprietary/lib64/extractors/libmmparser.so differ
diff --git a/proprietary/lib64/extractors/libmp3extractor.so b/proprietary/lib64/extractors/libmp3extractor.so
new file mode 100644
index 0000000..4de53f8
Binary files /dev/null and b/proprietary/lib64/extractors/libmp3extractor.so differ
diff --git a/proprietary/lib64/extractors/libmp4extractor.so b/proprietary/lib64/extractors/libmp4extractor.so
new file mode 100644
index 0000000..28f4cc1
Binary files /dev/null and b/proprietary/lib64/extractors/libmp4extractor.so differ
diff --git a/proprietary/lib64/extractors/libmpeg2extractor.so b/proprietary/lib64/extractors/libmpeg2extractor.so
new file mode 100644
index 0000000..fc717ef
Binary files /dev/null and b/proprietary/lib64/extractors/libmpeg2extractor.so differ
diff --git a/proprietary/lib64/extractors/liboggextractor.so b/proprietary/lib64/extractors/liboggextractor.so
new file mode 100644
index 0000000..50681df
Binary files /dev/null and b/proprietary/lib64/extractors/liboggextractor.so differ
diff --git a/proprietary/lib64/extractors/libwavextractor.so b/proprietary/lib64/extractors/libwavextractor.so
new file mode 100644
index 0000000..9edb1d6
Binary files /dev/null and b/proprietary/lib64/extractors/libwavextractor.so differ
diff --git a/proprietary/lib64/libFileMux.so b/proprietary/lib64/libFileMux.so
new file mode 100644
index 0000000..326a549
Binary files /dev/null and b/proprietary/lib64/libFileMux.so differ
diff --git a/proprietary/lib64/libOmxMux.so b/proprietary/lib64/libOmxMux.so
new file mode 100644
index 0000000..229640c
Binary files /dev/null and b/proprietary/lib64/libOmxMux.so differ
diff --git a/proprietary/lib64/libaacwrapper.so b/proprietary/lib64/libaacwrapper.so
new file mode 100644
index 0000000..c2c449f
Binary files /dev/null and b/proprietary/lib64/libaacwrapper.so differ
diff --git a/proprietary/lib64/libmmosal.so b/proprietary/lib64/libmmosal.so
new file mode 100644
index 0000000..8dd6b1e
Binary files /dev/null and b/proprietary/lib64/libmmosal.so differ
diff --git a/proprietary/lib64/libmmparser_lite.so b/proprietary/lib64/libmmparser_lite.so
new file mode 100644
index 0000000..03a1df2
Binary files /dev/null and b/proprietary/lib64/libmmparser_lite.so differ
diff --git a/proprietary/lib64/libmmrtpdecoder.so b/proprietary/lib64/libmmrtpdecoder.so
new file mode 100644
index 0000000..82293e8
Binary files /dev/null and b/proprietary/lib64/libmmrtpdecoder.so differ
diff --git a/proprietary/lib64/libmmrtpencoder.so b/proprietary/lib64/libmmrtpencoder.so
new file mode 100644
index 0000000..c745a62
Binary files /dev/null and b/proprietary/lib64/libmmrtpencoder.so differ
diff --git a/proprietary/lib64/libwfdclient.so b/proprietary/lib64/libwfdclient.so
new file mode 100644
index 0000000..968125b
Binary files /dev/null and b/proprietary/lib64/libwfdclient.so differ
diff --git a/proprietary/lib64/libwfdnative.so b/proprietary/lib64/libwfdnative.so
new file mode 100644
index 0000000..2a5fb58
Binary files /dev/null and b/proprietary/lib64/libwfdnative.so differ
diff --git a/proprietary/priv-app/WfdService/WfdService.apk b/proprietary/priv-app/WfdService/WfdService.apk
new file mode 100644
index 0000000..1e0fb72
Binary files /dev/null and b/proprietary/priv-app/WfdService/WfdService.apk differ
diff --git a/proprietary/vendor/bin/wifidisplayhalservice b/proprietary/vendor/bin/wifidisplayhalservice
new file mode 100644
index 0000000..bcbc2f2
Binary files /dev/null and b/proprietary/vendor/bin/wifidisplayhalservice differ
diff --git a/proprietary/vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc b/proprietary/vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc
new file mode 100644
index 0000000..8cfa34e
--- /dev/null
+++ b/proprietary/vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc
@@ -0,0 +1,4 @@
+service wifidisplayhalservice /vendor/bin/wifidisplayhalservice
+ class main
+ user system
+ group drmrpc inet input net_admin mediadrm audio
diff --git a/proprietary/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0-halimpl.so b/proprietary/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0-halimpl.so
new file mode 100644
index 0000000..cb07bbd
Binary files /dev/null and b/proprietary/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0-halimpl.so differ
diff --git a/proprietary/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0.so b/proprietary/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0.so
new file mode 100644
index 0000000..c5ee182
Binary files /dev/null and b/proprietary/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0.so differ
diff --git a/proprietary/vendor/lib/libmmosal_proprietary.so b/proprietary/vendor/lib/libmmosal_proprietary.so
new file mode 100644
index 0000000..3534106
Binary files /dev/null and b/proprietary/vendor/lib/libmmosal_proprietary.so differ
diff --git a/proprietary/vendor/lib/libwfdcommonutils_proprietary.so b/proprietary/vendor/lib/libwfdcommonutils_proprietary.so
new file mode 100644
index 0000000..5c897ce
Binary files /dev/null and b/proprietary/vendor/lib/libwfdcommonutils_proprietary.so differ
diff --git a/proprietary/vendor/lib/libwfdhaldsmanager.so b/proprietary/vendor/lib/libwfdhaldsmanager.so
new file mode 100644
index 0000000..aa60dbf
Binary files /dev/null and b/proprietary/vendor/lib/libwfdhaldsmanager.so differ
diff --git a/proprietary/vendor/lib/libwfdmmservice.so b/proprietary/vendor/lib/libwfdmmservice.so
new file mode 100644
index 0000000..3e02df5
Binary files /dev/null and b/proprietary/vendor/lib/libwfdmmservice.so differ
diff --git a/proprietary/vendor/lib/libwfdmodulehdcpsession.so b/proprietary/vendor/lib/libwfdmodulehdcpsession.so
new file mode 100644
index 0000000..4ef6460
Binary files /dev/null and b/proprietary/vendor/lib/libwfdmodulehdcpsession.so differ
diff --git a/proprietary/vendor/lib64/libmmosal_proprietary.so b/proprietary/vendor/lib64/libmmosal_proprietary.so
new file mode 100644
index 0000000..7a5b337
Binary files /dev/null and b/proprietary/vendor/lib64/libmmosal_proprietary.so differ
diff --git a/proprietary/vendor/lib64/libwfdhdcpcp.so b/proprietary/vendor/lib64/libwfdhdcpcp.so
new file mode 100644
index 0000000..7a12c22
Binary files /dev/null and b/proprietary/vendor/lib64/libwfdhdcpcp.so differ
diff --git a/sanders-vendor.mk b/sanders-vendor.mk
index 2cf4035..b0db312 100644
--- a/sanders-vendor.mk
+++ b/sanders-vendor.mk
@@ -1335,6 +1335,70 @@ PRODUCT_COPY_FILES += \
vendor/motorola/sanders/proprietary/framework/qti-telephony-common.jar:system/framework/qti-telephony-common.jar \
vendor/motorola/sanders/proprietary/vendor/etc/init/android.hardware.sensors@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.sensors@1.0-service.rc
+# DTV Libs
+PRODUCT_COPY_FILES += \
+ vendor/motorola/sanders/proprietary/etc/permissions/mot_dtv_permissions.xml:system/etc/permissions/mot_dtv_permissions.xml \
+ vendor/motorola/sanders/proprietary/etc/permissions/com.motorola.hardware.dtv.xml:system/etc/permissions/com.motorola.hardware.dtv.xml \
+ vendor/motorola/sanders/proprietary/etc/permissions/com.google.android.tv.installed.xml:system/etc/permissions/com.google.android.tv.installed.xml \
+ vendor/motorola/sanders/proprietary/lib/libdtvhal.so:$(TARGET_COPY_OUT_VENDOR)/lib/libdtvhal.so \
+ vendor/motorola/sanders/proprietary/lib/libdtvtuner.so:$(TARGET_COPY_OUT_VENDOR)/lib/libdtvtuner.so \
+ vendor/motorola/sanders/proprietary/lib64/libdtvtuner.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdtvtuner.so \
+ vendor/motorola/sanders/proprietary/lib64/libdtvhal.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdtvhal.so
+
+# WFD
+PRODUCT_COPY_FILES += \
+ vendor/motorola/sanders/proprietary/bin/wfdservice:system/bin/wfdservice \
+ vendor/motorola/sanders/proprietary/etc/init/wfdservice.rc:system/etc/init/wfdservice.rc \
+ vendor/motorola/sanders/proprietary/etc/wfdconfig.xml:system/etc/wfdconfig.xml \
+ vendor/motorola/sanders/proprietary/etc/wfdconfigsink.xml:system/etc/wfdconfigsink.xml \
+ vendor/motorola/sanders/proprietary/lib/com.qualcomm.qti.wifidisplayhal@1.0.so:system/lib/com.qualcomm.qti.wifidisplayhal@1.0.so \
+ vendor/motorola/sanders/proprietary/lib/extractors/libmmparser.so:system/lib/extractors/libmmparser.so \
+ vendor/motorola/sanders/proprietary/lib/libaacwrapper.so:system/lib/libaacwrapper.so \
+ vendor/motorola/sanders/proprietary/lib/libFileMux.so:system/lib/libFileMux.so \
+ vendor/motorola/sanders/proprietary/lib/libmmosal.so:system/lib/libmmosal.so \
+ vendor/motorola/sanders/proprietary/lib/libmmparser_lite.so:system/lib/libmmparser_lite.so \
+ vendor/motorola/sanders/proprietary/lib/libmmrtpdecoder.so:system/lib/libmmrtpdecoder.so \
+ vendor/motorola/sanders/proprietary/lib/libmmrtpencoder.so:system/lib/libmmrtpencoder.so \
+ vendor/motorola/sanders/proprietary/lib/libOmxMux.so:system/lib/libOmxMux.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdavenhancements.so:system/lib/libwfdavenhancements.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdclient.so:system/lib/libwfdclient.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdcodecv4l2.so:system/lib/libwfdcodecv4l2.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdcommonutils.so:system/lib/libwfdcommonutils.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdconfigutils.so:system/lib/libwfdconfigutils.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdmminterface.so:system/lib/libwfdmminterface.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdmmsink.so:system/lib/libwfdmmsink.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdmmsrc.so:system/lib/libwfdmmsrc.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdnative.so:system/lib/libwfdnative.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdrtsp.so:system/lib/libwfdrtsp.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdservice.so:system/lib/libwfdservice.so \
+ vendor/motorola/sanders/proprietary/lib/libwfdsm.so:system/lib/libwfdsm.so \
+ vendor/motorola/sanders/proprietary/lib/libwfduibcinterface.so:system/lib/libwfduibcinterface.so \
+ vendor/motorola/sanders/proprietary/lib/libwfduibcsink.so:system/lib/libwfduibcsink.so \
+ vendor/motorola/sanders/proprietary/lib/libwfduibcsinkinterface.so:system/lib/libwfduibcsinkinterface.so \
+ vendor/motorola/sanders/proprietary/lib/libwfduibcsrc.so:system/lib/libwfduibcsrc.so \
+ vendor/motorola/sanders/proprietary/lib/libwfduibcsrcinterface.so:system/lib/libwfduibcsrcinterface.so \
+ vendor/motorola/sanders/proprietary/lib64/extractors/libmmparser.so:system/lib64/extractors/libmmparser.so \
+ vendor/motorola/sanders/proprietary/lib64/libaacwrapper.so:system/lib64/libaacwrapper.so \
+ vendor/motorola/sanders/proprietary/lib64/libFileMux.so:system/lib64/libFileMux.so \
+ vendor/motorola/sanders/proprietary/lib64/libmmosal.so:system/lib64/libmmosal.so \
+ vendor/motorola/sanders/proprietary/lib64/libmmparser_lite.so:system/lib64/libmmparser_lite.so \
+ vendor/motorola/sanders/proprietary/lib64/libmmrtpdecoder.so:system/lib64/libmmrtpdecoder.so \
+ vendor/motorola/sanders/proprietary/lib64/libmmrtpencoder.so:system/lib64/libmmrtpencoder.so \
+ vendor/motorola/sanders/proprietary/lib64/libOmxMux.so:system/lib64/libOmxMux.so \
+ vendor/motorola/sanders/proprietary/lib64/libwfdclient.so:system/lib64/libwfdclient.so \
+ vendor/motorola/sanders/proprietary/lib64/libwfdnative.so:system/lib64/libwfdnative.so \
+ vendor/motorola/sanders/proprietary/vendor/bin/wifidisplayhalservice:$(TARGET_COPY_OUT_VENDOR)/bin/wifidisplayhalservice \
+ vendor/motorola/sanders/proprietary/vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc \
+ vendor/motorola/sanders/proprietary/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0-halimpl.so:$(TARGET_COPY_OUT_VENDOR)/lib/com.qualcomm.qti.wifidisplayhal@1.0-halimpl.so \
+ vendor/motorola/sanders/proprietary/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0.so:$(TARGET_COPY_OUT_VENDOR)/lib/com.qualcomm.qti.wifidisplayhal@1.0.so \
+ vendor/motorola/sanders/proprietary/vendor/lib/libmmosal_proprietary.so:$(TARGET_COPY_OUT_VENDOR)/lib/libmmosal_proprietary.so \
+ vendor/motorola/sanders/proprietary/vendor/lib/libwfdcommonutils_proprietary.so:$(TARGET_COPY_OUT_VENDOR)/lib/libwfdcommonutils_proprietary.so \
+ vendor/motorola/sanders/proprietary/vendor/lib/libwfdhaldsmanager.so:$(TARGET_COPY_OUT_VENDOR)/lib/libwfdhaldsmanager.so \
+ vendor/motorola/sanders/proprietary/vendor/lib/libwfdmmservice.so:$(TARGET_COPY_OUT_VENDOR)/lib/libwfdmmservice.so \
+ vendor/motorola/sanders/proprietary/vendor/lib/libwfdmodulehdcpsession.so:$(TARGET_COPY_OUT_VENDOR)/lib/libwfdmodulehdcpsession.so \
+ vendor/motorola/sanders/proprietary/vendor/lib64/libmmosal_proprietary.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libmmosal_proprietary.so \
+ vendor/motorola/sanders/proprietary/vendor/lib64/libwfdhdcpcp.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libwfdhdcpcp.so
+
PRODUCT_PACKAGES += \
libqct_resampler \
TimeService \
@@ -1365,5 +1429,7 @@ PRODUCT_PACKAGES += \
QtiTelephonyService \
CNEService \
DTVPlayer \
- DTVService
+ DTVService \
+ WfdService \
+ WfdCommon