Commit bb505cd5 authored by James Almer's avatar James Almer

avformat/hashenc: simplify hash_write_trailer

Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
parent 21acc4db
...@@ -34,25 +34,6 @@ struct HashContext { ...@@ -34,25 +34,6 @@ struct HashContext {
int format_version; int format_version;
}; };
static void hash_finish(struct AVFormatContext *s, char *buf)
{
struct HashContext *c = s->priv_data;
uint8_t hash[AV_HASH_MAX_SIZE];
int i, offset = strlen(buf);
int len = av_hash_get_size(c->hash);
av_assert0(len > 0 && len <= sizeof(hash));
av_hash_final(c->hash, hash);
for (i = 0; i < len; i++) {
snprintf(buf + offset, 3, "%02"PRIx8, hash[i]);
offset += 2;
}
buf[offset] = '\n';
buf[offset+1] = 0;
avio_write(s->pb, buf, strlen(buf));
avio_flush(s->pb);
}
#define OFFSET(x) offsetof(struct HashContext, x) #define OFFSET(x) offsetof(struct HashContext, x)
#define ENC AV_OPT_FLAG_ENCODING_PARAM #define ENC AV_OPT_FLAG_ENCODING_PARAM
#if CONFIG_HASH_MUXER || CONFIG_FRAMEHASH_MUXER #if CONFIG_HASH_MUXER || CONFIG_FRAMEHASH_MUXER
...@@ -92,11 +73,12 @@ static int hash_write_packet(struct AVFormatContext *s, AVPacket *pkt) ...@@ -92,11 +73,12 @@ static int hash_write_packet(struct AVFormatContext *s, AVPacket *pkt)
static int hash_write_trailer(struct AVFormatContext *s) static int hash_write_trailer(struct AVFormatContext *s)
{ {
struct HashContext *c = s->priv_data; struct HashContext *c = s->priv_data;
char buf[256]; char buf[AV_HASH_MAX_SIZE*2+128];
av_strlcpy(buf, av_hash_get_name(c->hash), sizeof(buf) - 200); snprintf(buf, sizeof(buf) - 200, "%s=", av_hash_get_name(c->hash));
av_strlcat(buf, "=", sizeof(buf) - 200);
hash_finish(s, buf); av_hash_final_hex(c->hash, buf + strlen(buf), sizeof(buf) - strlen(buf));
av_strlcatf(buf, sizeof(buf), "\n");
avio_write(s->pb, buf, strlen(buf));
av_hash_freep(&c->hash); av_hash_freep(&c->hash);
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment