1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2 /*
3 * Copyright (c) 2015 Rockchip Electronics Co., Ltd.
4 */
5
6 #define MODULE_TAG "mpp_task"
7
8 #include <string.h>
9
10 #include "mpp_task.h"
11 #include "mpp_task_impl.h"
12
mpp_task_meta_set_s32(MppTask task,MppMetaKey key,RK_S32 val)13 MPP_RET mpp_task_meta_set_s32(MppTask task, MppMetaKey key, RK_S32 val)
14 {
15 if (check_mpp_task_name(task))
16 return MPP_NOK;
17
18 MppTaskImpl *impl = (MppTaskImpl *)task;
19 return mpp_meta_set_s32(impl->meta, key, val);
20 }
21
mpp_task_meta_set_s64(MppTask task,MppMetaKey key,RK_S64 val)22 MPP_RET mpp_task_meta_set_s64(MppTask task, MppMetaKey key, RK_S64 val)
23 {
24 if (check_mpp_task_name(task))
25 return MPP_NOK;
26
27 MppTaskImpl *impl = (MppTaskImpl *)task;
28 return mpp_meta_set_s64(impl->meta, key, val);
29 }
30
mpp_task_meta_set_ptr(MppTask task,MppMetaKey key,void * val)31 MPP_RET mpp_task_meta_set_ptr(MppTask task, MppMetaKey key, void *val)
32 {
33 if (check_mpp_task_name(task))
34 return MPP_NOK;
35
36 MppTaskImpl *impl = (MppTaskImpl *)task;
37 return mpp_meta_set_ptr(impl->meta, key, val);
38 }
39
mpp_task_meta_set_frame(MppTask task,MppMetaKey key,MppFrame frame)40 MPP_RET mpp_task_meta_set_frame(MppTask task, MppMetaKey key, MppFrame frame)
41 {
42 if (check_mpp_task_name(task))
43 return MPP_NOK;
44
45 MppTaskImpl *impl = (MppTaskImpl *)task;
46 return mpp_meta_set_frame(impl->meta, key, frame);
47 }
48
mpp_task_meta_set_packet(MppTask task,MppMetaKey key,MppPacket packet)49 MPP_RET mpp_task_meta_set_packet(MppTask task, MppMetaKey key, MppPacket packet)
50 {
51 if (check_mpp_task_name(task))
52 return MPP_NOK;
53
54 MppTaskImpl *impl = (MppTaskImpl *)task;
55 return mpp_meta_set_packet(impl->meta, key, packet);
56 }
57
mpp_task_meta_set_buffer(MppTask task,MppMetaKey key,MppBuffer buffer)58 MPP_RET mpp_task_meta_set_buffer(MppTask task, MppMetaKey key, MppBuffer buffer)
59 {
60 if (check_mpp_task_name(task))
61 return MPP_NOK;
62
63 MppTaskImpl *impl = (MppTaskImpl *)task;
64 return mpp_meta_set_buffer(impl->meta, key, buffer);
65 }
66
mpp_task_meta_get_s32(MppTask task,MppMetaKey key,RK_S32 * val,RK_S32 default_val)67 MPP_RET mpp_task_meta_get_s32(MppTask task, MppMetaKey key, RK_S32 *val, RK_S32 default_val)
68 {
69 if (check_mpp_task_name(task))
70 return MPP_NOK;
71
72 MppTaskImpl *impl = (MppTaskImpl *)task;
73 MPP_RET ret = mpp_meta_get_s32(impl->meta, key, val);
74 if (ret)
75 *val = default_val;
76 return ret;
77 }
78
mpp_task_meta_get_s64(MppTask task,MppMetaKey key,RK_S64 * val,RK_S64 default_val)79 MPP_RET mpp_task_meta_get_s64(MppTask task, MppMetaKey key, RK_S64 *val, RK_S64 default_val)
80 {
81 if (check_mpp_task_name(task))
82 return MPP_NOK;
83
84 MppTaskImpl *impl = (MppTaskImpl *)task;
85 MPP_RET ret = mpp_meta_get_s64(impl->meta, key, val);
86 if (ret)
87 *val = default_val;
88 return ret;
89 }
90
mpp_task_meta_get_ptr(MppTask task,MppMetaKey key,void ** val,void * default_val)91 MPP_RET mpp_task_meta_get_ptr(MppTask task, MppMetaKey key, void **val, void *default_val)
92 {
93 if (check_mpp_task_name(task))
94 return MPP_NOK;
95
96 MppTaskImpl *impl = (MppTaskImpl *)task;
97 MPP_RET ret = mpp_meta_get_ptr(impl->meta, key, val);
98 if (ret)
99 *val = default_val;
100 return ret;
101 }
102
mpp_task_meta_get_frame(MppTask task,MppMetaKey key,MppFrame * frame)103 MPP_RET mpp_task_meta_get_frame(MppTask task, MppMetaKey key, MppFrame *frame)
104 {
105 if (check_mpp_task_name(task))
106 return MPP_NOK;
107
108 MppTaskImpl *impl = (MppTaskImpl *)task;
109 MPP_RET ret = mpp_meta_get_frame(impl->meta, key, frame);
110 if (ret)
111 *frame = NULL;
112 return ret;
113 }
114
mpp_task_meta_get_packet(MppTask task,MppMetaKey key,MppPacket * packet)115 MPP_RET mpp_task_meta_get_packet(MppTask task, MppMetaKey key, MppPacket *packet)
116 {
117 if (check_mpp_task_name(task))
118 return MPP_NOK;
119
120 MppTaskImpl *impl = (MppTaskImpl *)task;
121 MPP_RET ret = mpp_meta_get_packet(impl->meta, key, packet);
122 if (ret)
123 *packet = NULL;
124 return ret;
125 }
126
mpp_task_meta_get_buffer(MppTask task,MppMetaKey key,MppBuffer * buffer)127 MPP_RET mpp_task_meta_get_buffer(MppTask task, MppMetaKey key, MppBuffer *buffer)
128 {
129 if (check_mpp_task_name(task))
130 return MPP_NOK;
131
132 MppTaskImpl *impl = (MppTaskImpl *)task;
133 MPP_RET ret = mpp_meta_get_buffer(impl->meta, key, buffer);
134 if (ret)
135 *buffer = NULL;
136 return ret;
137 }
138
139