mirror of
https://github.com/pikvm/ustreamer.git
synced 2026-03-03 22:31:43 +00:00
Compare commits
3 Commits
v4p-with-s
...
v6.8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d43014346d | ||
|
|
bcd447963c | ||
|
|
eec6cfd0d4 |
@@ -1,7 +1,7 @@
|
|||||||
[bumpversion]
|
[bumpversion]
|
||||||
commit = True
|
commit = True
|
||||||
tag = True
|
tag = True
|
||||||
current_version = 6.7
|
current_version = 6.8
|
||||||
parse = (?P<major>\d+)\.(?P<minor>\d+)
|
parse = (?P<major>\d+)\.(?P<minor>\d+)
|
||||||
serialize =
|
serialize =
|
||||||
{major}.{minor}
|
{major}.{minor}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
.\" Manpage for ustreamer-dump.
|
.\" Manpage for ustreamer-dump.
|
||||||
.\" Open an issue or pull request to https://github.com/pikvm/ustreamer to correct errors or typos
|
.\" Open an issue or pull request to https://github.com/pikvm/ustreamer to correct errors or typos
|
||||||
.TH USTREAMER-DUMP 1 "version 6.7" "January 2021"
|
.TH USTREAMER-DUMP 1 "version 6.8" "January 2021"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ustreamer-dump \- Dump uStreamer's memory sink to file
|
ustreamer-dump \- Dump uStreamer's memory sink to file
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
.\" Manpage for ustreamer.
|
.\" Manpage for ustreamer.
|
||||||
.\" Open an issue or pull request to https://github.com/pikvm/ustreamer to correct errors or typos
|
.\" Open an issue or pull request to https://github.com/pikvm/ustreamer to correct errors or typos
|
||||||
.TH USTREAMER 1 "version 6.7" "November 2020"
|
.TH USTREAMER 1 "version 6.8" "November 2020"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ustreamer \- stream MJPEG video from any V4L2 device to the network
|
ustreamer \- stream MJPEG video from any V4L2 device to the network
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
pkgname=ustreamer
|
pkgname=ustreamer
|
||||||
pkgver=6.7
|
pkgver=6.8
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Lightweight and fast MJPEG-HTTP streamer"
|
pkgdesc="Lightweight and fast MJPEG-HTTP streamer"
|
||||||
url="https://github.com/pikvm/ustreamer"
|
url="https://github.com/pikvm/ustreamer"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ustreamer
|
PKG_NAME:=ustreamer
|
||||||
PKG_VERSION:=6.7
|
PKG_VERSION:=6.8
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_MAINTAINER:=Maxim Devaev <mdevaev@gmail.com>
|
PKG_MAINTAINER:=Maxim Devaev <mdevaev@gmail.com>
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ def _find_sources(suffix: str) -> list[str]:
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
setup(
|
setup(
|
||||||
name="ustreamer",
|
name="ustreamer",
|
||||||
version="6.7",
|
version="6.8",
|
||||||
description="uStreamer tools",
|
description="uStreamer tools",
|
||||||
author="Maxim Devaev",
|
author="Maxim Devaev",
|
||||||
author_email="mdevaev@gmail.com",
|
author_email="mdevaev@gmail.com",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#define US_VERSION_MAJOR 6
|
#define US_VERSION_MAJOR 6
|
||||||
#define US_VERSION_MINOR 7
|
#define US_VERSION_MINOR 8
|
||||||
|
|
||||||
#define US_MAKE_VERSION2(_major, _minor) #_major "." #_minor
|
#define US_MAKE_VERSION2(_major, _minor) #_major "." #_minor
|
||||||
#define US_MAKE_VERSION1(_major, _minor) US_MAKE_VERSION2(_major, _minor)
|
#define US_MAKE_VERSION1(_major, _minor) US_MAKE_VERSION2(_major, _minor)
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ void us_stream_loop(us_stream_s *stream) {
|
|||||||
drm_ctx.queue = us_queue_init(cap->run->n_bufs);
|
drm_ctx.queue = us_queue_init(cap->run->n_bufs);
|
||||||
drm_ctx.stream = stream;
|
drm_ctx.stream = stream;
|
||||||
drm_ctx.stop = &threads_stop;
|
drm_ctx.stop = &threads_stop;
|
||||||
US_THREAD_CREATE(drm_ctx.tid, _drm_thread, &drm_ctx);
|
US_THREAD_CREATE(drm_ctx.tid, _drm_thread, &drm_ctx); // cppcheck-suppress assertWithSideEffect
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
@@ -479,6 +479,7 @@ static void *_raw_thread(void *v_ctx) {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WITH_V4P
|
||||||
static void *_drm_thread(void *v_ctx) {
|
static void *_drm_thread(void *v_ctx) {
|
||||||
US_THREAD_SETTLE("str_drm");
|
US_THREAD_SETTLE("str_drm");
|
||||||
_worker_context_s *ctx = v_ctx;
|
_worker_context_s *ctx = v_ctx;
|
||||||
@@ -535,6 +536,7 @@ static void *_drm_thread(void *v_ctx) {
|
|||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static us_capture_hwbuf_s *_get_latest_hw(us_queue_s *queue) {
|
static us_capture_hwbuf_s *_get_latest_hw(us_queue_s *queue) {
|
||||||
us_capture_hwbuf_s *hw;
|
us_capture_hwbuf_s *hw;
|
||||||
@@ -560,8 +562,10 @@ static bool _stream_has_jpeg_clients_cached(us_stream_s *stream) {
|
|||||||
static bool _stream_has_any_clients_cached(us_stream_s *stream) {
|
static bool _stream_has_any_clients_cached(us_stream_s *stream) {
|
||||||
const us_stream_runtime_s *const run = stream->run;
|
const us_stream_runtime_s *const run = stream->run;
|
||||||
return (
|
return (
|
||||||
stream->v4p
|
# ifdef WITH_V4P
|
||||||
|| _stream_has_jpeg_clients_cached(stream)
|
stream->v4p ||
|
||||||
|
# endif
|
||||||
|
_stream_has_jpeg_clients_cached(stream)
|
||||||
|| (run->h264 != NULL && atomic_load(&run->h264->sink->has_clients))
|
|| (run->h264 != NULL && atomic_load(&run->h264->sink->has_clients))
|
||||||
|| (stream->raw_sink != NULL && atomic_load(&stream->raw_sink->has_clients))
|
|| (stream->raw_sink != NULL && atomic_load(&stream->raw_sink->has_clients))
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user