固件类型:自行编译的固件
SDK包名称:rk356x_linux_release_v1.3.0b_20221213_split_dir
SDK修改内容:无任何修改。按照官方的流程编译。编译 Linux4.19 固件 — Firefly Wiki
Log日志:rk3568.txt
这个接口是我在进行h265模块编码后,调用的回调,获取h265编码。使用getActiveData()函数获取h265编码数据,但是为什么获取的都是空数据。
tchip_askquestions
rk3568.txt (58 Bytes)
dengkx
2
在回调中打印一下buf->getActiveData() 前面5个字节和buf->getActiveSize()的大小
dengkx 发表于 2024-4-30 17:26
在回调中打印一下buf->getActiveData() 前面5个字节和buf->getActiveSize()的大小
getActiveSize: 499
getActiveData [0x7f60040000]: 00 00 00 01 02 。
大小为499,前五个byte为00 00 00 01 02。
dengkx 发表于 2024-4-30 17:50
这不有数据吗?
这样按字节打印是有数据。但是 shared_ptr buf = static_pointer_cast(buffer);
char* char_data = static_cast<char*>(buf->getActiveData());
std::vector videobuffer(char_data, char_data + buf->getActiveSize());
// 分块处理数据
for (size_t i = 0; i < videobuffer.size(); i += BUFFER_SIZE) {
size_t chunk_size = std::min(BUFFER_SIZE, videobuffer.size() - i);
std::cout <<"chunk_size: "<< chunk_size << std::endl;
// std::cout <<"videobuffer.data(): "<< videobuffer.data() << std::endl;
shared_memory.writeData(videobuffer.data() + i, chunk_size);
}这个有错误吗?写入的数据是一个空
dengkx 发表于 2024-4-30 17:50
这不有数据吗?
你好!请问一下,getActiveData和getActivesize获取的是一个完整的视频帧是吗?