From d24d48212f2200913e68df5af9f292b6ce55217b Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Tue, 17 Sep 2019 03:19:44 +0300 Subject: [PATCH] refactoring --- src/http/server.c | 3 +-- src/picture.c | 5 +++++ src/picture.h | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/http/server.c b/src/http/server.c index d6e0e02..4f13709 100644 --- a/src/http/server.c +++ b/src/http/server.c @@ -856,8 +856,7 @@ static bool _expose_new_picture_unsafe(struct http_server_t *server) { if ( EXPOSED(online) && EXPOSED(dropped) < server->drop_same_frames - && EXPOSED(picture->used) == STREAM(picture->used) - && !memcmp(EXPOSED(picture->data), STREAM(picture->data), STREAM(picture->used)) + && picture_compare(EXPOSED(picture), STREAM(picture)) ) { EXPOSED(expose_cmp_time) = get_now_monotonic(); EXPOSED(expose_end_time) = EXPOSED(expose_cmp_time); diff --git a/src/picture.c b/src/picture.c index ab8130a..686f3f7 100644 --- a/src/picture.c +++ b/src/picture.c @@ -23,6 +23,7 @@ #include "picture.h" #include +#include #include #include @@ -89,3 +90,7 @@ void picture_copy(const struct picture_t *src, struct picture_t *dest) { # undef COPY } + +bool picture_compare(const struct picture_t *a, const struct picture_t *b) { + return (a->used == b->used && !memcmp(a->data, b->data, b->used)); +} diff --git a/src/picture.h b/src/picture.h index 2627725..4e5c4e1 100644 --- a/src/picture.h +++ b/src/picture.h @@ -23,6 +23,7 @@ #pragma once #include +#include struct picture_t { @@ -47,3 +48,4 @@ void picture_set_data(struct picture_t *picture, const unsigned char *data, size void picture_append_data(struct picture_t *picture, const unsigned char *data, size_t size); void picture_copy(const struct picture_t *src, struct picture_t *dest); +bool picture_compare(const struct picture_t *a, const struct picture_t *b);