Skip to content

Commit 43f0d16

Browse files
tuzm24yearly-kimkpchoi
authored
Copy metadata data in apv library (#109)
* Copy metadata data in apv library - Fix memory leak on metadata payload - Change metadata data to be copied by the apv library Signed-off-by: Yangwoo Kim <yearly.kim@samsung.com> * Adding error handle for mdp - Add error handler when mdp data size is zero. - Remove duplicated or unused code Signed-off-by: Yangwoo Kim <yearly.kim@samsung.com> * Add check condition for metadata set - If memory allocation for mdp fails, the pld data should only be freed if size > 0. Signed-off-by: Yangwoo Kim <yearly.kim@samsung.com> * Change condition in meta_free_mdp_data() Signed-off-by: Yangwoo Kim <yearly.kim@samsung.com> * Clean-up metadata codes Signed-off-by: Yangwoo Kim <yearly.kim@samsung.com> * Fix vlc_metadata when payload_size is zero Signed-off-by: Yangwoo Kim <yearly.kim@samsung.com> * Refactoring about metadata - Remove metadata size - Some code cleaning in the oapv_metadata.c Signed-off-by: Yangwoo Kim <yearly.kim@samsung.com> * removed compilation error Signed-off-by: Kwang Pyo Choi <kp5.choi@samsung.com> * removed uuid parameter at oapvm_get() Signed-off-by: Kwang Pyo Choi <kp5.choi@samsung.com> * refactored code Signed-off-by: Kwang Pyo Choi <kp5.choi@samsung.com> --------- Signed-off-by: Yangwoo Kim <yearly.kim@samsung.com> Signed-off-by: Kwang Pyo Choi <kp5.choi@samsung.com> Co-authored-by: Yangwoo Kim <yearly.kim@samsung.com> Co-authored-by: Kwang Pyo Choi <kp5.choi@samsung.com>
1 parent 4a95a7b commit 43f0d16

File tree

6 files changed

+196
-232
lines changed

6 files changed

+196
-232
lines changed

inc/oapv.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -631,9 +631,9 @@ typedef struct oapvm_payload oapvm_payload_t;
631631
struct oapvm_payload {
632632
int group_id; // group ID
633633
int type; // payload type
634-
unsigned char uuid[16]; // UUID for user-defined metadata payload
634+
int size; // byte size of metadata payload
635635
void *data; // address of metadata payload
636-
int data_size; // byte size of metadata payload
636+
unsigned char uuid[16]; // UUID for user-defined metadata payload
637637
};
638638

639639
/*****************************************************************************
@@ -643,12 +643,12 @@ typedef void *oapvm_t; // instance identifier for OAPV metadata container
643643

644644
OAPV_EXPORT oapvm_t oapvm_create(int *err);
645645
OAPV_EXPORT void oapvm_delete(oapvm_t mid);
646-
OAPV_EXPORT void oapvm_rem_all(oapvm_t mid);
647-
OAPV_EXPORT int oapvm_set(oapvm_t mid, int group_id, int type, void *data, int size, unsigned char *uuid);
646+
OAPV_EXPORT int oapvm_set(oapvm_t mid, int group_id, int type, void *data, int size);
648647
OAPV_EXPORT int oapvm_get(oapvm_t mid, int group_id, int type, void **data, int *size, unsigned char *uuid);
649648
OAPV_EXPORT int oapvm_rem(oapvm_t mid, int group_id, int type, unsigned char *uuid);
650649
OAPV_EXPORT int oapvm_set_all(oapvm_t mid, oapvm_payload_t *pld, int num_plds);
651650
OAPV_EXPORT int oapvm_get_all(oapvm_t mid, oapvm_payload_t *pld, int *num_plds);
651+
OAPV_EXPORT void oapvm_rem_all(oapvm_t mid);
652652

653653
/*****************************************************************************
654654
* interface for encoder

src/oapv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1342,7 +1342,7 @@ int oapve_encode(oapve_t eid, oapv_frms_t *ifrms, oapvm_t mid, oapv_bitb_t *bitb
13421342
if(md_list != NULL) {
13431343
int num_md = md_list->num;
13441344
for(i = 0; i < num_md; i++) {
1345-
int group_id = md_list->group_ids[i];
1345+
int group_id = md_list->md_arr[i].group_id;
13461346
bs_pos_pbu_beg = oapv_bsw_sink(bs); /* store pbu pos to calculate size */
13471347
oapv_mcpy(&bs_pbu_beg, bs, sizeof(oapv_bs_t)); /* store pbu pos of ai to re-write */
13481348
DUMP_SAVE(0);

0 commit comments

Comments
 (0)