From f73ae488e9db3ab7467a1aabbd2f64fd5fe67815 Mon Sep 17 00:00:00 2001 From: ChenHengming Date: Mon, 24 Aug 2015 12:08:58 +0000 Subject: [PATCH] [mpp_packet]: add extra data interface for mpp_packet handle git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@156 6e48237b-75ef-9749-8fc9-41990f28c85a --- inc/mpp_packet.h | 4 +++- mpp/mpp_packet.cpp | 20 ++++++++++++++++---- mpp/mpp_packet_impl.h | 3 ++- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/inc/mpp_packet.h b/inc/mpp_packet.h index 8c44cf75..d0d77f8d 100644 --- a/inc/mpp_packet.h +++ b/inc/mpp_packet.h @@ -30,10 +30,12 @@ extern "C" { * MppPacket interface */ MPP_RET mpp_packet_init(MppPacket *packet, void *data, size_t size); +MPP_RET mpp_packet_deinit(MppPacket packet); + MPP_RET mpp_packet_set_pts(MppPacket packet, RK_S64 pts); MPP_RET mpp_packet_set_dts(MppPacket packet, RK_S64 dts); MPP_RET mpp_packet_set_eos(MppPacket packet); -MPP_RET mpp_packet_deinit(MppPacket packet); +MPP_RET mpp_packet_set_extra_data(MppPacket packet); #ifdef __cplusplus } diff --git a/mpp/mpp_packet.cpp b/mpp/mpp_packet.cpp index d33036ac..523bcea7 100644 --- a/mpp/mpp_packet.cpp +++ b/mpp/mpp_packet.cpp @@ -46,7 +46,7 @@ MPP_RET mpp_packet_init(MppPacket *packet, void *data, size_t size) MPP_RET mpp_packet_set_pts(MppPacket packet, RK_S64 pts) { if (NULL == packet) { - mpp_err("mpp_packet_set_pts invalid input %p\n", packet); + mpp_err("mpp_packet_set_pts found NULL input\n"); return MPP_ERR_NULL_PTR; } @@ -58,7 +58,7 @@ MPP_RET mpp_packet_set_pts(MppPacket packet, RK_S64 pts) MPP_RET mpp_packet_set_dts(MppPacket packet, RK_S64 dts) { if (NULL == packet) { - mpp_err("mpp_packet_set_pts invalid input %p\n", packet); + mpp_err("mpp_packet_set_dts found NULL input\n"); return MPP_ERR_NULL_PTR; } @@ -70,7 +70,7 @@ MPP_RET mpp_packet_set_dts(MppPacket packet, RK_S64 dts) MPP_RET mpp_packet_set_eos(MppPacket packet) { if (NULL == packet) { - mpp_err("mpp_packet_set_pts invalid input %p\n", packet); + mpp_err("mpp_packet_set_eos found NULL input\n"); return MPP_ERR_NULL_PTR; } @@ -79,10 +79,22 @@ MPP_RET mpp_packet_set_eos(MppPacket packet) return MPP_OK; } +MPP_RET mpp_packet_set_extra_data(MppPacket packet) +{ + if (NULL == packet) { + mpp_err("mpp_packet_set_extra_data found NULL input\n"); + return MPP_ERR_NULL_PTR; + } + + mpp_packet_impl *p = (mpp_packet_impl *)packet; + p->flag |= MPP_PACKET_FLAG_EXTRA_DATA; + return MPP_OK; +} + MPP_RET mpp_packet_deinit(MppPacket packet) { if (NULL == packet) { - mpp_err("mpp_packet_deinit invalid input packet %p\n", packet); + mpp_err("mpp_packet_deinit found NULL input\n"); return MPP_ERR_NULL_PTR; } diff --git a/mpp/mpp_packet_impl.h b/mpp/mpp_packet_impl.h index ade6575d..773bd76f 100644 --- a/mpp/mpp_packet_impl.h +++ b/mpp/mpp_packet_impl.h @@ -19,7 +19,8 @@ #include "rk_type.h" -#define MPP_PACKET_FLAG_EOS (0x00000001) +#define MPP_PACKET_FLAG_EOS (0x00000001) +#define MPP_PACKET_FLAG_EXTRA_DATA (0x00000002) /* * mpp_packet_imp structure