v4l2rtspserver/inc/H264_V4l2DeviceSource.h

34 lines
1.3 KiB
C
Raw Normal View History

/* ---------------------------------------------------------------------------
** 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.
**
** H264_V4l2DeviceSource.h
**
** H264 V4L2 live555 source
**
** -------------------------------------------------------------------------*/
#pragma once
// project
2022-10-23 09:00:00 +00:00
#include "H26x_V4l2DeviceSource.h"
2017-08-15 15:49:30 +00:00
class H264_V4L2DeviceSource : public H26X_V4L2DeviceSource
{
public:
2021-11-07 16:56:36 +00:00
static H264_V4L2DeviceSource* createNew(UsageEnvironment& env, DeviceInterface * device, int outputFd, unsigned int queueSize, CaptureMode captureMode, bool repeatConfig, bool keepMarker) {
return new H264_V4L2DeviceSource(env, device, outputFd, queueSize, captureMode, repeatConfig, keepMarker);
2017-08-15 15:49:30 +00:00
}
protected:
2021-11-07 16:56:36 +00:00
H264_V4L2DeviceSource(UsageEnvironment& env, DeviceInterface * device, int outputFd, unsigned int queueSize, CaptureMode captureMode, bool repeatConfig, bool keepMarker)
: H26X_V4L2DeviceSource(env, device, outputFd, queueSize, captureMode, repeatConfig, keepMarker) {}
2017-08-15 15:49:30 +00:00
// overide V4L2DeviceSource
2022-10-23 09:00:00 +00:00
virtual std::list< std::pair<unsigned char*,size_t> > splitFrames(unsigned char* frame, unsigned frameSize);
virtual std::list< std::string > getInitFrames();
2023-11-19 14:12:21 +00:00
virtual bool isKeyFrame(const char*, int);
2017-08-15 15:49:30 +00:00
};