![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <cinttypes>#include <chrono>#include <memory>#include <thread>#include <string>#include "hd-rum-translator/hd-rum-recompress.h"#include "debug.h"#include "host.h"#include "utils/misc.h"#include "rtp/rtp.h"#include "tv.h"#include "video_compress.h"#include "video_rxtx/ultragrid_rtp.hpp"#include "utils/profile_timer.hpp"
Go to the source code of this file.
Classes | |
| struct | recompress_output_port |
| struct | recompress_worker_ctx |
| struct | state_recompress |
Functions | |
| static void | extract_port (struct state_recompress *s, const std::string &compress_cfg, int i, recompress_output_port *move_to=nullptr) |
| static int | move_port_to_worker (struct state_recompress *s, const char *compress, recompress_output_port &&port) |
| int | recompress_add_port (struct state_recompress *s, const char *host, const char *compress, unsigned short rx_port, unsigned short tx_port, const struct common_opts *common, const char *fec, long long bitrate) |
| void | recompress_done (struct state_recompress *s) |
| int | recompress_get_num_active_ports (struct state_recompress *s) |
| uint32_t | recompress_get_port_ssrc (struct state_recompress *s, int idx) |
| struct state_recompress * | recompress_init (struct module *parent) |
| bool | recompress_port_change_compress (struct state_recompress *s, int index, const char *new_compress) |
| void | recompress_port_set_active (struct state_recompress *s, int index, bool active) |
| static void | recompress_port_write (recompress_output_port &port, shared_ptr< video_frame > frame) |
| void | recompress_process_async (state_recompress *s, std::shared_ptr< video_frame > frame) |
| void | recompress_remove_port (struct state_recompress *s, int index) |
| static void | recompress_worker (struct recompress_worker_ctx *ctx) |
| static int | worker_get_num_active_ports (const recompress_worker_ctx &worker) |
Component of the transcoding reflector that takes an uncompressed frame, recompresses it to another compression and sends it to destination (therefore it wraps the whole sending part of UltraGrid).
Definition in file hd-rum-recompress.cpp.
|
static |
Definition at line 230 of file hd-rum-recompress.cpp.
References compress_frame(), state_recompress::index_to_port, module::lock, worker(), and state_recompress::workers.
Referenced by recompress_port_change_compress(), and recompress_remove_port().

|
static |
Definition at line 183 of file hd-rum-recompress.cpp.
References compress_init(), module::lock, state_recompress::parent, recompress_worker(), worker(), and state_recompress::workers.
Referenced by recompress_add_port(), and recompress_port_change_compress().

| int recompress_add_port | ( | struct state_recompress * | s, |
| const char * | host, | ||
| const char * | compress, | ||
| unsigned short | rx_port, | ||
| unsigned short | tx_port, | ||
| const struct common_opts * | common, | ||
| const char * | fec, | ||
| long long | bitrate ) |
Definition at line 205 of file hd-rum-recompress.cpp.
References state_recompress::index_to_port, module::lock, move_port_to_worker(), and state_recompress::mut.
Referenced by create_output_port().

| void recompress_done | ( | struct state_recompress * | s | ) |
Definition at line 342 of file hd-rum-recompress.cpp.
References compress_done(), compress_frame(), state_recompress::mut, worker(), and state_recompress::workers.
Referenced by hd_rum_translator_deinit().

| int recompress_get_num_active_ports | ( | struct state_recompress * | s | ) |
Definition at line 313 of file hd-rum-recompress.cpp.
References module::lock, state_recompress::mut, worker(), worker_get_num_active_ports(), and state_recompress::workers.
Referenced by writer().

| uint32_t recompress_get_port_ssrc | ( | struct state_recompress * | s, |
| int | idx ) |
Definition at line 263 of file hd-rum-recompress.cpp.
References state_recompress::index_to_port, module::lock, state_recompress::mut, and state_recompress::workers.
Referenced by writer().
| struct state_recompress * recompress_init | ( | struct module * | parent | ) |
Definition at line 323 of file hd-rum-recompress.cpp.
Referenced by main().
| bool recompress_port_change_compress | ( | struct state_recompress * | s, |
| int | index, | ||
| const char * | new_compress ) |
Definition at line 281 of file hd-rum-recompress.cpp.
References extract_port(), state_recompress::index_to_port, module::lock, move_port_to_worker(), and state_recompress::mut.
Referenced by change_replica_type().

| void recompress_port_set_active | ( | struct state_recompress * | s, |
| int | index, | ||
| bool | active ) |
Definition at line 271 of file hd-rum-recompress.cpp.
References state_recompress::index_to_port, module::lock, state_recompress::mut, and state_recompress::workers.
Referenced by change_replica_type(), and create_output_port().
|
static |
Definition at line 146 of file hd-rum-recompress.cpp.
References count, frame, recompress_output_port::frames, recompress_output_port::host, LOG_LEVEL_INFO, log_msg(), PROFILE_FUNC, video_frame::ssrc, recompress_output_port::t0, recompress_output_port::tx_port, and recompress_output_port::video_rxtx.
Referenced by recompress_worker().

| void recompress_process_async | ( | state_recompress * | s, |
| std::shared_ptr< video_frame > | frame ) |
Definition at line 333 of file hd-rum-recompress.cpp.
References compress_frame(), frame, state_recompress::mut, PROFILE_FUNC, worker(), worker_get_num_active_ports(), and state_recompress::workers.
Referenced by hd_rum_decompress::state_transcoder_decompress::worker().

| void recompress_remove_port | ( | struct state_recompress * | s, |
| int | index ) |
Definition at line 255 of file hd-rum-recompress.cpp.
References extract_port(), state_recompress::index_to_port, module::lock, and state_recompress::mut.
Referenced by writer().

|
static |
Definition at line 169 of file hd-rum-recompress.cpp.
References recompress_worker_ctx::compress, compress_pop(), frame, module::lock, recompress_worker_ctx::ports, recompress_worker_ctx::ports_mut, PROFILE_DETAIL, PROFILE_FUNC, and recompress_port_write().
Referenced by move_port_to_worker().

|
static |
Definition at line 304 of file hd-rum-recompress.cpp.
References worker().
Referenced by recompress_get_num_active_ports(), and recompress_process_async().
