Verified Commit 1b7a8f77 authored by Sebastiano Barezzi's avatar Sebastiano Barezzi Committed by Zinadin Zidan
Browse files

sm6150-common: Switch to aosp WiFi Display


Signed-off-by: Zinadin Zidan's avatarZinadin Zidan <zidan.roking@gmail.com>
Change-Id: Iabe12c3084a8357e201c36d1cb7a4d150b0b4773
parent 50cfe64b
......@@ -118,18 +118,6 @@ android_app_import {
system_ext_specific: true,
}
android_app_import {
name: "WfdService",
owner: "xiaomi",
apk: "proprietary/system_ext/priv-app/WfdService/WfdService.apk",
certificate: "platform",
dex_preopt: {
enabled: false,
},
privileged: true,
system_ext_specific: true,
}
android_app_import {
name: "dpmserviceapp",
owner: "xiaomi",
......@@ -166,12 +154,6 @@ android_app_import {
system_ext_specific: true,
}
dex_import {
name: "WfdCommon",
owner: "xiaomi",
jars: ["proprietary/framework/WfdCommon.jar"],
}
prebuilt_etc_xml {
name: "android.hardware.gnss@2.1-service-qti",
owner: "xiaomi",
......
#
# Copyright (c) 2019-2020 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
service wfdservice /system_ext/bin/wfdservice
class main
user system
disabled
oneshot
on property:vendor.wfdservice=enable
start wfdservice
on property:vendor.wfdservice=disable
stop wfdservice
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<permissions>
<privapp-permissions package="com.qualcomm.wfd.service">
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
</privapp-permissions>
</permissions>
# Copyright (c) 2020 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc
#
# Not a contribution.
#
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
munmap: 1
futex: 1
#prctl: arg0 == PR_SET_VMA || arg0 == PR_GET_DUMPABLE
prctl: 1
#ioctl: arg1 == BINDER_VERSION || arg1 == BINDER_WRITE_READ || arg1 == BINDER_SET_MAX_THREADS
ioctl: 1
close: 1
openat: 1
mremap: 1
fstat64: 1
readlinkat: 1
pread64: 1
fstatfs64: 1
clock_gettime: 1
fstatat64: 1
read: 1
write: 1
fcntl64: 1
ppoll: 1
faccessat: 1
rt_sigaction: 1
getuid32: 1
madvise: 1
rt_sigprocmask: 1
writev: 1
personality: 1
getrandom: 1
gettimeofday: 1
#set_tls: 1
statfs64: 1
ugetrlimit: 1
execve: 1
connect: 1
socket: arg0 == AF_UNIX
getpid: 1
gettid: 1
nanosleep: 1
restart_syscall: 1
set_tid_address: 1
open: 1
exit: 1
sched_getscheduler: 1
exit_group: 1
sigaltstack: 1
clone: 1
rt_sigreturn: 1
setpriority: 1
getpriority: 1
timer_create: 1
timer_delete: 1
timer_settime: 1
rt_sigtimedwait: 1
getdents64: 1
dup: 1
lseek: 1
tgkill: 1
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
Copyright (C) 2012 - 2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!-- This config file is to be used when local device is sink -->
<WFDConfig>
<Capability>
<!--
Audio capabilities
-->
<AudioLPCM>
<Name>LPCM</Name>
<Valid>1</Valid>
<Channels>2</Channels>
<SamplingFreq>48000</SamplingFreq>
<Latency>33</Latency>
</AudioLPCM>
<AudioAAC>
<Name>AAC</Name>
<Valid>1</Valid>
<Channels>6</Channels>
<SamplingFreq>48000</SamplingFreq>
<Latency>0</Latency>
</AudioAAC>
<AudioAC3>
<Name>AC3</Name>
<Valid>0</Valid>
<Channels>0</Channels>
<SamplingFreq>0</SamplingFreq>
<Latency>0</Latency>
</AudioAC3>
<!--
Video capabilities additions for H264 codec
-->
<VideoFormats>
<VideoCodecHeader>
<TotalProfiles>7</TotalProfiles>
<PreferredDisplaySupport>0</PreferredDisplaySupport>
</VideoCodecHeader>
<!-- AVC Profile 0 - Constrained Baseline,
1 - Constrained High,
2 - Constrained High2,
3 - BaseLine
4 - Main
5 - High
HEVC Profile 0 - Main
-->
<!-- Level 0 - 3.1,
1 - 3.2,
2 - 4.0,
3 - 4.1,
4 - 4.2,
5 - 5,
6 - 5.1,
7 - 5.2
-->
<VideoCodec1>
<CodecName>H.264</CodecName>
<Profile>0</Profile>
<Level>6</Level>
<HorizontalResolution>4096</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec1>
<VideoCodec2>
<CodecName>H.264</CodecName>
<Profile>1</Profile>
<Level>6</Level>
<HorizontalResolution>4096</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec2>
<VideoCodec3>
<CodecName>H.264</CodecName>
<Profile>2</Profile>
<Level>6</Level>
<HorizontalResolution>4096</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec3>
<VideoCodec4>
<CodecName>H.264</CodecName>
<Profile>3</Profile>
<Level>6</Level>
<HorizontalResolution>4096</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec4>
<VideoCodec5>
<CodecName>H.264</CodecName>
<Profile>4</Profile>
<Level>6</Level>
<HorizontalResolution>4096</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec5>
<VideoCodec6>
<CodecName>H.264</CodecName>
<Profile>5</Profile>
<Level>6</Level>
<HorizontalResolution>4096</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec6>
<VideoCodec7>
<CodecName>H.265</CodecName>
<Profile>0</Profile>
<Level>4</Level>
<HorizontalResolution>4096</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec7>
</VideoFormats>
<!--
Aux streaming is new addition
This is added for Direct streaming
-->
<AuxStreamInfo>
<Codec>
<Count>1</Count>
<Name1>PNG</Name1>
</Codec>
<!--
Limiting the number of layers to 5 in the overlay
Resolution is 1080P for Direct streaming
-->
<MaxOverlay>5</MaxOverlay>
<HRes>1280</HRes>
<VRes>720</VRes>
<Mode>CEA</Mode>
</AuxStreamInfo>
<!--
Standby Resume capability is supported
-->
<StandbyResumeCapability>
<Valid>1</Valid>
</StandbyResumeCapability>
<!--
Explicit AV format change
Not supported
-->
<AVFormatChange>
<Valid>0</Valid>
<AVInterval>0</AVInterval>
</AVFormatChange>
<!--
Frame skipping interval is in the scale of 500 msec or half second.
FrameInterval can be between 1 to 7, according to the WFD spec.
0 means Frame skipping interval is infinite and recommended value is 0
-->
<FrameSkipping>
<Valid>1</Valid>
<FrameInterval>0</FrameInterval>
</FrameSkipping>
<!-- disable HDCP by default -->
<ContentProtection>
<Valid>0</Valid>
<!--
Valid values WFD_HDCP_2_0,
WFD_HDCP_2_1 and WFD_HDCP_2_2
-->
<Version>WFD_HDCP_2_2</Version>
<CPPort>6789</CPPort>
</ContentProtection>
<!--
To enable RTP dump at sink
-->
<RTPDumpEnable>
<!-- DEPRECATED -->
<!-- For enabling RTP parser dumping set
persist.vendor.sys.debug.rtp.enable_dump to 1
/sdcard/Download/rtpdump.ts
-->
</RTPDumpEnable>
<!--
UIBC by default enabled
-->
<UIBC>
<UIBCValid>1</UIBCValid> <!-- 0/1 UIBC supported or not -->
<InputCategory>
<Generic>1</Generic> <!-- 0/1 - support generic or not -->
<HID>1</HID> <!-- 0/1 - support HID or not -->
</InputCategory>
<!-- Supported input events -->
<InputEvents>
<GenericInputEvents>
<!-- 0/1 for all Input Event Types -->
<Mouse>0</Mouse>
<Keyboard>1</Keyboard>
<SingleTouch>1</SingleTouch>
<MultiTouch>1</MultiTouch>
<JoyStick>0</JoyStick>
<Camera>0</Camera>
<Gesture>0</Gesture>
<RemoteControl>0</RemoteControl>
</GenericInputEvents>
<!--
Each input path will have a byte and support
for the input types is indicated by setting a bit:
KEYBOARD BIT0
MOUSE BIT1
SINGLETOUCH BIT2
MULTITOUCH BIT3
JOYSTICK BIT4
CAMERA BIT5
GESTURE BIT6
REMOTECONTROL BIT7
-->
<HIDInputPaths>
<Infrared>0</Infrared>
<USB>1</USB>
<BT>0</BT>
<Zigbee>0</Zigbee>
<Wifi>0</Wifi>
<NoSP>0</NoSP>
</HIDInputPaths>
</InputEvents>
<!-- TCP port on which UIBC connection established -->
<TcpPort>4321</TcpPort>
</UIBC>
</Capability>
<!--
Enabling Rtcp
-->
<RTCP>
<RtcpRREnabled>1</RtcpRREnabled>
<RtcpRRIntervalMs>500</RtcpRRIntervalMs>
</RTCP>
<!--
Send keep alive messages for every 50sec
-->
<SendKeepAlive>1</SendKeepAlive>
<!--
RTSP port on which RTSP server is running
-->
<RTSPPort>5550</RTSPPort>
<!--
To configure video core in SVS mode
-->
<PerformanceLevelSVSMode>1</PerformanceLevelSVSMode>
<!--
To configure video core in Nominal mode
-->
<PerformanceLevelNominalMode>0</PerformanceLevelNominalMode>
<!--
To configure video core in Turbo mode
-->
<PerformanceLevelTurboMode>0</PerformanceLevelTurboMode>
<!--
Bitrate settings for each mode
-->
<BitrateTable>
<!--
Bitrate table for Audio formats
-->
<AAC>
<BIT0>
<MaxBitrate>256000</MaxBitrate>
<MinBitrate>256000</MinBitrate>
</BIT0>
<BIT1>
<MaxBitrate>384000</MaxBitrate>
<MinBitrate>384000</MinBitrate>
</BIT1>
<BIT2>
<MaxBitrate>512000</MaxBitrate>
<MinBitrate>512000</MinBitrate>
</BIT2>
</AAC>
<!--
CEA Min and Max bit rates for each resolution
Will configure the video core with MaxBitrate
Based on the available link speed video bitrate
can go upto MinBitrate
-->
<CEA>
<!-- 640x480p60 -->
<BIT0>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT0>
<!-- 720x480p60 -->
<BIT1>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT1>
<!-- 720x480i60 -->
<BIT2>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT2>
<!-- 720x576p50 -->
<BIT3>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT3>
<!-- 720x576i50 -->
<BIT4>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT4>
<!-- 1280x720p30 -->
<BIT5>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT5>
<!-- 1280x720p60 -->
<BIT6>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT6>
<!-- 1920x1080p30 -->
<BIT7>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT7>
<!-- 1920x1080p60 -->
<BIT8>
<MinBitrate>7000000</MinBitrate>
<MaxBitrate>13000000</MaxBitrate>
</BIT8>
<!-- 1920x1080i60 -->
<BIT9>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>40000000</MaxBitrate>
</BIT9>
<!-- 1280x720p25 -->
<BIT10>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT10>
<!-- 1280x720p50 -->
<BIT11>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT11>
<!-- 1920x1080p25 -->
<BIT12>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT12>
<!-- 1920x1080p50 -->
<BIT13>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>40000000</MaxBitrate>
</BIT13>
<!-- 1920x1080i50 -->
<BIT14>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>40000000</MaxBitrate>
</BIT14>
<!-- 1280x720p24 -->
<BIT15>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT15>
<!-- 1920x1080p24 -->
<BIT16>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT16>
<!-- 3840x2160p24 -->
<BIT17>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT17>
<!-- 3840x2160 p25 -->
<BIT18>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT18>
<!-- 3840x2160p30 -->
<BIT19>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT19>
<!-- 3840x2160p50 -->
<BIT20>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT20>
<!-- 3840x2160p60 -->
<BIT21>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT21>
<!-- 4096x2160p24 -->
<BIT22>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT22>
<!-- 4096x2160p25 -->
<BIT23>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT23>
<!-- 4096x2160p30 -->
<BIT24>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT24>
<!-- 4096x2160p50 -->
<BIT25>