Video Recoding Buffer management

Implemented methods to supervise encoding in FrameGrabber, avoid running out of buffer, and give user a selection of buffer sizes for recording.
This commit is contained in:
Bruno
2021-08-08 23:58:35 +02:00
parent ddd9bb4e99
commit 5a18dbaf37
9 changed files with 161 additions and 91 deletions

View File

@@ -25,6 +25,8 @@ protected:
};
#define VIDEO_RECORDER_BUFFERING_NUM_PRESET 6
class VideoRecorder : public FrameGrabber
{
std::string filename_;
@@ -45,10 +47,13 @@ public:
JPEG_MULTI,
DEFAULT
} Profile;
static const char* profile_name[DEFAULT];
static const char* profile_name[DEFAULT];
static const std::vector<std::string> profile_description;
VideoRecorder();
static const char* buffering_preset_name[VIDEO_RECORDER_BUFFERING_NUM_PRESET];
static const guint64 buffering_preset_value[VIDEO_RECORDER_BUFFERING_NUM_PRESET];
VideoRecorder(guint64 buffersize = 0);
std::string info() const override;
};