diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-10-17 02:48:30 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-10-17 02:48:30 +0200 |
commit | adbb75dbd8eabdaa7439633d26a79eb5b7387ef9 (patch) | |
tree | 79f49b338f4b7047f91ed89ef76375fd3f376881 /libavformat/mov.c | |
parent | 7b8fd298161dac65d8ee0f8367f4048c9abaa053 (diff) | |
download | ffmpeg-adbb75dbd8eabdaa7439633d26a79eb5b7387ef9.tar.gz |
mov: fix time types related to mov_metadata_creation_time
Fixes Ticket1817
Based on patch by: Przemyslaw Wesolek <przemyslaw.wesolek@go.art.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r-- | libavformat/mov.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index 3f7318c857..b817bc9561 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -780,14 +780,16 @@ static int mov_read_moof(MOVContext *c, AVIOContext *pb, MOVAtom atom) return mov_read_default(c, pb, atom); } -static void mov_metadata_creation_time(AVDictionary **metadata, time_t time) +static void mov_metadata_creation_time(AVDictionary **metadata, int64_t time) { char buffer[32]; if (time) { struct tm *ptm; + time_t timet; if(time >= 2082844800) time -= 2082844800; /* seconds between 1904-01-01 and Epoch */ - ptm = gmtime(&time); + timet = time; + ptm = gmtime(&timet); if (!ptm) return; strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", ptm); av_dict_set(metadata, "creation_time", buffer, 0); @@ -801,7 +803,7 @@ static int mov_read_mdhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) int version; char language[4] = {0}; unsigned lang; - time_t creation_time; + int64_t creation_time; if (c->fc->nb_streams < 1) return 0; @@ -836,7 +838,7 @@ static int mov_read_mdhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) static int mov_read_mvhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) { - time_t creation_time; + int64_t creation_time; int version = avio_r8(pb); /* version */ avio_rb24(pb); /* flags */ |