diff --git a/inc/mpp_buffer.h b/inc/mpp_buffer.h index 828ed8ee..4ad58646 100644 --- a/inc/mpp_buffer.h +++ b/inc/mpp_buffer.h @@ -211,6 +211,7 @@ MPP_RET mpp_buffer_read(MppBuffer buffer, size_t offset, void *data, size_t size MPP_RET mpp_buffer_write(MppBuffer buffer, size_t offset, void *data, size_t size); void *mpp_buffer_get_ptr(MppBuffer buffer); int mpp_buffer_get_fd(MppBuffer buffer); +size_t mpp_buffer_get_size(MppBuffer buffer); MPP_RET mpp_buffer_group_get(const char *tag, const char *caller, MppBufferMode mode, MppBufferGroup *group, MppBufferType type); MPP_RET mpp_buffer_group_put(MppBufferGroup group); diff --git a/mpp/base/mpp_buffer.cpp b/mpp/base/mpp_buffer.cpp index 56488b2a..1946eb75 100644 --- a/mpp/base/mpp_buffer.cpp +++ b/mpp/base/mpp_buffer.cpp @@ -132,7 +132,7 @@ MPP_RET mpp_buffer_write(MppBuffer buffer, size_t offset, void *data, size_t siz void *mpp_buffer_get_ptr(MppBuffer buffer) { if (NULL == buffer) { - mpp_err_f("invalid input: buffer %p\n", buffer); + mpp_err_f("invalid NULL input\n"); return NULL; } @@ -145,7 +145,7 @@ void *mpp_buffer_get_ptr(MppBuffer buffer) int mpp_buffer_get_fd(MppBuffer buffer) { if (NULL == buffer) { - mpp_err_f("invalid input: buffer %p\n", buffer); + mpp_err_f("invalid NULL input\n"); return -1; } @@ -159,6 +159,17 @@ int mpp_buffer_get_fd(MppBuffer buffer) return fd; } +size_t mpp_buffer_get_size(MppBuffer buffer) +{ + if (NULL == buffer) { + mpp_err_f("invalid NULL input\n"); + return -1; + } + + MppBufferImpl *p = (MppBufferImpl*)buffer; + return p->info.size; +} + MPP_RET mpp_buffer_info_get(MppBuffer buffer, MppBufferInfo *info) { if (NULL == buffer || NULL == info) {