encoder: remove function publisher_init, init PubMaster in constructor (#28980)

old-commit-hash: 65fe3c8c344233832e6aa79a2007ff5624a2c914
This commit is contained in:
Dean Lee
2023-07-18 10:25:41 +08:00
committed by GitHub
parent 4185aeb93b
commit bd93cd7db3
4 changed files with 4 additions and 15 deletions
+2 -5
View File
@@ -1,10 +1,7 @@
#include <cassert>
#include "system/loggerd/encoder/encoder.h"
VideoEncoder::~VideoEncoder() {}
void VideoEncoder::publisher_init() {
// publish
VideoEncoder::VideoEncoder(const EncoderInfo &encoder_info, int in_width, int in_height)
: encoder_info(encoder_info), in_width(in_width), in_height(in_height) {
pm.reset(new PubMaster({encoder_info.publish_name}));
}
+2 -6
View File
@@ -14,14 +14,12 @@
class VideoEncoder {
public:
VideoEncoder(const EncoderInfo &encoder_info, int in_width, int in_height)
: encoder_info(encoder_info), in_width(in_width), in_height(in_height) {}
virtual ~VideoEncoder();
VideoEncoder(const EncoderInfo &encoder_info, int in_width, int in_height);
virtual ~VideoEncoder() {};
virtual int encode_frame(VisionBuf* buf, VisionIpcBufExtra *extra) = 0;
virtual void encoder_open(const char* path) = 0;
virtual void encoder_close() = 0;
void publisher_init();
static void publisher_publish(VideoEncoder *e, int segment_num, uint32_t idx, VisionIpcBufExtra &extra, unsigned int flags, kj::ArrayPtr<capnp::byte> header, kj::ArrayPtr<capnp::byte> dat);
@@ -32,7 +30,5 @@ protected:
private:
// total frames encoded
int cnt = 0;
// publishing
std::unique_ptr<PubMaster> pm;
};
-2
View File
@@ -40,8 +40,6 @@ FfmpegEncoder::FfmpegEncoder(const EncoderInfo &encoder_info, int in_width, int
if (in_width != encoder_info.frame_width || in_height != encoder_info.frame_height) {
downscale_buf.resize(encoder_info.frame_width * encoder_info.frame_height * 3 / 2);
}
publisher_init();
}
FfmpegEncoder::~FfmpegEncoder() {
-2
View File
@@ -251,8 +251,6 @@ V4LEncoder::V4LEncoder(const EncoderInfo &encoder_info, int in_width, int in_hei
for (unsigned int i = 0; i < BUF_IN_COUNT; i++) {
free_buf_in.push(i);
}
publisher_init();
}
void V4LEncoder::encoder_open(const char* path) {