refactoring

This commit is contained in:
Maxim Devaev
2024-03-19 19:33:55 +02:00
parent 283f31a5a6
commit 34c0dcb1ce
11 changed files with 34 additions and 29 deletions

View File

@@ -214,7 +214,7 @@ static _enc_buffer_s *_enc_buffer_init(void) {
static void *_pcm_thread(void *v_audio) { static void *_pcm_thread(void *v_audio) {
US_THREAD_SETTLE("us_a_pcm"); US_THREAD_SETTLE("us_a_pcm");
us_audio_s *const audio = (us_audio_s *)v_audio; us_audio_s *const audio = v_audio;
u8 in[_MAX_BUF8]; u8 in[_MAX_BUF8];
while (!atomic_load(&audio->stop)) { while (!atomic_load(&audio->stop)) {
@@ -244,7 +244,7 @@ static void *_pcm_thread(void *v_audio) {
static void *_encoder_thread(void *v_audio) { static void *_encoder_thread(void *v_audio) {
US_THREAD_SETTLE("us_a_enc"); US_THREAD_SETTLE("us_a_enc");
us_audio_s *const audio = (us_audio_s *)v_audio; us_audio_s *const audio = v_audio;
s16 in_res[_MAX_BUF16]; s16 in_res[_MAX_BUF16];
while (!atomic_load(&audio->stop)) { while (!atomic_load(&audio->stop)) {

View File

@@ -104,7 +104,7 @@ static void *_audio_thread(void *v_client) {
} }
static void *_common_thread(void *v_client, bool video) { static void *_common_thread(void *v_client, bool video) {
us_janus_client_s *const client = (us_janus_client_s *)v_client; us_janus_client_s *const client = v_client;
us_ring_s *const ring = (video ? client->video_ring : client->audio_ring); us_ring_s *const ring = (video ? client->video_ring : client->audio_ring);
assert(ring != NULL); // Audio may be NULL assert(ring != NULL); // Audio may be NULL

View File

@@ -47,7 +47,7 @@ us_output_file_s *us_output_file_init(const char *path, bool json) {
} }
void us_output_file_write(void *v_output, const us_frame_s *frame) { void us_output_file_write(void *v_output, const us_frame_s *frame) {
us_output_file_s *output = (us_output_file_s *)v_output; us_output_file_s *output = v_output;
if (output->json) { if (output->json) {
us_base64_encode(frame->data, frame->used, &output->base64_data, &output->base64_allocated); us_base64_encode(frame->data, frame->used, &output->base64_data, &output->base64_allocated);
fprintf(output->fp, fprintf(output->fp,
@@ -66,7 +66,7 @@ void us_output_file_write(void *v_output, const us_frame_s *frame) {
} }
void us_output_file_destroy(void *v_output) { void us_output_file_destroy(void *v_output) {
us_output_file_s *output = (us_output_file_s *)v_output; us_output_file_s *output = v_output;
US_DELETE(output->base64_data, free); US_DELETE(output->base64_data, free);
if (output->fp && output->fp != stdout) { if (output->fp && output->fp != stdout) {
if (fclose(output->fp) < 0) { if (fclose(output->fp) < 0) {

View File

@@ -194,13 +194,13 @@ static void *_worker_job_init(void *v_enc) {
} }
static void _worker_job_destroy(void *v_job) { static void _worker_job_destroy(void *v_job) {
us_encoder_job_s *job = (us_encoder_job_s *)v_job; us_encoder_job_s *job = v_job;
us_frame_destroy(job->dest); us_frame_destroy(job->dest);
free(job); free(job);
} }
static bool _worker_run_job(us_worker_s *wr) { static bool _worker_run_job(us_worker_s *wr) {
us_encoder_job_s *job = (us_encoder_job_s *)wr->job; us_encoder_job_s *job = wr->job;
us_encoder_s *enc = job->enc; // Just for _ER() us_encoder_s *enc = job->enc; // Just for _ER()
const us_frame_s *src = &job->hw->raw; const us_frame_s *src = &job->hw->raw;
us_frame_s *dest = job->dest; us_frame_s *dest = job->dest;

View File

@@ -63,7 +63,12 @@ void us_cpu_encoder_compress(const us_frame_s *src, us_frame_s *dest, unsigned q
jpeg.image_width = src->width; jpeg.image_width = src->width;
jpeg.image_height = src->height; jpeg.image_height = src->height;
jpeg.input_components = 3; jpeg.input_components = 3;
jpeg.in_color_space = ((src->format == V4L2_PIX_FMT_YUYV || src->format == V4L2_PIX_FMT_UYVY) ? JCS_YCbCr : JCS_RGB); switch (src->format) {
case V4L2_PIX_FMT_YUYV:
case V4L2_PIX_FMT_YVYU:
case V4L2_PIX_FMT_UYVY: jpeg.in_color_space = JCS_YCbCr; break;
default: jpeg.in_color_space = JCS_RGB; break;
}
jpeg_set_defaults(&jpeg); jpeg_set_defaults(&jpeg);
jpeg_set_quality(&jpeg, quality, TRUE); jpeg_set_quality(&jpeg, quality, TRUE);

View File

@@ -176,7 +176,7 @@ long double us_workers_pool_get_fluency_delay(us_workers_pool_s *pool, const us_
} }
static void *_worker_thread(void *v_worker) { static void *_worker_thread(void *v_worker) {
us_worker_s *wr = (us_worker_s *)v_worker; us_worker_s *wr = v_worker;
US_THREAD_SETTLE("%s", wr->name); US_THREAD_SETTLE("%s", wr->name);
US_LOG_DEBUG("Hello! I am a worker %s ^_^", wr->name); US_LOG_DEBUG("Hello! I am a worker %s ^_^", wr->name);