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

Commit 0fe25be0 authored by Amy Zhang's avatar Amy Zhang
Browse files

Make dvr tests a separate module

Test: atest VtsHalTvTunerV1_0TargetTest
Bug: 150989084
Change-Id: I35d717f357b176d5cbec5d154f4df30fd2c4a18e
parent 4f698057
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ Return<Result> Demux::setFrontendDataSource(uint32_t frontendId) {

    mTunerService->setFrontendAsDemuxSource(frontendId, mDemuxId);

    return startFrontendInputLoop();
    return Result::SUCCESS;
}

Return<void> Demux::openFilter(const DemuxFilterType& type, uint32_t bufferSize,
@@ -60,7 +60,6 @@ Return<void> Demux::openFilter(const DemuxFilterType& type, uint32_t bufferSize,
    ALOGV("%s", __FUNCTION__);

    uint32_t filterId;

    if (!mUnusedFilterIds.empty()) {
        filterId = *mUnusedFilterIds.begin();

@@ -83,7 +82,6 @@ Return<void> Demux::openFilter(const DemuxFilterType& type, uint32_t bufferSize,
        _hidl_cb(Result::UNKNOWN_ERROR, filter);
        return Void();
    }

    mFilters[filterId] = filter;

    _hidl_cb(Result::SUCCESS, filter);
@@ -234,11 +232,9 @@ uint16_t Demux::getFilterTpid(uint32_t filterId) {
    return mFilters[filterId]->getTpid();
}

Result Demux::startFrontendInputLoop() {
void Demux::startFrontendInputLoop() {
    pthread_create(&mFrontendInputThread, NULL, __threadLoopFrontend, this);
    pthread_setname_np(mFrontendInputThread, "frontend_input_thread");

    return Result::SUCCESS;
}

void* Demux::__threadLoopFrontend(void* user) {
+1 −1
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ class Demux : public IDemux {
    void updateFilterOutput(uint16_t filterId, vector<uint8_t> data);
    uint16_t getFilterTpid(uint32_t filterId);
    void setIsRecording(bool isRecording);
    void startFrontendInputLoop();

  private:
    // Tuner service
@@ -104,7 +105,6 @@ class Demux : public IDemux {
        uint32_t filterId;
    };

    Result startFrontendInputLoop();
    static void* __threadLoopFrontend(void* user);
    void frontendInputThreadLoop();

+1 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ Return<Result> Frontend::tune(const FrontendSettings& /* settings */) {
        return Result::INVALID_STATE;
    }

    mTunerService->frontendStartTune(mId);
    mCallback->onEvent(FrontendEventType::LOCKED);
    mIsLocked = false;
    return Result::SUCCESS;
+9 −0
Original line number Diff line number Diff line
@@ -236,6 +236,15 @@ void Tuner::frontendStopTune(uint32_t frontendId) {
    }
}

void Tuner::frontendStartTune(uint32_t frontendId) {
    map<uint32_t, uint32_t>::iterator it = mFrontendToDemux.find(frontendId);
    uint32_t demuxId;
    if (it != mFrontendToDemux.end()) {
        demuxId = it->second;
        mDemuxes[demuxId]->startFrontendInputLoop();
    }
}

}  // namespace implementation
}  // namespace V1_0
}  // namespace tuner
+1 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ class Tuner : public ITuner {

    void setFrontendAsDemuxSource(uint32_t frontendId, uint32_t demuxId);

    void frontendStartTune(uint32_t frontendId);
    void frontendStopTune(uint32_t frontendId);

  private:
Loading