mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2026-01-24 02:21:11 +01:00
avformat/flvdec: use milisecond precision for parsing timestamps
Also use helper function to set the timestamp. Maybe we could also use nanosecond precision, but there were some float rounding concerns. Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
9b131e8500
commit
f597041d57
2 changed files with 3 additions and 10 deletions
|
|
@ -28,6 +28,7 @@
|
|||
#include "libavutil/channel_layout.h"
|
||||
#include "libavutil/dict.h"
|
||||
#include "libavutil/opt.h"
|
||||
#include "libavutil/internal.h"
|
||||
#include "libavutil/intfloat.h"
|
||||
#include "libavutil/mathematics.h"
|
||||
#include "libavutil/time_internal.h"
|
||||
|
|
@ -682,17 +683,9 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream,
|
|||
} else if (amf_type == AMF_DATA_TYPE_STRING) {
|
||||
av_dict_set(&s->metadata, key, str_val, 0);
|
||||
} else if (amf_type == AMF_DATA_TYPE_DATE) {
|
||||
time_t time;
|
||||
struct tm t;
|
||||
char datestr[128];
|
||||
time = date.milliseconds / 1000; // to seconds
|
||||
gmtime_r(&time, &t);
|
||||
|
||||
// timezone is ignored, since there is no easy way to offset the UTC
|
||||
// timestamp into the specified timezone
|
||||
strftime(datestr, sizeof(datestr), "%Y-%m-%dT%H:%M:%SZ", &t);
|
||||
|
||||
av_dict_set(&s->metadata, key, datestr, 0);
|
||||
avpriv_dict_set_timestamp(&s->metadata, key, 1000 * (int64_t)date.milliseconds);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue