Merge "Generate face HAL java-source"
diff --git a/automotive/evs/1.1/vts/functional/VtsHalEvsV1_1TargetTest.cpp b/automotive/evs/1.1/vts/functional/VtsHalEvsV1_1TargetTest.cpp
index a3dc45b..8cc1882 100644
--- a/automotive/evs/1.1/vts/functional/VtsHalEvsV1_1TargetTest.cpp
+++ b/automotive/evs/1.1/vts/functional/VtsHalEvsV1_1TargetTest.cpp
@@ -2269,48 +2269,74 @@
// Acquire the graphics buffer allocator
android::GraphicBufferAllocator& alloc(android::GraphicBufferAllocator::get());
- const auto usage = GRALLOC_USAGE_HW_TEXTURE |
- GRALLOC_USAGE_SW_READ_RARELY |
- GRALLOC_USAGE_SW_WRITE_OFTEN;
+ const auto usage =
+ GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_SW_READ_RARELY | GRALLOC_USAGE_SW_WRITE_OFTEN;
const auto format = HAL_PIXEL_FORMAT_RGBA_8888;
- const auto width = 640;
- const auto height = 360;
-
- // Allocate buffers to use
- hidl_vec<BufferDesc> buffers;
- buffers.resize(kBuffersToHold);
- for (auto i = 0; i < kBuffersToHold; ++i) {
- unsigned pixelsPerLine;
- buffer_handle_t memHandle = nullptr;
- android::status_t result = alloc.allocate(width,
- height,
- format,
- 1,
- usage,
- &memHandle,
- &pixelsPerLine,
- 0,
- "EvsApp");
- if (result != android::NO_ERROR) {
- LOG(ERROR) << __FUNCTION__ << " failed to allocate memory.";
- } else {
- BufferDesc buf;
- AHardwareBuffer_Desc* pDesc =
- reinterpret_cast<AHardwareBuffer_Desc *>(&buf.buffer.description);
- pDesc->width = width;
- pDesc->height = height;
- pDesc->layers = 1;
- pDesc->format = format;
- pDesc->usage = usage;
- pDesc->stride = pixelsPerLine;
- buf.buffer.nativeHandle = memHandle;
- buf.bufferId = i; // Unique number to identify this buffer
- buffers[i] = buf;
- }
- }
+ uint32_t width = 640;
+ uint32_t height = 360;
+ camera_metadata_entry_t streamCfgs;
// Test each reported camera
- for (auto&& cam: cameraInfo) {
+ for (auto&& cam : cameraInfo) {
+ bool foundCfg = false;
+ if (!find_camera_metadata_entry(reinterpret_cast<camera_metadata_t*>(cam.metadata.data()),
+ ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS,
+ &streamCfgs)) {
+ // Stream configurations are found in metadata
+ RawStreamConfig* ptr = reinterpret_cast<RawStreamConfig*>(streamCfgs.data.i32);
+
+ LOG(DEBUG) << __LINE__ << " start searching " << streamCfgs.count;
+ for (unsigned idx = 0; idx < streamCfgs.count; idx++) {
+ LOG(DEBUG) << "ptr->direction= " << ptr->direction
+ << " ptr->format= " << ptr->format;
+ if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT &&
+ ptr->format == HAL_PIXEL_FORMAT_RGBA_8888) {
+ width = ptr->width;
+ height = ptr->height;
+ foundCfg = true;
+ // Always use the 1st available configuration
+ break;
+ }
+ ++ptr;
+ }
+ }
+
+ if (!foundCfg) {
+ LOG(INFO) << "No configuration found. Use default stream configurations.";
+ }
+
+ // Allocate buffers to use
+ hidl_vec<BufferDesc> buffers;
+ buffers.resize(kBuffersToHold);
+ for (auto i = 0; i < kBuffersToHold; ++i) {
+ unsigned pixelsPerLine;
+ buffer_handle_t memHandle = nullptr;
+ android::status_t result =
+ alloc.allocate(width, height, format, 1, usage, &memHandle, &pixelsPerLine, 0,
+ "CameraStreamExternalBufferingTest");
+ if (result != android::NO_ERROR) {
+ LOG(ERROR) << __FUNCTION__ << " failed to allocate memory.";
+ // Release previous allocated buffers
+ for (auto j = 0; j < i; j++) {
+ alloc.free(buffers[i].buffer.nativeHandle);
+ }
+ return;
+ } else {
+ BufferDesc buf;
+ AHardwareBuffer_Desc* pDesc =
+ reinterpret_cast<AHardwareBuffer_Desc*>(&buf.buffer.description);
+ pDesc->width = width;
+ pDesc->height = height;
+ pDesc->layers = 1;
+ pDesc->format = format;
+ pDesc->usage = usage;
+ pDesc->stride = pixelsPerLine;
+ buf.buffer.nativeHandle = memHandle;
+ buf.bufferId = i; // Unique number to identify this buffer
+ buffers[i] = buf;
+ }
+ }
+
bool isLogicalCam = false;
getPhysicalCameraIds(cam.v1.cameraId, isLogicalCam);
@@ -2374,13 +2400,12 @@
// Explicitly release the camera
pEnumerator->closeCamera(pCam);
activeCameras.clear();
+ // Release buffers
+ for (auto& b : buffers) {
+ alloc.free(b.buffer.nativeHandle);
+ }
+ buffers.resize(0);
}
-
- // Release buffers
- for (auto& b : buffers) {
- alloc.free(b.buffer.nativeHandle);
- }
- buffers.resize(0);
}
diff --git a/tv/tuner/1.1/default/Filter.cpp b/tv/tuner/1.1/default/Filter.cpp
index 7d609ea..e0c785e 100644
--- a/tv/tuner/1.1/default/Filter.cpp
+++ b/tv/tuner/1.1/default/Filter.cpp
@@ -532,7 +532,7 @@
return mTpid;
}
-void Filter::updateFilterOutput(vector<uint8_t> data) {
+void Filter::updateFilterOutput(const vector<uint8_t>& data) {
std::lock_guard<std::mutex> lock(mFilterOutputLock);
mFilterOutput.insert(mFilterOutput.end(), data.begin(), data.end());
}
@@ -542,7 +542,7 @@
mPts = pts;
}
-void Filter::updateRecordOutput(vector<uint8_t> data) {
+void Filter::updateRecordOutput(const vector<uint8_t>& data) {
std::lock_guard<std::mutex> lock(mRecordFilterOutputLock);
mRecordFilterOutput.insert(mRecordFilterOutput.end(), data.begin(), data.end());
}
@@ -689,9 +689,7 @@
Result result;
if (mPts) {
result = createMediaFilterEventWithIon(mFilterOutput);
- if (result == Result::SUCCESS) {
- mFilterOutput.clear();
- }
+ mFilterOutput.clear();
return result;
}
@@ -729,6 +727,7 @@
}
result = createMediaFilterEventWithIon(mPesOutput);
+ mPesOutput.clear();
if (result != Result::SUCCESS) {
return result;
}
@@ -739,7 +738,7 @@
return Result::SUCCESS;
}
-Result Filter::createMediaFilterEventWithIon(vector<uint8_t> output) {
+Result Filter::createMediaFilterEventWithIon(const vector<uint8_t>& output) {
if (mUsingSharedAvMem) {
if (mSharedAvMemHandle.getNativeHandle() == nullptr) {
return Result::UNKNOWN_ERROR;
@@ -793,7 +792,7 @@
return Result::SUCCESS;
}
-bool Filter::writeSectionsAndCreateEvent(vector<uint8_t> data) {
+bool Filter::writeSectionsAndCreateEvent(const vector<uint8_t>& data) {
// TODO check how many sections has been read
ALOGD("[Filter] section handler");
std::lock_guard<std::mutex> lock(mFilterEventLock);
@@ -874,7 +873,7 @@
return nativeHandle;
}
-Result Filter::createIndependentMediaEvents(vector<uint8_t> output) {
+Result Filter::createIndependentMediaEvents(const vector<uint8_t>& output) {
int av_fd = createAvIonFd(output.size());
if (av_fd == -1) {
return Result::UNKNOWN_ERROR;
@@ -912,8 +911,6 @@
mFilterEvent.events.resize(size + 1);
mFilterEvent.events[size].media(mediaEvent);
- // Clear and log
- output.clear();
mAvBufferCopyCount = 0;
::close(av_fd);
if (DEBUG_FILTER) {
@@ -922,7 +919,7 @@
return Result::SUCCESS;
}
-Result Filter::createShareMemMediaEvents(vector<uint8_t> output) {
+Result Filter::createShareMemMediaEvents(const vector<uint8_t>& output) {
// copy the filtered data to the shared buffer
uint8_t* sharedAvBuffer = getIonBuffer(mSharedAvMemHandle.getNativeHandle()->data[0],
output.size() + mSharedAvMemOffset);
@@ -955,8 +952,6 @@
mFilterEvent.events.resize(size + 1);
mFilterEvent.events[size].media(mediaEvent);
- // Clear and log
- output.clear();
if (DEBUG_FILTER) {
ALOGD("[Filter] shared av data length %d", mediaEvent.dataLength);
}
diff --git a/tv/tuner/1.1/default/Filter.h b/tv/tuner/1.1/default/Filter.h
index 659bebf..1ea2f51 100644
--- a/tv/tuner/1.1/default/Filter.h
+++ b/tv/tuner/1.1/default/Filter.h
@@ -93,8 +93,8 @@
*/
bool createFilterMQ();
uint16_t getTpid();
- void updateFilterOutput(vector<uint8_t> data);
- void updateRecordOutput(vector<uint8_t> data);
+ void updateFilterOutput(const vector<uint8_t>& data);
+ void updateRecordOutput(const vector<uint8_t>& data);
void updatePts(uint64_t pts);
Result startFilterHandler();
Result startRecordFilterHandler();
@@ -177,7 +177,7 @@
void deleteEventFlag();
bool writeDataToFilterMQ(const std::vector<uint8_t>& data);
bool readDataFromMQ();
- bool writeSectionsAndCreateEvent(vector<uint8_t> data);
+ bool writeSectionsAndCreateEvent(const vector<uint8_t>& data);
void maySendFilterStatusCallback();
DemuxFilterStatus checkFilterStatusChange(uint32_t availableToWrite, uint32_t availableToRead,
uint32_t highThreshold, uint32_t lowThreshold);
@@ -193,9 +193,9 @@
int createAvIonFd(int size);
uint8_t* getIonBuffer(int fd, int size);
native_handle_t* createNativeHandle(int fd);
- Result createMediaFilterEventWithIon(vector<uint8_t> output);
- Result createIndependentMediaEvents(vector<uint8_t> output);
- Result createShareMemMediaEvents(vector<uint8_t> output);
+ Result createMediaFilterEventWithIon(const vector<uint8_t>& output);
+ Result createIndependentMediaEvents(const vector<uint8_t>& output);
+ Result createShareMemMediaEvents(const vector<uint8_t>& output);
bool sameFile(int fd1, int fd2);
DemuxFilterEvent createMediaEvent();
diff --git a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterTypeDemuxFilterSubType.aidl b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterSubType.aidl
similarity index 97%
rename from tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterTypeDemuxFilterSubType.aidl
rename to tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterSubType.aidl
index 2aa3a89..2e2a774 100644
--- a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterTypeDemuxFilterSubType.aidl
+++ b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterSubType.aidl
@@ -34,7 +34,7 @@
package android.hardware.tv.tuner;
/* @hide */
@VintfStability
-union DemuxFilterTypeDemuxFilterSubType {
+union DemuxFilterSubType {
android.hardware.tv.tuner.DemuxTsFilterType tsFilterType = android.hardware.tv.tuner.DemuxTsFilterType.UNDEFINED;
android.hardware.tv.tuner.DemuxMmtpFilterType mmtpFilterType;
android.hardware.tv.tuner.DemuxIpFilterType ipFilterType;
diff --git a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterType.aidl b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterType.aidl
index 14f9202..b2f499d 100644
--- a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterType.aidl
+++ b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterType.aidl
@@ -36,5 +36,5 @@
@VintfStability
parcelable DemuxFilterType {
android.hardware.tv.tuner.DemuxFilterMainType mainType = android.hardware.tv.tuner.DemuxFilterMainType.UNDEFINED;
- android.hardware.tv.tuner.DemuxFilterTypeDemuxFilterSubType subType;
+ android.hardware.tv.tuner.DemuxFilterSubType subType;
}
diff --git a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/FrontendGuardInterval.aidl b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/FrontendGuardInterval.aidl
index 3d99633..15c738a 100644
--- a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/FrontendGuardInterval.aidl
+++ b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/FrontendGuardInterval.aidl
@@ -36,6 +36,6 @@
@VintfStability
union FrontendGuardInterval {
android.hardware.tv.tuner.FrontendDvbtGuardInterval dvbt = android.hardware.tv.tuner.FrontendDvbtGuardInterval.UNDEFINED;
- android.hardware.tv.tuner.FrontendDvbtGuardInterval isdbt;
+ android.hardware.tv.tuner.FrontendIsdbtGuardInterval isdbt;
android.hardware.tv.tuner.FrontendDtmbGuardInterval dtmb;
}
diff --git a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/FrontendIsdbtSettings.aidl b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/FrontendIsdbtSettings.aidl
index 5fcdf36..ffd30ef 100644
--- a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/FrontendIsdbtSettings.aidl
+++ b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/FrontendIsdbtSettings.aidl
@@ -41,7 +41,7 @@
android.hardware.tv.tuner.FrontendIsdbtModulation modulation = android.hardware.tv.tuner.FrontendIsdbtModulation.UNDEFINED;
android.hardware.tv.tuner.FrontendIsdbtBandwidth bandwidth = android.hardware.tv.tuner.FrontendIsdbtBandwidth.UNDEFINED;
android.hardware.tv.tuner.FrontendIsdbtMode mode = android.hardware.tv.tuner.FrontendIsdbtMode.UNDEFINED;
- android.hardware.tv.tuner.FrontendDvbtCoderate coderate = android.hardware.tv.tuner.FrontendDvbtCoderate.UNDEFINED;
- android.hardware.tv.tuner.FrontendDvbtGuardInterval guardInterval = android.hardware.tv.tuner.FrontendDvbtGuardInterval.UNDEFINED;
+ android.hardware.tv.tuner.FrontendIsdbtCoderate coderate = android.hardware.tv.tuner.FrontendIsdbtCoderate.UNDEFINED;
+ android.hardware.tv.tuner.FrontendIsdbtGuardInterval guardInterval = android.hardware.tv.tuner.FrontendIsdbtGuardInterval.UNDEFINED;
int serviceAreaId;
}
diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterTypeDemuxFilterSubType.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterSubType.aidl
similarity index 94%
rename from tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterTypeDemuxFilterSubType.aidl
rename to tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterSubType.aidl
index cf1a59c..3dfc0ae 100644
--- a/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterTypeDemuxFilterSubType.aidl
+++ b/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterSubType.aidl
@@ -23,10 +23,11 @@
import android.hardware.tv.tuner.DemuxTsFilterType;
/**
+ * The different Demux Filter Sub Types.
* @hide
*/
@VintfStability
-union DemuxFilterTypeDemuxFilterSubType {
+union DemuxFilterSubType {
DemuxTsFilterType tsFilterType = DemuxTsFilterType.UNDEFINED;
DemuxMmtpFilterType mmtpFilterType;
diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterType.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterType.aidl
index 38348b6..f5eda60 100644
--- a/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterType.aidl
+++ b/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterType.aidl
@@ -17,7 +17,7 @@
package android.hardware.tv.tuner;
import android.hardware.tv.tuner.DemuxFilterMainType;
-import android.hardware.tv.tuner.DemuxFilterTypeDemuxFilterSubType;
+import android.hardware.tv.tuner.DemuxFilterSubType;
/**
* Demux Filter Type.
@@ -27,5 +27,5 @@
parcelable DemuxFilterType {
DemuxFilterMainType mainType = DemuxFilterMainType.UNDEFINED;
- DemuxFilterTypeDemuxFilterSubType subType;
+ DemuxFilterSubType subType;
}
diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/FrontendGuardInterval.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/FrontendGuardInterval.aidl
index 3893523..cf82921 100644
--- a/tv/tuner/aidl/android/hardware/tv/tuner/FrontendGuardInterval.aidl
+++ b/tv/tuner/aidl/android/hardware/tv/tuner/FrontendGuardInterval.aidl
@@ -18,15 +18,17 @@
import android.hardware.tv.tuner.FrontendDvbtGuardInterval;
import android.hardware.tv.tuner.FrontendDtmbGuardInterval;
+import android.hardware.tv.tuner.FrontendIsdbtGuardInterval;
/**
+ * The different Guard Interval Types.
* @hide
*/
@VintfStability
union FrontendGuardInterval {
FrontendDvbtGuardInterval dvbt = FrontendDvbtGuardInterval.UNDEFINED;
- FrontendDvbtGuardInterval isdbt;
+ FrontendIsdbtGuardInterval isdbt;
FrontendDtmbGuardInterval dtmb;
}
diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtCapabilities.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtCapabilities.aidl
index 1480906..4b764ad 100644
--- a/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtCapabilities.aidl
+++ b/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtCapabilities.aidl
@@ -38,12 +38,12 @@
int modulationCap;
/**
- * Code Rates defined by FrontendDvbtCoderate.
+ * Code Rates defined by FrontendIsdbtCoderate.
*/
int coderateCap;
/**
- * Guard Interval Types defined by FrontendDvbtGuardInterval.
+ * Guard Interval Types defined by FrontendIsdbtGuardInterval.
*/
int guardIntervalCap;
}
diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtCoderate.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtCoderate.aidl
index 0a857b1..ee229c5 100644
--- a/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtCoderate.aidl
+++ b/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtCoderate.aidl
@@ -17,7 +17,7 @@
package android.hardware.tv.tuner;
/**
- * Hierarchy Type for ISDBT.
+ * Code Rate for ISDBT.
* @hide
*/
@VintfStability
diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtSettings.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtSettings.aidl
index 73d935a..ffa8845 100644
--- a/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtSettings.aidl
+++ b/tv/tuner/aidl/android/hardware/tv/tuner/FrontendIsdbtSettings.aidl
@@ -16,9 +16,9 @@
package android.hardware.tv.tuner;
-import android.hardware.tv.tuner.FrontendDvbtCoderate;
-import android.hardware.tv.tuner.FrontendDvbtGuardInterval;
import android.hardware.tv.tuner.FrontendIsdbtBandwidth;
+import android.hardware.tv.tuner.FrontendIsdbtCoderate;
+import android.hardware.tv.tuner.FrontendIsdbtGuardInterval;
import android.hardware.tv.tuner.FrontendIsdbtMode;
import android.hardware.tv.tuner.FrontendIsdbtModulation;
import android.hardware.tv.tuner.FrontendSpectralInversion;
@@ -47,9 +47,9 @@
FrontendIsdbtMode mode = FrontendIsdbtMode.UNDEFINED;
- FrontendDvbtCoderate coderate = FrontendDvbtCoderate.UNDEFINED;
+ FrontendIsdbtCoderate coderate = FrontendIsdbtCoderate.UNDEFINED;
- FrontendDvbtGuardInterval guardInterval = FrontendDvbtGuardInterval.UNDEFINED;
+ FrontendIsdbtGuardInterval guardInterval = FrontendIsdbtGuardInterval.UNDEFINED;
int serviceAreaId;
}
diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl
index f881082..ab8b0b8 100644
--- a/tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl
+++ b/tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl
@@ -22,7 +22,6 @@
import android.hardware.tv.tuner.IDescrambler;
import android.hardware.tv.tuner.IFrontend;
import android.hardware.tv.tuner.ILnb;
-import android.hardware.tv.tuner.FrontendDtmbCapabilities;
/**
* Top level interface to manage Frontend, Demux and Decrambler hardware
diff --git a/tv/tuner/aidl/default/Dvr.cpp b/tv/tuner/aidl/default/Dvr.cpp
index 51cb1e0..9eadb8c 100644
--- a/tv/tuner/aidl/default/Dvr.cpp
+++ b/tv/tuner/aidl/default/Dvr.cpp
@@ -253,7 +253,8 @@
bool Dvr::readPlaybackFMQ(bool isVirtualFrontend, bool isRecording) {
// Read playback data from the input FMQ
int size = mDvrMQ->availableToRead();
- int playbackPacketSize = mDvrSettings.get<DvrSettings::Tag::playback>().packetSize;
+ uint8_t playbackPacketSize =
+ static_cast<uint8_t>(mDvrSettings.get<DvrSettings::Tag::playback>().packetSize);
vector<int8_t> dataOutputBuffer;
dataOutputBuffer.resize(playbackPacketSize);
// Dispatch the packet to the PID matching filter output buffer
diff --git a/tv/tuner/aidl/default/Filter.cpp b/tv/tuner/aidl/default/Filter.cpp
index dd9bee3..77ca2ee 100644
--- a/tv/tuner/aidl/default/Filter.cpp
+++ b/tv/tuner/aidl/default/Filter.cpp
@@ -46,29 +46,29 @@
switch (mType.mainType) {
case DemuxFilterMainType::TS:
- if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
+ if (mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
DemuxTsFilterType::AUDIO ||
- mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
+ mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
DemuxTsFilterType::VIDEO) {
mIsMediaFilter = true;
}
- if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
+ if (mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
DemuxTsFilterType::PCR) {
mIsPcrFilter = true;
}
- if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
+ if (mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
DemuxTsFilterType::RECORD) {
mIsRecordFilter = true;
}
break;
case DemuxFilterMainType::MMTP:
- if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
+ if (mType.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
DemuxMmtpFilterType::AUDIO ||
- mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
+ mType.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
DemuxMmtpFilterType::VIDEO) {
mIsMediaFilter = true;
}
- if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
+ if (mType.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
DemuxMmtpFilterType::RECORD) {
mIsRecordFilter = true;
}
@@ -519,7 +519,7 @@
return mTpid;
}
-void Filter::updateFilterOutput(vector<int8_t> data) {
+void Filter::updateFilterOutput(vector<int8_t>& data) {
std::lock_guard<std::mutex> lock(mFilterOutputLock);
mFilterOutput.insert(mFilterOutput.end(), data.begin(), data.end());
}
@@ -529,7 +529,7 @@
mPts = pts;
}
-void Filter::updateRecordOutput(vector<int8_t> data) {
+void Filter::updateRecordOutput(vector<int8_t>& data) {
std::lock_guard<std::mutex> lock(mRecordFilterOutputLock);
mRecordFilterOutput.insert(mRecordFilterOutput.end(), data.begin(), data.end());
}
@@ -538,7 +538,7 @@
std::lock_guard<std::mutex> lock(mFilterOutputLock);
switch (mType.mainType) {
case DemuxFilterMainType::TS:
- switch (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>()) {
+ switch (mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>()) {
case DemuxTsFilterType::UNDEFINED:
break;
case DemuxTsFilterType::SECTION:
diff --git a/tv/tuner/aidl/default/Filter.h b/tv/tuner/aidl/default/Filter.h
index 7a037e6..4bb1a72 100644
--- a/tv/tuner/aidl/default/Filter.h
+++ b/tv/tuner/aidl/default/Filter.h
@@ -83,8 +83,8 @@
*/
bool createFilterMQ();
uint16_t getTpid();
- void updateFilterOutput(vector<int8_t> data);
- void updateRecordOutput(vector<int8_t> data);
+ void updateFilterOutput(vector<int8_t>& data);
+ void updateRecordOutput(vector<int8_t>& data);
void updatePts(uint64_t pts);
::ndk::ScopedAStatus startFilterHandler();
::ndk::ScopedAStatus startRecordFilterHandler();
diff --git a/tv/tuner/aidl/default/Frontend.cpp b/tv/tuner/aidl/default/Frontend.cpp
index 7f7b989..438f897 100644
--- a/tv/tuner/aidl/default/Frontend.cpp
+++ b/tv/tuner/aidl/default/Frontend.cpp
@@ -532,7 +532,7 @@
}
case FrontendType::ISDBT: {
interval.set<FrontendGuardInterval::Tag::isdbt>(
- FrontendDvbtGuardInterval::INTERVAL_1_32); // value = 1 << 1
+ FrontendIsdbtGuardInterval::INTERVAL_1_32); // value = 1 << 1
status.set<FrontendStatus::interval>(interval);
break;
}
diff --git a/tv/tuner/aidl/default/Tuner.cpp b/tv/tuner/aidl/default/Tuner.cpp
index 8335ffa..94c90a7 100644
--- a/tv/tuner/aidl/default/Tuner.cpp
+++ b/tv/tuner/aidl/default/Tuner.cpp
@@ -114,10 +114,9 @@
.modeCap = (int)FrontendIsdbtMode::MODE_1 | (int)FrontendIsdbtMode::MODE_2,
.bandwidthCap = (int)FrontendIsdbtBandwidth::BANDWIDTH_6MHZ,
.modulationCap = (int)FrontendIsdbtModulation::MOD_16QAM,
- // ISDBT shares coderate and guard interval with DVBT
- .coderateCap = (int)FrontendDvbtCoderate::CODERATE_4_5 |
- (int)FrontendDvbtCoderate::CODERATE_6_7,
- .guardIntervalCap = (int)FrontendDvbtGuardInterval::INTERVAL_1_128,
+ .coderateCap = (int)FrontendIsdbtCoderate::CODERATE_4_5 |
+ (int)FrontendIsdbtCoderate::CODERATE_6_7,
+ .guardIntervalCap = (int)FrontendIsdbtGuardInterval::INTERVAL_1_128,
};
capsIsdbt.set<FrontendCapabilities::Tag::isdbtCaps>(isdbtCaps);
mFrontendCaps[5] = capsIsdbt;
diff --git a/tv/tuner/aidl/vts/functional/DescramblerTests.cpp b/tv/tuner/aidl/vts/functional/DescramblerTests.cpp
index e0ee391..157fa04 100644
--- a/tv/tuner/aidl/vts/functional/DescramblerTests.cpp
+++ b/tv/tuner/aidl/vts/functional/DescramblerTests.cpp
@@ -175,9 +175,9 @@
DemuxPid& pid) {
switch (type.mainType) {
case DemuxFilterMainType::TS:
- if (type.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
+ if (type.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
DemuxTsFilterType::AUDIO ||
- type.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
+ type.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
DemuxTsFilterType::VIDEO) {
pid.set<DemuxPid::Tag::tPid>(settings.get<DemuxFilterSettings::Tag::ts>().tpid);
} else {
@@ -186,9 +186,9 @@
}
break;
case DemuxFilterMainType::MMTP:
- if (type.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
+ if (type.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
DemuxMmtpFilterType::AUDIO ||
- type.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
+ type.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
DemuxMmtpFilterType::VIDEO) {
pid.set<DemuxPid::Tag::mmtpPid>(
settings.get<DemuxFilterSettings::Tag::mmtp>().mmtpPid);
diff --git a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.h b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.h
index e5cee76..13c5a80 100644
--- a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.h
+++ b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.h
@@ -146,23 +146,23 @@
type.mainType = static_cast<DemuxFilterMainType>(1 << bit);
switch (type.mainType) {
case DemuxFilterMainType::TS:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::UNDEFINED);
break;
case DemuxFilterMainType::MMTP:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::UNDEFINED);
break;
case DemuxFilterMainType::IP:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
DemuxIpFilterType::UNDEFINED);
break;
case DemuxFilterMainType::TLV:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tlvFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tlvFilterType>(
DemuxTlvFilterType::UNDEFINED);
break;
case DemuxFilterMainType::ALP:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::alpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::alpFilterType>(
DemuxAlpFilterType::UNDEFINED);
break;
default:
diff --git a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h
index 1ddb641..b4fb54f 100644
--- a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h
+++ b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h
@@ -119,9 +119,8 @@
string defaultVideoFilterId = "FILTER_VIDEO_DEFAULT";
filterMap[defaultVideoFilterId].type.mainType = DemuxFilterMainType::TS;
- filterMap[defaultVideoFilterId]
- .type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
- DemuxTsFilterType::VIDEO);
+ filterMap[defaultVideoFilterId].type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
+ DemuxTsFilterType::VIDEO);
filterMap[defaultVideoFilterId].bufferSize = FMQ_SIZE_16M;
filterMap[defaultVideoFilterId].settings =
DemuxFilterSettings::make<DemuxFilterSettings::Tag::ts>();
@@ -138,9 +137,8 @@
VideoStreamType::MPEG1);
filterMap[defaultAudioFilterId].type.mainType = DemuxFilterMainType::TS;
- filterMap[defaultAudioFilterId]
- .type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
- DemuxTsFilterType::AUDIO);
+ filterMap[defaultAudioFilterId].type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
+ DemuxTsFilterType::AUDIO);
filterMap[defaultAudioFilterId].bufferSize = FMQ_SIZE_16M;
filterMap[defaultAudioFilterId].settings =
DemuxFilterSettings::make<DemuxFilterSettings::Tag::ts>();
diff --git a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h
index 8525b4f..2d7be9e 100644
--- a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h
+++ b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h
@@ -689,11 +689,11 @@
bool isTsSet = false;
switch (subType) {
case FilterSubTypeEnum::UNDEFINED:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::UNDEFINED);
break;
case FilterSubTypeEnum::SECTION:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::SECTION);
ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::section>(
readSectionFilterSettings(filterConfig));
@@ -701,46 +701,46 @@
break;
case FilterSubTypeEnum::PES:
// TODO: b/182519645 support all the filter settings
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::PES);
break;
case FilterSubTypeEnum::TS:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::TS);
ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::noinit>(
true);
isTsSet = true;
break;
case FilterSubTypeEnum::PCR:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::PCR);
ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::noinit>(
true);
isTsSet = true;
break;
case FilterSubTypeEnum::TEMI:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::TEMI);
ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::noinit>(
true);
isTsSet = true;
break;
case FilterSubTypeEnum::AUDIO:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::AUDIO);
ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::av>(
readAvFilterSettings(filterConfig));
isTsSet = true;
break;
case FilterSubTypeEnum::VIDEO:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::VIDEO);
ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::av>(
readAvFilterSettings(filterConfig));
isTsSet = true;
break;
case FilterSubTypeEnum::RECORD:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
DemuxTsFilterType::RECORD);
ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::record>(
readRecordFilterSettings(filterConfig));
@@ -766,11 +766,11 @@
bool isMmtpSet = false;
switch (subType) {
case FilterSubTypeEnum::UNDEFINED:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::UNDEFINED);
break;
case FilterSubTypeEnum::SECTION:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::SECTION);
mmtp.filterSettings
.set<DemuxMmtpFilterSettingsFilterSettings::Tag::section>(
@@ -778,40 +778,40 @@
isMmtpSet = true;
break;
case FilterSubTypeEnum::PES:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::PES);
// TODO: b/182519645 support all the filter settings
break;
case FilterSubTypeEnum::MMTP:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::MMTP);
mmtp.filterSettings.set<DemuxMmtpFilterSettingsFilterSettings::Tag::noinit>(
true);
isMmtpSet = true;
break;
case FilterSubTypeEnum::AUDIO:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::AUDIO);
mmtp.filterSettings.set<DemuxMmtpFilterSettingsFilterSettings::Tag::av>(
readAvFilterSettings(filterConfig));
isMmtpSet = true;
break;
case FilterSubTypeEnum::VIDEO:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::VIDEO);
mmtp.filterSettings.set<DemuxMmtpFilterSettingsFilterSettings::Tag::av>(
readAvFilterSettings(filterConfig));
isMmtpSet = true;
break;
case FilterSubTypeEnum::RECORD:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::RECORD);
mmtp.filterSettings.set<DemuxMmtpFilterSettingsFilterSettings::Tag::record>(
readRecordFilterSettings(filterConfig));
isMmtpSet = true;
break;
case FilterSubTypeEnum::DOWNLOAD:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
DemuxMmtpFilterType::DOWNLOAD);
// TODO: b/182519645 support all the filter settings
break;
@@ -834,18 +834,18 @@
DemuxIpFilterSettings ip;
switch (subType) {
case FilterSubTypeEnum::UNDEFINED:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
DemuxIpFilterType::UNDEFINED);
break;
case FilterSubTypeEnum::SECTION:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
DemuxIpFilterType::SECTION);
ip.filterSettings.set<DemuxIpFilterSettingsFilterSettings::Tag::section>(
readSectionFilterSettings(filterConfig));
settings.set<DemuxFilterSettings::Tag::ip>(ip);
break;
case FilterSubTypeEnum::NTP:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
DemuxIpFilterType::NTP);
ip.filterSettings.set<DemuxIpFilterSettingsFilterSettings::Tag::noinit>(
true);
@@ -860,14 +860,14 @@
break;
}
case FilterSubTypeEnum::IP_PAYLOAD:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
DemuxIpFilterType::IP_PAYLOAD);
ip.filterSettings.set<DemuxIpFilterSettingsFilterSettings::Tag::noinit>(
true);
settings.set<DemuxFilterSettings::Tag::ip>(ip);
break;
case FilterSubTypeEnum::PAYLOAD_THROUGH:
- type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
+ type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
DemuxIpFilterType::PAYLOAD_THROUGH);
ip.filterSettings.set<DemuxIpFilterSettingsFilterSettings::Tag::noinit>(
true);