[FFmpeg-devel] [PATCH V1 1/2] lavf/flvdec: Fix AMF NUMBER type to metadata lost precision
Jun Zhao
mypopydev at gmail.com
Thu Mar 28 09:39:06 EET 2019
From: Jun Zhao <barryjzhao at tencent.com>
use %.12g replace %.f when save AMF NUMBER(double) type to
metadata.
before this fix, we get FLV metadata like:
Metadata:
lasttimestamp : 113
lastkeyframetimestamp: 112
after this fix:
Metadata:
lasttimestamp : 113.005
lastkeyframetimestamp: 111.678
Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
---
libavformat/flvdec.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 445d58d..12bfd4b 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -649,7 +649,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream,
sizeof(str_val));
av_dict_set(&s->metadata, key, str_val, 0);
} else if (amf_type == AMF_DATA_TYPE_NUMBER) {
- snprintf(str_val, sizeof(str_val), "%.f", num_val);
+ snprintf(str_val, sizeof(str_val), "%.12g", num_val);
av_dict_set(&s->metadata, key, str_val, 0);
} else if (amf_type == AMF_DATA_TYPE_STRING) {
av_dict_set(&s->metadata, key, str_val, 0);
--
1.7.1
More information about the ffmpeg-devel
mailing list