40 lines
1.0 KiB
C++
40 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "IVrFFMediaPuller.h"
|
|
#include <atomic>
|
|
#include <mutex>
|
|
#include <memory>
|
|
|
|
#if !defined(FFMEDIA_PLATFORM_DUMMY)
|
|
#include "module/vi/module_rtspClient.hpp"
|
|
#include "module/vp/module_mppdec.hpp"
|
|
#include "module/vp/module_rga.hpp"
|
|
#endif
|
|
|
|
class CVrFFMediaPuller : public IVrFFMediaPuller
|
|
{
|
|
public:
|
|
CVrFFMediaPuller();
|
|
~CVrFFMediaPuller() override;
|
|
|
|
int Init(const VrFFPullConfig& config) override;
|
|
void SetFrameCallback(FFPulledFrameCallback callback) override;
|
|
int Start() override;
|
|
int Stop() override;
|
|
int UnInit() override;
|
|
bool IsStreaming() const override;
|
|
|
|
private:
|
|
VrFFPullConfig m_config;
|
|
std::atomic<bool> m_bStarted{false};
|
|
std::atomic<bool> m_bInited{false};
|
|
FFPulledFrameCallback m_callback;
|
|
std::mutex m_mutex;
|
|
|
|
#if !defined(FFMEDIA_PLATFORM_DUMMY)
|
|
std::shared_ptr<ModuleRtspClient> m_rtspClient;
|
|
std::shared_ptr<ModuleMppDec> m_decoder;
|
|
std::shared_ptr<ModuleRga> m_rga;
|
|
#endif
|
|
};
|