zoneminder/src/zm_rtsp_server_adts_source.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

62 lines
1.8 KiB
C
Raw Normal View History

2021-01-25 09:16:54 +08:00
/* ---------------------------------------------------------------------------
** This software is in the public domain, furnished "as is", without technical
** support, and with no warranty, express or implied, as to its usefulness for
** any purpose.
**
** ADTS_ZoneMinderDeviceSource.h
**
** ADTS ZoneMinder live555 source
**
** -------------------------------------------------------------------------*/
#ifndef ZM_RTSP_SERVER_ADTS_SOURCE_H
#define ZM_RTSP_SERVER_ADTS_SOURCE_H
#include "zm_config.h"
#include "zm_rtsp_server_device_source.h"
2021-01-27 23:50:07 +08:00
#if HAVE_RTSP_SERVER
2021-01-25 09:16:54 +08:00
// ---------------------------------
// ADTS(AAC) ZoneMinder FramedSource
// ---------------------------------
class ADTS_ZoneMinderDeviceSource : public ZoneMinderDeviceSource {
public:
static ADTS_ZoneMinderDeviceSource* createNew(
UsageEnvironment& env,
std::shared_ptr<Monitor> monitor,
2021-01-25 09:16:54 +08:00
AVStream * stream,
unsigned int queueSize
) {
return new ADTS_ZoneMinderDeviceSource(env, std::move(monitor), stream, queueSize);
2021-01-25 09:16:54 +08:00
};
protected:
ADTS_ZoneMinderDeviceSource(
UsageEnvironment& env,
std::shared_ptr<Monitor> monitor,
2021-01-25 09:16:54 +08:00
AVStream *stream,
unsigned int queueSize
);
virtual ~ADTS_ZoneMinderDeviceSource() {}
/*
virtual unsigned char* extractFrame(unsigned char* frame, size_t& size, size_t& outsize);
virtual unsigned char* findMarker(unsigned char *frame, size_t size, size_t &length);
*/
public:
int samplingFrequency() { return m_stream->codecpar->sample_rate; };
2021-01-25 09:16:54 +08:00
const char *configStr() { return config.c_str(); };
int numChannels() {
return channels;
}
protected:
std::string config;
int samplingFrequencyIndex;
int channels;
};
#endif // HAVE_RTSP_SERVER
#endif // ZM_RTSP_SERVER_ADTS_SOURCE_H