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

Commit 5a49885b authored by Amy Zhang's avatar Amy Zhang Committed by Android (Google) Code Review
Browse files

Merge "Refactoring the Dvr data flow tests in the Tuner VTS" into rvc-dev

parents 7a63ec77 a305c1c5
Loading
Loading
Loading
Loading
+9 −7
Original line number Original line Diff line number Diff line
@@ -73,18 +73,22 @@ Return<Result> Filter::configure(const DemuxFilterSettings& settings) {
    switch (mType.mainType) {
    switch (mType.mainType) {
        case DemuxFilterMainType::TS:
        case DemuxFilterMainType::TS:
            mTpid = settings.ts().tpid;
            mTpid = settings.ts().tpid;
            if (mType.subType.tsFilterType() == DemuxTsFilterType::AUDIO ||
                mType.subType.tsFilterType() == DemuxTsFilterType::VIDEO) {
                mIsMediaFilter = true;
            }
            break;
            break;
        case DemuxFilterMainType::MMTP:
        case DemuxFilterMainType::MMTP:
            /*mmtpSettings*/
            if (mType.subType.mmtpFilterType() == DemuxMmtpFilterType::AUDIO ||
                mType.subType.mmtpFilterType() == DemuxMmtpFilterType::VIDEO) {
                mIsMediaFilter = true;
            }
            break;
            break;
        case DemuxFilterMainType::IP:
        case DemuxFilterMainType::IP:
            /*ipSettings*/
            break;
            break;
        case DemuxFilterMainType::TLV:
        case DemuxFilterMainType::TLV:
            /*tlvSettings*/
            break;
            break;
        case DemuxFilterMainType::ALP:
        case DemuxFilterMainType::ALP:
            /*alpSettings*/
            break;
            break;
        default:
        default:
            break;
            break;
@@ -241,9 +245,7 @@ void Filter::filterThreadLoop() {
}
}


void Filter::freeAvHandle() {
void Filter::freeAvHandle() {
    if (mType.mainType != DemuxFilterMainType::TS ||
    if (!mIsMediaFilter) {
        (mType.subType.tsFilterType() == DemuxTsFilterType::AUDIO &&
         mType.subType.tsFilterType() == DemuxTsFilterType::VIDEO)) {
        return;
        return;
    }
    }
    for (int i = 0; i < mFilterEvent.events.size(); i++) {
    for (int i = 0; i < mFilterEvent.events.size(); i++) {
+1 −0
Original line number Original line Diff line number Diff line
@@ -103,6 +103,7 @@ class Filter : public IFilter {
    uint32_t mFilterId;
    uint32_t mFilterId;
    uint32_t mBufferSize;
    uint32_t mBufferSize;
    DemuxFilterType mType;
    DemuxFilterType mType;
    bool mIsMediaFilter = false;
    DemuxFilterSettings mFilterSettings;
    DemuxFilterSettings mFilterSettings;


    uint16_t mTpid;
    uint16_t mTpid;
+3 −3
Original line number Original line Diff line number Diff line
@@ -186,14 +186,14 @@ void DvrCallback::stopRecordThread() {
    android::Mutex::Autolock autoLock(mRecordThreadLock);
    android::Mutex::Autolock autoLock(mRecordThreadLock);
}
}


AssertionResult DvrTests::openDvrInDemux(DvrType type) {
AssertionResult DvrTests::openDvrInDemux(DvrType type, uint32_t bufferSize) {
    Result status;
    Result status;
    EXPECT_TRUE(mDemux) << "Test with openDemux first.";
    EXPECT_TRUE(mDemux) << "Test with openDemux first.";


    // Create dvr callback
    // Create dvr callback
    mDvrCallback = new DvrCallback();
    mDvrCallback = new DvrCallback();


    mDemux->openDvr(type, FMQ_SIZE_1M, mDvrCallback, [&](Result result, const sp<IDvr>& dvr) {
    mDemux->openDvr(type, bufferSize, mDvrCallback, [&](Result result, const sp<IDvr>& dvr) {
        mDvr = dvr;
        mDvr = dvr;
        status = result;
        status = result;
    });
    });
+3 −3
Original line number Original line Diff line number Diff line
@@ -146,7 +146,7 @@ class DvrTests {
    void setService(sp<ITuner> tuner) { mService = tuner; }
    void setService(sp<ITuner> tuner) { mService = tuner; }
    void setDemux(sp<IDemux> demux) { mDemux = demux; }
    void setDemux(sp<IDemux> demux) { mDemux = demux; }


    void startPlaybackInputThread(string dataInputFile, PlaybackSettings settings) {
    void startPlaybackInputThread(string& dataInputFile, PlaybackSettings& settings) {
        PlaybackConf conf{
        PlaybackConf conf{
                .inputDataFile = dataInputFile,
                .inputDataFile = dataInputFile,
                .setting = settings,
                .setting = settings,
@@ -162,7 +162,7 @@ class DvrTests {
    void testRecordOutput() { mDvrCallback->testRecordOutput(); }
    void testRecordOutput() { mDvrCallback->testRecordOutput(); }
    void stopRecordThread() { mDvrCallback->stopPlaybackThread(); }
    void stopRecordThread() { mDvrCallback->stopPlaybackThread(); }


    AssertionResult openDvrInDemux(DvrType type);
    AssertionResult openDvrInDemux(DvrType type, uint32_t bufferSize);
    AssertionResult configDvr(DvrSettings setting);
    AssertionResult configDvr(DvrSettings setting);
    AssertionResult getDvrMQDescriptor();
    AssertionResult getDvrMQDescriptor();
    AssertionResult attachFilterToDvr(sp<IFilter> filter);
    AssertionResult attachFilterToDvr(sp<IFilter> filter);
+3 −3
Original line number Original line Diff line number Diff line
@@ -128,7 +128,7 @@ bool FilterCallback::dumpAvData(DemuxFilterMediaEvent event) {
    return true;
    return true;
}
}


AssertionResult FilterTests::openFilterInDemux(DemuxFilterType type) {
AssertionResult FilterTests::openFilterInDemux(DemuxFilterType type, uint32_t bufferSize) {
    Result status;
    Result status;
    EXPECT_TRUE(mDemux) << "Test with openDemux first.";
    EXPECT_TRUE(mDemux) << "Test with openDemux first.";


@@ -136,7 +136,7 @@ AssertionResult FilterTests::openFilterInDemux(DemuxFilterType type) {
    mFilterCallback = new FilterCallback();
    mFilterCallback = new FilterCallback();


    // Add filter to the local demux
    // Add filter to the local demux
    mDemux->openFilter(type, FMQ_SIZE_16M, mFilterCallback,
    mDemux->openFilter(type, bufferSize, mFilterCallback,
                       [&](Result result, const sp<IFilter>& filter) {
                       [&](Result result, const sp<IFilter>& filter) {
                           mFilter = filter;
                           mFilter = filter;
                           status = result;
                           status = result;
Loading