Adjust tuner default implementation and VTS types size.
Bug: 195693712
Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Change-Id: Ie9d20c74b05ecc10333ca883fe38d26d78f33949
diff --git a/tv/tuner/aidl/default/Dvr.cpp b/tv/tuner/aidl/default/Dvr.cpp
index 9eadb8c..4f34b8e 100644
--- a/tv/tuner/aidl/default/Dvr.cpp
+++ b/tv/tuner/aidl/default/Dvr.cpp
@@ -237,7 +237,7 @@
}
PlaybackStatus Dvr::checkPlaybackStatusChange(uint32_t availableToWrite, uint32_t availableToRead,
- uint32_t highThreshold, uint32_t lowThreshold) {
+ int64_t highThreshold, int64_t lowThreshold) {
if (availableToWrite == 0) {
return PlaybackStatus::SPACE_FULL;
} else if (availableToRead > highThreshold) {
@@ -252,9 +252,8 @@
bool Dvr::readPlaybackFMQ(bool isVirtualFrontend, bool isRecording) {
// Read playback data from the input FMQ
- int size = mDvrMQ->availableToRead();
- uint8_t playbackPacketSize =
- static_cast<uint8_t>(mDvrSettings.get<DvrSettings::Tag::playback>().packetSize);
+ size_t size = mDvrMQ->availableToRead();
+ int64_t playbackPacketSize = mDvrSettings.get<DvrSettings::Tag::playback>().packetSize;
vector<int8_t> dataOutputBuffer;
dataOutputBuffer.resize(playbackPacketSize);
// Dispatch the packet to the PID matching filter output buffer
@@ -461,7 +460,7 @@
}
RecordStatus Dvr::checkRecordStatusChange(uint32_t availableToWrite, uint32_t availableToRead,
- uint32_t highThreshold, uint32_t lowThreshold) {
+ int64_t highThreshold, int64_t lowThreshold) {
if (availableToWrite == 0) {
return RecordStatus::OVERFLOW;
} else if (availableToRead > highThreshold) {
diff --git a/tv/tuner/aidl/default/Dvr.h b/tv/tuner/aidl/default/Dvr.h
index 68933ae..586f885 100644
--- a/tv/tuner/aidl/default/Dvr.h
+++ b/tv/tuner/aidl/default/Dvr.h
@@ -101,9 +101,9 @@
void maySendPlaybackStatusCallback();
void maySendRecordStatusCallback();
PlaybackStatus checkPlaybackStatusChange(uint32_t availableToWrite, uint32_t availableToRead,
- uint32_t highThreshold, uint32_t lowThreshold);
+ int64_t highThreshold, int64_t lowThreshold);
RecordStatus checkRecordStatusChange(uint32_t availableToWrite, uint32_t availableToRead,
- uint32_t highThreshold, uint32_t lowThreshold);
+ int64_t highThreshold, int64_t lowThreshold);
/**
* A dispatcher to read and dispatch input data to all the started filters.
* Each filter handler handles the data filtering/output writing/filterEvent updating.
diff --git a/tv/tuner/aidl/default/Filter.cpp b/tv/tuner/aidl/default/Filter.cpp
index 77ca2ee..9755e39 100644
--- a/tv/tuner/aidl/default/Filter.cpp
+++ b/tv/tuner/aidl/default/Filter.cpp
@@ -646,8 +646,8 @@
DemuxFilterPesEvent pesEvent;
pesEvent = {
// temp dump meta data
- .streamId = static_cast<char16_t>(mPesOutput[3]),
- .dataLength = static_cast<char16_t>(mPesOutput.size()),
+ .streamId = static_cast<int32_t>(mPesOutput[3]),
+ .dataLength = static_cast<int32_t>(mPesOutput.size()),
};
if (DEBUG_FILTER) {
ALOGD("[Filter] assembled pes data length %d", pesEvent.dataLength);
@@ -793,7 +793,7 @@
.tableId = 0,
.version = 1,
.sectionNum = 1,
- .dataLength = static_cast<char16_t>(data.size()),
+ .dataLength = static_cast<int32_t>(data.size()),
};
mFilterEvents[size].set<DemuxFilterEvent::Tag::section>(secEvent);
return true;
@@ -891,7 +891,7 @@
mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().avMemory =
::android::dupToAidl(nativeHandle);
mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().dataLength =
- static_cast<int32_t>(output.size());
+ static_cast<int64_t>(output.size());
mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().avDataId = static_cast<int64_t>(dataId);
if (mPts) {
mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().pts = mPts;
@@ -932,10 +932,9 @@
mFilterEvents[size] = DemuxFilterEvent::make<DemuxFilterEvent::Tag::media>();
mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().avMemory =
::android::dupToAidl(nativeHandle);
- mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().offset =
- static_cast<int32_t>(mSharedAvMemOffset);
+ mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().offset = mSharedAvMemOffset;
mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().dataLength =
- static_cast<int32_t>(output.size());
+ static_cast<int64_t>(output.size());
if (mPts) {
mFilterEvents[size].get<DemuxFilterEvent::Tag::media>().pts = mPts;
mPts = 0;
diff --git a/tv/tuner/aidl/default/Filter.h b/tv/tuner/aidl/default/Filter.h
index 30eb24b..3f40256 100644
--- a/tv/tuner/aidl/default/Filter.h
+++ b/tv/tuner/aidl/default/Filter.h
@@ -221,7 +221,7 @@
// Shared A/V memory handle
native_handle_t* mSharedAvMemHandle = nullptr;
bool mUsingSharedAvMem = false;
- uint32_t mSharedAvMemOffset = 0;
+ int64_t mSharedAvMemOffset = 0;
uint32_t mAudioStreamType;
uint32_t mVideoStreamType;
diff --git a/tv/tuner/aidl/default/Frontend.cpp b/tv/tuner/aidl/default/Frontend.cpp
index 438f897..660d0bb 100644
--- a/tv/tuner/aidl/default/Frontend.cpp
+++ b/tv/tuner/aidl/default/Frontend.cpp
@@ -94,7 +94,7 @@
return ::ndk::ScopedAStatus::ok();
}
- int32_t frequency = 0;
+ int64_t frequency = 0;
switch (in_settings.getTag()) {
case FrontendSettings::Tag::analog:
frequency = in_settings.get<FrontendSettings::Tag::analog>().frequency;
@@ -133,7 +133,7 @@
{
FrontendScanMessage msg;
- vector<int32_t> frequencies = {frequency};
+ vector<int64_t> frequencies = {frequency};
msg.set<FrontendScanMessage::Tag::frequencies>(frequencies);
mCallback->onScanMessage(FrontendScanMessageType::FREQUENCY, msg);
}
@@ -165,21 +165,21 @@
{
FrontendScanMessage msg;
- vector<uint8_t> plpIds = {2};
+ vector<int32_t> plpIds = {2};
msg.set<FrontendScanMessage::Tag::plpIds>(plpIds);
mCallback->onScanMessage(FrontendScanMessageType::PLP_IDS, msg);
}
{
FrontendScanMessage msg;
- vector<uint8_t> groupIds = {3};
+ vector<int32_t> groupIds = {3};
msg.set<FrontendScanMessage::Tag::groupIds>(groupIds);
mCallback->onScanMessage(FrontendScanMessageType::GROUP_IDS, msg);
}
{
FrontendScanMessage msg;
- vector<char16_t> inputStreamIds = {1};
+ vector<int32_t> inputStreamIds = {1};
msg.set<FrontendScanMessage::Tag::inputStreamIds>(inputStreamIds);
mCallback->onScanMessage(FrontendScanMessageType::INPUT_STREAM_IDS, msg);
}
@@ -350,7 +350,7 @@
break;
}
case FrontendStatusType::PLP_ID: {
- status.set<FrontendStatus::plpId>(101); // type uint8_t
+ status.set<FrontendStatus::plpId>(101);
break;
}
case FrontendStatusType::EWBS: {
@@ -613,7 +613,7 @@
break;
}
case FrontendStatusType::ISDBT_SEGMENTS: {
- vector<uint8_t> segments = {2, 3};
+ vector<int32_t> segments = {2, 3};
status.set<FrontendStatus::isdbtSegment>(segments);
break;
}