Commit 3faec451 authored by Linshizhi's avatar Linshizhi

Add buffer size record

parent 851d6559
......@@ -38,6 +38,7 @@ int MovMemProto::read_packet_internal(void *priv, uint8_t *buf, int bufSize) {
// Update TransContext
trans.pos += sizeToRead;
trans.remain -= sizeToRead;
sizeOfBuffer -= sizeToRead;
// Datas of current memory piece is all
// readed, do cleaning.
......@@ -47,6 +48,7 @@ int MovMemProto::read_packet_internal(void *priv, uint8_t *buf, int bufSize) {
trans.remain = 0;
}
printf("Size %ld\n", sizeToRead);
return sizeToRead == 0 ? AVERROR(EAGAIN) : sizeToRead;
}
......
......@@ -28,7 +28,7 @@ public:
static constexpr char protoName[] = "MovMemProto";
MovMemProto(void *priv, RW_FLAG flag):
IOProtocol(protoName, flag, priv) {}
IOProtocol(protoName, flag, priv), sizeOfBuffer(0) {}
int read_packet_internal(void *priv, uint8_t *buf, int bufSize);
......@@ -42,15 +42,21 @@ public:
void push(uint8_t data[], size_t size) {
s.push(MemPiece{ std::shared_ptr<uint8_t[]>(data), size });
sizeOfBuffer += size;
}
void eof() {
s.push(MemPiece{ nullptr, 0 });
}
size_t size() const {
return sizeOfBuffer;
}
private:
Stream s;
TransContext trans;
size_t sizeOfBuffer;
};
}}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment