Compare commits

...

6 Commits
v0.20 ... v0.23

Author SHA1 Message Date
Devaev Maxim
2d054fa9a8 Bump version: 0.22 → 0.23 2018-10-10 00:08:13 +03:00
Devaev Maxim
f2863d1108 --version 2018-10-10 00:07:59 +03:00
Devaev Maxim
281e1b36ce Bump version: 0.21 → 0.22 2018-10-08 16:33:16 +03:00
Devaev Maxim
160ad5c10f updated dependencies info 2018-10-08 15:39:33 +03:00
Devaev Maxim
667137638b Bump version: 0.20 → 0.21 2018-10-07 11:32:18 +03:00
Devaev Maxim
b5dffa927a changed /ping format 2018-10-07 11:32:07 +03:00
6 changed files with 29 additions and 14 deletions

View File

@@ -1,7 +1,7 @@
[bumpversion] [bumpversion]
commit = True commit = True
tag = True tag = True
current_version = 0.20 current_version = 0.23
parse = (?P<major>\d+)\.(?P<minor>\d+)(\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?)? parse = (?P<major>\d+)\.(?P<minor>\d+)(\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?)?
serialize = serialize =
{major}.{minor} {major}.{minor}

View File

@@ -3,13 +3,13 @@
pkgname=ustreamer pkgname=ustreamer
pkgver=0.20 pkgver=0.23
pkgrel=1 pkgrel=1
pkgdesc="Lightweight and fast MJPG-HTTP streamer" pkgdesc="Lightweight and fast MJPG-HTTP streamer"
url="https://github.com/pi-kvm/ustreamer" url="https://github.com/pi-kvm/ustreamer"
license=(GPL) license=(GPL)
arch=(i686 x86_64 armv6h armv7h) arch=(i686 x86_64 armv6h armv7h)
depends=(libjpeg libevent) depends=(libjpeg libevent libutil-linux)
# optional: raspberrypi-firmware for OMX JPEG compressor # optional: raspberrypi-firmware for OMX JPEG compressor
makedepends=(gcc make) makedepends=(gcc make)
source=("$url/archive/v$pkgver.tar.gz") source=("$url/archive/v$pkgver.tar.gz")

View File

@@ -31,7 +31,7 @@
----- -----
# Сборка # Сборка
Для сборки вам понадобятся ```make```, ```gcc```, ```libevent``` с поддержкой ```pthreads``` и ```libjpeg8```/```libjpeg-turbo```. Для сборки вам понадобятся ```make```, ```gcc```, ```libevent``` с поддержкой ```pthreads```, ```libjpeg8```/```libjpeg-turbo``` и ```libuuid```.
На Raspberry Pi програма автоматически собирается с поддержкой OpenMAX IL, если обнаружит нужные хедеры в ```/opt/vc/include```. На Raspberry Pi програма автоматически собирается с поддержкой OpenMAX IL, если обнаружит нужные хедеры в ```/opt/vc/include```.

View File

@@ -21,4 +21,4 @@
#pragma once #pragma once
#define VERSION "0.20" #define VERSION "0.23"

View File

@@ -174,15 +174,15 @@ static void _http_callback_ping(struct evhttp_request *request, void *v_server)
assert((buf = evbuffer_new())); assert((buf = evbuffer_new()));
assert(evbuffer_add_printf(buf, assert(evbuffer_add_printf(buf,
"{\"stream\": {\"resolution\":" "{\"source\": {\"resolution\": {\"width\": %u, \"height\": %u},"
" {\"width\": %u, \"height\": %u}," " \"online\": %s, \"quality\": %u, \"captured_fps\": %u},"
" \"captured_fps\": %u, \"queued_fps\": %u," " \"stream\": {\"queued_fps\": %u, \"clients\": %u, \"clients_stat\": {",
" \"online\": %s, \"clients\": %u, \"clients_stat\": {",
(server->fake_width ? server->fake_width : server->run->exposed->width), (server->fake_width ? server->fake_width : server->run->exposed->width),
(server->fake_height ? server->fake_height : server->run->exposed->height), (server->fake_height ? server->fake_height : server->run->exposed->height),
(server->run->exposed->online ? "true" : "false"),
server->run->stream->encoder->quality,
server->run->exposed->captured_fps, server->run->exposed->captured_fps,
server->run->exposed->queued_fps, server->run->exposed->queued_fps,
(server->run->exposed->online ? "true" : "false"),
server->run->stream_clients_count server->run->stream_clients_count
)); ));
for (struct stream_client_t * client = server->run->stream_clients; client != NULL; client = client->next) { for (struct stream_client_t * client = server->run->stream_clients; client != NULL; client = client->next) {

View File

@@ -25,7 +25,7 @@
#endif #endif
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdbool.h>
#include <signal.h> #include <signal.h>
#include <getopt.h> #include <getopt.h>
@@ -74,13 +74,26 @@ static const struct option _long_opts[] = {
{"debug", no_argument, NULL, 5002}, {"debug", no_argument, NULL, 5002},
{"log-level", required_argument, NULL, 5010}, {"log-level", required_argument, NULL, 5010},
{"help", no_argument, NULL, 'h'}, {"help", no_argument, NULL, 'h'},
{"version", no_argument, NULL, 6000},
{NULL, 0, NULL, 0}, {NULL, 0, NULL, 0},
}; };
static void _version(bool nl) {
printf(VERSION);
# ifdef OMX_ENCODER
printf(" with OMX");
# endif
if (nl) {
putchar('\n');
}
}
static void _help(struct device_t *dev, struct encoder_t *encoder, struct http_server_t *server) { static void _help(struct device_t *dev, struct encoder_t *encoder, struct http_server_t *server) {
printf("\nuStreamer - Lightweight and fast MJPG-HTTP streamer\n"); printf("\nuStreamer - Lightweight and fast MJPG-HTTP streamer\n");
printf("===================================================\n\n"); printf("===================================================\n\n");
printf("Version: %s; license: GPLv3\n", VERSION); printf("Version: ");
_version(false);
printf("; license: GPLv3\n");
printf("Copyright (C) 2018 Maxim Devaev <mdevaev@gmail.com>\n\n"); printf("Copyright (C) 2018 Maxim Devaev <mdevaev@gmail.com>\n\n");
printf("Capturing options:\n"); printf("Capturing options:\n");
printf("------------------\n"); printf("------------------\n");
@@ -191,8 +204,10 @@ static int _parse_options(int argc, char *argv[], struct device_t *dev, struct e
case 5001: OPT_SET(log_level, LOG_LEVEL_VERBOSE); case 5001: OPT_SET(log_level, LOG_LEVEL_VERBOSE);
case 5002: OPT_SET(log_level, LOG_LEVEL_DEBUG); case 5002: OPT_SET(log_level, LOG_LEVEL_DEBUG);
case 5010: OPT_UNSIGNED(log_level, "--log-level", 0, 3); case 5010: OPT_UNSIGNED(log_level, "--log-level", 0, 3);
case 'h': _help(dev, encoder, server); return 1;
case 6000: _version(true); return 1;
case 0: break; case 0: break;
case 'h': default: _help(dev, encoder, server); return -1; default: _help(dev, encoder, server); return -1;
} }
} }
@@ -294,5 +309,5 @@ int main(int argc, char *argv[]) {
device_destroy(dev); device_destroy(dev);
LOGGING_DESTROY; LOGGING_DESTROY;
return abs(exit_code); return (exit_code < 0 ? 1 : 0);
} }