Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11da2cb5 authored by Hongguang's avatar Hongguang
Browse files

Adjust tuner default implementation and VTS types size.

Bug: 195693712
Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Change-Id: Ie9d20c74b05ecc10333ca883fe38d26d78f33949
parent 22122b30
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -237,7 +237,7 @@ void Dvr::maySendPlaybackStatusCallback() {
}

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 @@ PlaybackStatus Dvr::checkPlaybackStatusChange(uint32_t availableToWrite, uint32_

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 @@ void Dvr::maySendRecordStatusCallback() {
}

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) {
+2 −2
Original line number Diff line number Diff line
@@ -101,9 +101,9 @@ class Dvr : public BnDvr {
    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.
+6 −7
Original line number Diff line number Diff line
@@ -646,8 +646,8 @@ void Filter::updateRecordOutput(vector<int8_t>& data) {
        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 @@ bool Filter::writeSectionsAndCreateEvent(vector<int8_t>& data) {
            .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 @@ native_handle_t* Filter::createNativeHandle(int fd) {
    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 @@ native_handle_t* Filter::createNativeHandle(int fd) {
    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;
+1 −1
Original line number Diff line number Diff line
@@ -221,7 +221,7 @@ class Filter : public BnFilter {
    // 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;
+7 −7
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ Frontend::~Frontend() {}
        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 @@ Frontend::~Frontend() {}

    {
        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 @@ Frontend::~Frontend() {}

    {
        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 @@ Frontend::~Frontend() {}
                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 @@ Frontend::~Frontend() {}
                break;
            }
            case FrontendStatusType::ISDBT_SEGMENTS: {
                vector<uint8_t> segments = {2, 3};
                vector<int32_t> segments = {2, 3};
                status.set<FrontendStatus::isdbtSegment>(segments);
                break;
            }
Loading