diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-14 00:20:06 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-16 18:39:09 +0200 |
commit | 8823900b14cf38c3f2b0a9ec1adfb4e26e3ab182 (patch) | |
tree | 3df9baf315a2cebf563e949a81175637a5203724 | |
parent | 41365fdf5c9ed96f299939a89dea7e4e257253cf (diff) | |
download | ffmpeg-8823900b14cf38c3f2b0a9ec1adfb4e26e3ab182.tar.gz |
avformat/mxfdec: Don't duplicate av_uuid_unparse
Also don't allocate the string ourselves, let av_dict_set()
do it.
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavformat/mxfdec.c | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 6a22c33995..392066b65a 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -2118,24 +2118,6 @@ static int mxf_is_intra_only(MXFDescriptor *descriptor) &descriptor->essence_codec_ul)->id != AV_CODEC_ID_NONE; } -static int mxf_uid_to_str(UID uid, char **str) -{ - int i; - char *p; - p = *str = av_mallocz(sizeof(UID) * 2 + 4 + 1); - if (!p) - return AVERROR(ENOMEM); - for (i = 0; i < sizeof(UID); i++) { - snprintf(p, 2 + 1, "%.2x", uid[i]); - p += 2; - if (i == 3 || i == 5 || i == 7 || i == 9) { - snprintf(p, 1 + 1, "-"); - p++; - } - } - return 0; -} - static int mxf_umid_to_str(UID ul, UID uid, char **str) { int i; @@ -3088,10 +3070,10 @@ static int64_t mxf_timestamp_to_int64(uint64_t timestamp) } while (0) #define SET_UID_METADATA(pb, name, var, str) do { \ + char uuid_str[2 * AV_UUID_LEN + 4 + 1]; \ avio_read(pb, var, 16); \ - if ((ret = mxf_uid_to_str(var, &str)) < 0) \ - return ret; \ - av_dict_set(&s->metadata, name, str, AV_DICT_DONT_STRDUP_VAL); \ + av_uuid_unparse(uid, uuid_str); \ + av_dict_set(&s->metadata, name, uuid_str, 0); \ } while (0) #define SET_TS_METADATA(pb, name, var, str) do { \ |