p26001-store-acs-soc-fw-app/video/core/Frontend.h
2026-09-28 21:33:04 +08:00

63 lines
1.3 KiB
C++

#ifndef F4486E13_26A4_47A9_B4C0_193369C1A700
#define F4486E13_26A4_47A9_B4C0_193369C1A700
/*
*******************************************************************************
* INCLUDE
*******************************************************************************
*/
#include "VideoScanMode.h"
#include <Poco/BasicEvent.h>
namespace Video
{
namespace Core
{
/*
*******************************************************************************
* CLASS DECLARE
*******************************************************************************
*/
class Frontend
{
public:
using Ptr = Poco::SharedPtr<Frontend>;
struct MediaInfo
{
bool haveVideo;
bool haveAudio;
struct
{
uint32_t width;
uint32_t height;
uint32_t frameRate;
VideoScanMode scanMode;
} video;
struct
{
uint32_t sampleRate;
} audio;
};
public:
Poco::BasicEvent<MediaInfo> StatusChanged;
public:
Frontend(std::string name);
virtual ~Frontend();
std::string name();
virtual void read(MediaInfo& info) = 0;
protected:
void notifyStatusChanged();
void notifyStatusChanged(MediaInfo& info);
private:
std::string _name;
};
}
}
#endif