NvDecoderApi.cpp 2.61 KB
#include "NvDecoderApi.h"
#include "FFNvDecoder.h"

NvDecoderApi::NvDecoderApi(){
    m_pDecoder = nullptr;
}

NvDecoderApi::~NvDecoderApi(){
    if(m_pDecoder != nullptr){
        delete m_pDecoder;
        m_pDecoder = nullptr;
    }
}

bool NvDecoderApi::init(FFDecConfig& cfg){
    m_pDecoder = new FFNvDecoder();
    if(m_pDecoder != nullptr){
        return m_pDecoder->init(cfg);
    }
    return false;
}

void NvDecoderApi::close(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->close();
    }
}

bool NvDecoderApi::start(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->start();
    }
    return false;
}

void NvDecoderApi::pause(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->pause();
    }
}

void NvDecoderApi::resume(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->resume();
    }
}

void NvDecoderApi::setDecKeyframe(bool bKeyframe){
    if(m_pDecoder != nullptr){
        return m_pDecoder->setDecKeyframe(bKeyframe);
    }
}

bool NvDecoderApi::isRunning(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->isRunning();
    }
    return false;
}

bool NvDecoderApi::isFinished(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->isFinished();
    }
    return false;
}

bool NvDecoderApi::isPausing(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->isPausing();
    }
    return false;
}

bool NvDecoderApi::getResolution(int &width, int &height){
    if(m_pDecoder != nullptr){
        return m_pDecoder->getResolution(width, height);
    }
    return false;
}

bool NvDecoderApi::isSurport(FFDecConfig& cfg){
    if(m_pDecoder != nullptr){
        return m_pDecoder->isSurport(cfg);
    }
    return false;
}

float NvDecoderApi::fps(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->fps();
    }
    return 0.0;
}

int NvDecoderApi::getCachedQueueLength(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->getCachedQueueLength();
    }
    return 0;
}

void NvDecoderApi::setName(string nm){
    if(m_pDecoder != nullptr){
        return m_pDecoder->setName(nm);
    }
}

string NvDecoderApi::getName(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->getName();
    }
    return nullptr;
}

FFImgInfo* NvDecoderApi::snapshot(){
    if(m_pDecoder != nullptr){
        return m_pDecoder->snapshot();
    }
    return nullptr;
}

void NvDecoderApi::setPostDecArg(const void* postDecArg){
    if(m_pDecoder != nullptr){
        return m_pDecoder->setPostDecArg(postDecArg);
    }
}

void NvDecoderApi::setFinishedDecArg(const void* finishedDecArg){
    if(m_pDecoder != nullptr){
        return m_pDecoder->setFinishedDecArg(finishedDecArg);
    }
}