mirror of
https://github.com/pikvm/ustreamer.git
synced 2026-03-11 18:13:41 +00:00
removed frame name
This commit is contained in:
@@ -78,7 +78,7 @@ static int MemsinkObject_init(MemsinkObject *self, PyObject *args, PyObject *kwa
|
|||||||
|
|
||||||
# undef SET_DOUBLE
|
# undef SET_DOUBLE
|
||||||
|
|
||||||
self->frame = frame_init("memsink_client");
|
self->frame = frame_init();
|
||||||
|
|
||||||
if ((self->fd = shm_open(self->obj, O_RDWR, 0)) == -1) {
|
if ((self->fd = shm_open(self->obj, O_RDWR, 0)) == -1) {
|
||||||
PyErr_SetFromErrno(PyExc_OSError);
|
PyErr_SetFromErrno(PyExc_OSError);
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ static void _install_signal_handlers(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int _dump_sink(const char *sink_name, unsigned sink_timeout, _output_context_s *ctx) {
|
static int _dump_sink(const char *sink_name, unsigned sink_timeout, _output_context_s *ctx) {
|
||||||
frame_s *frame = frame_init("input");
|
frame_s *frame = frame_init();
|
||||||
memsink_s *sink = NULL;
|
memsink_s *sink = NULL;
|
||||||
|
|
||||||
if ((sink = memsink_init("input", sink_name, false, 0, false, 0, sink_timeout)) == NULL) {
|
if ((sink = memsink_init("input", sink_name, false, 0, false, 0, sink_timeout)) == NULL) {
|
||||||
|
|||||||
@@ -23,10 +23,9 @@
|
|||||||
#include "frame.h"
|
#include "frame.h"
|
||||||
|
|
||||||
|
|
||||||
frame_s *frame_init(const char *name) {
|
frame_s *frame_init(void) {
|
||||||
frame_s *frame;
|
frame_s *frame;
|
||||||
A_CALLOC(frame, 1);
|
A_CALLOC(frame, 1);
|
||||||
frame->name = name;
|
|
||||||
frame->managed = true;
|
frame->managed = true;
|
||||||
frame_realloc_data(frame, 512 * 1024);
|
frame_realloc_data(frame, 512 * 1024);
|
||||||
return frame;
|
return frame;
|
||||||
@@ -43,8 +42,6 @@ void frame_destroy(frame_s *frame) {
|
|||||||
void frame_realloc_data(frame_s *frame, size_t size) {
|
void frame_realloc_data(frame_s *frame, size_t size) {
|
||||||
assert(frame->managed);
|
assert(frame->managed);
|
||||||
if (frame->allocated < size) {
|
if (frame->allocated < size) {
|
||||||
//LOG_DEBUG("Increasing frame buffer '%s': %zu -> %zu (+%zu)",
|
|
||||||
// frame->name, frame->allocated, size, size - frame->allocated);
|
|
||||||
A_REALLOC(frame->data, size);
|
A_REALLOC(frame->data, size);
|
||||||
frame->allocated = size;
|
frame->allocated = size;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,12 +32,9 @@
|
|||||||
#include <linux/videodev2.h>
|
#include <linux/videodev2.h>
|
||||||
|
|
||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
//#include "logging.h"
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const char *name;
|
|
||||||
|
|
||||||
uint8_t *data;
|
uint8_t *data;
|
||||||
size_t used;
|
size_t used;
|
||||||
size_t allocated;
|
size_t allocated;
|
||||||
@@ -88,7 +85,7 @@ inline void frame_copy_meta(const frame_s *src, frame_s *dest) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
frame_s *frame_init(const char *name);
|
frame_s *frame_init(void);
|
||||||
void frame_destroy(frame_s *frame);
|
void frame_destroy(frame_s *frame);
|
||||||
|
|
||||||
void frame_realloc_data(frame_s *frame, size_t size);
|
void frame_realloc_data(frame_s *frame, size_t size);
|
||||||
|
|||||||
@@ -87,6 +87,6 @@ static void _jpeg_error_handler(j_common_ptr jpeg) {
|
|||||||
char msg[JMSG_LENGTH_MAX];
|
char msg[JMSG_LENGTH_MAX];
|
||||||
|
|
||||||
(*jpeg_error->mgr.format_message)(jpeg, msg);
|
(*jpeg_error->mgr.format_message)(jpeg, msg);
|
||||||
LOG_ERROR("Can't decompress %s JPEG: %s", jpeg_error->frame->name, msg);
|
LOG_ERROR("Can't decompress JPEG: %s", msg);
|
||||||
longjmp(jpeg_error->jmp, -1);
|
longjmp(jpeg_error->jmp, -1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ frame_s *blank_frame_init(const char *path) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static frame_s *_init_internal(void) {
|
static frame_s *_init_internal(void) {
|
||||||
frame_s *blank = frame_init("blank_internal");
|
frame_s *blank = frame_init();
|
||||||
frame_set_data(blank, BLANK_JPEG_DATA, BLANK_JPEG_DATA_SIZE);
|
frame_set_data(blank, BLANK_JPEG_DATA, BLANK_JPEG_DATA_SIZE);
|
||||||
blank->width = BLANK_JPEG_WIDTH;
|
blank->width = BLANK_JPEG_WIDTH;
|
||||||
blank->height = BLANK_JPEG_HEIGHT;
|
blank->height = BLANK_JPEG_HEIGHT;
|
||||||
@@ -55,7 +55,7 @@ static frame_s *_init_internal(void) {
|
|||||||
static frame_s *_init_external(const char *path) {
|
static frame_s *_init_external(const char *path) {
|
||||||
FILE *fp = NULL;
|
FILE *fp = NULL;
|
||||||
|
|
||||||
frame_s *blank = frame_init("blank_external");
|
frame_s *blank = frame_init();
|
||||||
blank->format = V4L2_PIX_FMT_JPEG;
|
blank->format = V4L2_PIX_FMT_JPEG;
|
||||||
|
|
||||||
if ((fp = fopen(path, "rb")) == NULL) {
|
if ((fp = fopen(path, "rb")) == NULL) {
|
||||||
@@ -83,7 +83,7 @@ static frame_s *_init_external(const char *path) {
|
|||||||
}
|
}
|
||||||
# undef CHUNK_SIZE
|
# undef CHUNK_SIZE
|
||||||
|
|
||||||
frame_s *decoded = frame_init("blank_external_decoded");
|
frame_s *decoded = frame_init();
|
||||||
if (unjpeg(blank, decoded, false) < 0) {
|
if (unjpeg(blank, decoded, false) < 0) {
|
||||||
frame_destroy(decoded);
|
frame_destroy(decoded);
|
||||||
goto error;
|
goto error;
|
||||||
|
|||||||
@@ -212,21 +212,17 @@ void encoder_get_runtime_params(encoder_s *enc, encoder_type_e *type, unsigned *
|
|||||||
A_MUTEX_UNLOCK(&ER(mutex));
|
A_MUTEX_UNLOCK(&ER(mutex));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *_worker_job_init(worker_s *wr, void *v_enc) {
|
static void *_worker_job_init(void *v_enc) {
|
||||||
encoder_job_s *job;
|
encoder_job_s *job;
|
||||||
A_CALLOC(job, 1);
|
A_CALLOC(job, 1);
|
||||||
job->enc = (encoder_s *)v_enc;
|
job->enc = (encoder_s *)v_enc;
|
||||||
|
job->dest = frame_init();
|
||||||
A_ASPRINTF(job->dest_role, "%s_dest", wr->name);
|
|
||||||
job->dest = frame_init(job->dest_role);
|
|
||||||
|
|
||||||
return (void *)job;
|
return (void *)job;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _worker_job_destroy(void *v_job) {
|
static void _worker_job_destroy(void *v_job) {
|
||||||
encoder_job_s *job = (encoder_job_s *)v_job;
|
encoder_job_s *job = (encoder_job_s *)v_job;
|
||||||
frame_destroy(job->dest);
|
frame_destroy(job->dest);
|
||||||
free(job->dest_role);
|
|
||||||
free(job);
|
free(job);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ h264_stream_s *h264_stream_init(memsink_s *sink, unsigned bitrate, unsigned gop)
|
|||||||
h264_stream_s *h264;
|
h264_stream_s *h264;
|
||||||
A_CALLOC(h264, 1);
|
A_CALLOC(h264, 1);
|
||||||
h264->sink = sink;
|
h264->sink = sink;
|
||||||
h264->tmp_src = frame_init("h264_tmp_src");
|
h264->tmp_src = frame_init();
|
||||||
h264->dest = frame_init("h264_dest");
|
h264->dest = frame_init();
|
||||||
atomic_init(&h264->online, false);
|
atomic_init(&h264->online, false);
|
||||||
|
|
||||||
// FIXME: 30 or 0? https://github.com/6by9/yavta/blob/master/yavta.c#L2100
|
// FIXME: 30 or 0? https://github.com/6by9/yavta/blob/master/yavta.c#L2100
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ static char *_http_get_client_hostport(struct evhttp_request *request);
|
|||||||
server_s *server_init(stream_s *stream) {
|
server_s *server_init(stream_s *stream) {
|
||||||
exposed_s *exposed;
|
exposed_s *exposed;
|
||||||
A_CALLOC(exposed, 1);
|
A_CALLOC(exposed, 1);
|
||||||
exposed->frame = frame_init("http_exposed");
|
exposed->frame = frame_init();
|
||||||
|
|
||||||
server_runtime_s *run;
|
server_runtime_s *run;
|
||||||
A_CALLOC(run, 1);
|
A_CALLOC(run, 1);
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ stream_s *stream_init(device_s *dev, encoder_s *enc) {
|
|||||||
|
|
||||||
video_s *video;
|
video_s *video;
|
||||||
A_CALLOC(video, 1);
|
A_CALLOC(video, 1);
|
||||||
video->frame = frame_init("stream_video");
|
video->frame = frame_init();
|
||||||
atomic_init(&video->updated, false);
|
atomic_init(&video->updated, false);
|
||||||
A_MUTEX_INIT(&video->mutex);
|
A_MUTEX_INIT(&video->mutex);
|
||||||
atomic_init(&video->has_clients, false);
|
atomic_init(&video->has_clients, false);
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ typedef struct workers_pool_sx {
|
|||||||
|
|
||||||
workers_pool_s *workers_pool_init(
|
workers_pool_s *workers_pool_init(
|
||||||
const char *name, const char *wr_prefix, unsigned n_workers, long double desired_interval,
|
const char *name, const char *wr_prefix, unsigned n_workers, long double desired_interval,
|
||||||
void *(*job_init)(worker_s *wr, void *arg), void *job_init_arg,
|
void *(*job_init)(void *arg), void *job_init_arg,
|
||||||
void (*job_destroy)(void *job),
|
void (*job_destroy)(void *job),
|
||||||
bool (*run_job)(worker_s *));
|
bool (*run_job)(worker_s *));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user