[FFmpeg-devel] [PATCH 2/2] lavf/mov: strip com.apple.quicktime prefix in meta; parse creation date
Rodger Combs
rodger.combs at gmail.com
Sat Sep 10 04:06:40 EEST 2016
---
libavformat/mov.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 54530e3..b75acd2 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -42,6 +42,7 @@
#include "libavutil/aes_ctr.h"
#include "libavutil/sha.h"
#include "libavutil/timecode.h"
+#include "libavutil/parseutils.h"
#include "libavcodec/ac3tab.h"
#include "libavcodec/mpegaudiodecheader.h"
#include "avformat.h"
@@ -476,6 +477,21 @@ retry:
return ret;
}
str[str_size] = 0;
+ if (!strcmp(key, "com.apple.quicktime.creationdate")) {
+ struct tm *ptm, tmbuf;
+ int64_t timeval;
+ if (av_parse_time(&timeval, str, 0) >= 0) {
+ time_t timet = timeval / 1000000;
+ if (ptm = gmtime_r(&timet, &tmbuf)) {
+ strftime(str, str_size, "%Y-%m-%d %H:%M:%S", ptm);
+ key = "creation_time";
+ }
+ }
+ } else if (!strcmp(key, "com.apple.quicktime.location.ISO6709")) {
+ key = "location";
+ } else if (!strncmp(key, "com.apple.quicktime.", 20)) {
+ key += 20;
+ }
}
c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
av_dict_set(&c->fc->metadata, key, str, 0);
--
2.10.0
More information about the ffmpeg-devel
mailing list