1 /*
2 * Copyright 2015 Rockchip Electronics Co. LTD
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 #define MODULE_TAG "mpp_task"
18
19 #include <string.h>
20
21 #include "mpp_task.h"
22 #include "mpp_task_impl.h"
23
mpp_task_meta_set_s32(MppTask task,MppMetaKey key,RK_S32 val)24 MPP_RET mpp_task_meta_set_s32(MppTask task, MppMetaKey key, RK_S32 val)
25 {
26 if (check_mpp_task_name(task))
27 return MPP_NOK;
28
29 MppTaskImpl *impl = (MppTaskImpl *)task;
30 return mpp_meta_set_s32(impl->meta, key, val);
31 }
32
mpp_task_meta_set_s64(MppTask task,MppMetaKey key,RK_S64 val)33 MPP_RET mpp_task_meta_set_s64(MppTask task, MppMetaKey key, RK_S64 val)
34 {
35 if (check_mpp_task_name(task))
36 return MPP_NOK;
37
38 MppTaskImpl *impl = (MppTaskImpl *)task;
39 return mpp_meta_set_s64(impl->meta, key, val);
40 }
41
mpp_task_meta_set_ptr(MppTask task,MppMetaKey key,void * val)42 MPP_RET mpp_task_meta_set_ptr(MppTask task, MppMetaKey key, void *val)
43 {
44 if (check_mpp_task_name(task))
45 return MPP_NOK;
46
47 MppTaskImpl *impl = (MppTaskImpl *)task;
48 return mpp_meta_set_ptr(impl->meta, key, val);
49 }
50
mpp_task_meta_set_frame(MppTask task,MppMetaKey key,MppFrame frame)51 MPP_RET mpp_task_meta_set_frame(MppTask task, MppMetaKey key, MppFrame frame)
52 {
53 if (check_mpp_task_name(task))
54 return MPP_NOK;
55
56 MppTaskImpl *impl = (MppTaskImpl *)task;
57 return mpp_meta_set_frame(impl->meta, key, frame);
58 }
59
mpp_task_meta_set_packet(MppTask task,MppMetaKey key,MppPacket packet)60 MPP_RET mpp_task_meta_set_packet(MppTask task, MppMetaKey key, MppPacket packet)
61 {
62 if (check_mpp_task_name(task))
63 return MPP_NOK;
64
65 MppTaskImpl *impl = (MppTaskImpl *)task;
66 return mpp_meta_set_packet(impl->meta, key, packet);
67 }
68
mpp_task_meta_set_buffer(MppTask task,MppMetaKey key,MppBuffer buffer)69 MPP_RET mpp_task_meta_set_buffer(MppTask task, MppMetaKey key, MppBuffer buffer)
70 {
71 if (check_mpp_task_name(task))
72 return MPP_NOK;
73
74 MppTaskImpl *impl = (MppTaskImpl *)task;
75 return mpp_meta_set_buffer(impl->meta, key, buffer);
76 }
77
mpp_task_meta_get_s32(MppTask task,MppMetaKey key,RK_S32 * val,RK_S32 default_val)78 MPP_RET mpp_task_meta_get_s32(MppTask task, MppMetaKey key, RK_S32 *val, RK_S32 default_val)
79 {
80 if (check_mpp_task_name(task))
81 return MPP_NOK;
82
83 MppTaskImpl *impl = (MppTaskImpl *)task;
84 MPP_RET ret = mpp_meta_get_s32(impl->meta, key, val);
85 if (ret)
86 *val = default_val;
87 return ret;
88 }
89
mpp_task_meta_get_s64(MppTask task,MppMetaKey key,RK_S64 * val,RK_S64 default_val)90 MPP_RET mpp_task_meta_get_s64(MppTask task, MppMetaKey key, RK_S64 *val, RK_S64 default_val)
91 {
92 if (check_mpp_task_name(task))
93 return MPP_NOK;
94
95 MppTaskImpl *impl = (MppTaskImpl *)task;
96 MPP_RET ret = mpp_meta_get_s64(impl->meta, key, val);
97 if (ret)
98 *val = default_val;
99 return ret;
100 }
101
mpp_task_meta_get_ptr(MppTask task,MppMetaKey key,void ** val,void * default_val)102 MPP_RET mpp_task_meta_get_ptr(MppTask task, MppMetaKey key, void **val, void *default_val)
103 {
104 if (check_mpp_task_name(task))
105 return MPP_NOK;
106
107 MppTaskImpl *impl = (MppTaskImpl *)task;
108 MPP_RET ret = mpp_meta_get_ptr(impl->meta, key, val);
109 if (ret)
110 *val = default_val;
111 return ret;
112 }
113
mpp_task_meta_get_frame(MppTask task,MppMetaKey key,MppFrame * frame)114 MPP_RET mpp_task_meta_get_frame(MppTask task, MppMetaKey key, MppFrame *frame)
115 {
116 if (check_mpp_task_name(task))
117 return MPP_NOK;
118
119 MppTaskImpl *impl = (MppTaskImpl *)task;
120 MPP_RET ret = mpp_meta_get_frame(impl->meta, key, frame);
121 if (ret)
122 *frame = NULL;
123 return ret;
124 }
125
mpp_task_meta_get_packet(MppTask task,MppMetaKey key,MppPacket * packet)126 MPP_RET mpp_task_meta_get_packet(MppTask task, MppMetaKey key, MppPacket *packet)
127 {
128 if (check_mpp_task_name(task))
129 return MPP_NOK;
130
131 MppTaskImpl *impl = (MppTaskImpl *)task;
132 MPP_RET ret = mpp_meta_get_packet(impl->meta, key, packet);
133 if (ret)
134 *packet = NULL;
135 return ret;
136 }
137
mpp_task_meta_get_buffer(MppTask task,MppMetaKey key,MppBuffer * buffer)138 MPP_RET mpp_task_meta_get_buffer(MppTask task, MppMetaKey key, MppBuffer *buffer)
139 {
140 if (check_mpp_task_name(task))
141 return MPP_NOK;
142
143 MppTaskImpl *impl = (MppTaskImpl *)task;
144 MPP_RET ret = mpp_meta_get_buffer(impl->meta, key, buffer);
145 if (ret)
146 *buffer = NULL;
147 return ret;
148 }
149
150