mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-05 17:16:50 +08:00
feat[kmpp_buffer]: Add ioctl to inc ref and flush
Change-Id: Ia0c12d6bae71246c17e0a065761439702c529af9 Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
This commit is contained in:
@@ -72,6 +72,8 @@ rk_s32 kmpp_buf_grp_setup(KmppBufGrp grp);
|
||||
|
||||
KmppBufCfg kmpp_buffer_to_cfg(KmppBuffer buf);
|
||||
rk_s32 kmpp_buffer_setup(KmppBuffer buffer);
|
||||
rk_s32 kmpp_buffer_inc_ref(KmppBuffer buffer);
|
||||
rk_s32 kmpp_buffer_flush(KmppBuffer buffer);
|
||||
|
||||
#define KMPP_BUF_CFG_ENTRY_TABLE(prefix, ENTRY, STRCT, EHOOK, SHOOK, ALIAS) \
|
||||
ENTRY(prefix, u32, rk_u32, size, FLAG_NONE, size) \
|
||||
|
@@ -29,8 +29,6 @@ typedef struct __attribute__((packed)) KmppMetaShmVal_t {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
MPP_RET kmpp_meta_inc_ref(KmppMeta meta);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@@ -128,6 +128,30 @@ rk_s32 kmpp_buffer_setup(KmppBuffer buffer)
|
||||
return kmpp_obj_ioctl_f(buffer, 0, buffer, NULL);
|
||||
}
|
||||
|
||||
rk_s32 kmpp_buffer_inc_ref(KmppBuffer buffer)
|
||||
{
|
||||
KmppBufferImpl *impl = (KmppBufferImpl *)kmpp_obj_to_entry(buffer);
|
||||
|
||||
if (!impl) {
|
||||
mpp_loge_f("invalid NULL buffer\n");
|
||||
return rk_nok;
|
||||
}
|
||||
|
||||
return kmpp_obj_ioctl_f(buffer, 1, buffer, NULL);
|
||||
}
|
||||
|
||||
rk_s32 kmpp_buffer_flush(KmppBuffer buffer)
|
||||
{
|
||||
KmppBufferImpl *impl = (KmppBufferImpl *)kmpp_obj_to_entry(buffer);
|
||||
|
||||
if (!impl) {
|
||||
mpp_loge_f("invalid NULL buffer\n");
|
||||
return rk_nok;
|
||||
}
|
||||
|
||||
return kmpp_obj_ioctl_f(buffer, 2, buffer, NULL);
|
||||
}
|
||||
|
||||
rk_s32 kmpp_buffer_impl_init(void *entry, KmppObj obj, const char *caller)
|
||||
{
|
||||
KmppBufPriv *priv = (KmppBufPriv *)kmpp_obj_to_priv(obj);
|
||||
|
Reference in New Issue
Block a user