Add missing configuration functionality to media_stream

This commit is contained in:
Aaro Altonen 2020-02-10 09:04:52 +02:00
parent 6e008f8e59
commit c1ef0955f7
2 changed files with 53 additions and 2 deletions

View File

@ -1,8 +1,9 @@
#include "media_stream.hh"
kvz_rtp::media_stream::media_stream(std::string addr, int src_port, int dst_port, rtp_format_t fmt, int flags):
conn_(nullptr),
srtp_(nullptr)
socket_(),
srtp_(nullptr),
media_config_(nullptr)
{
fmt_ = fmt;
addr_ = addr;
@ -70,3 +71,38 @@ rtp_error_t kvz_rtp::media_stream::install_deallocation_hook(void (*hook)(void *
return RTP_OK;
}
void kvz_rtp::media_stream::set_media_config(void *config)
{
media_config_ = config;
}
void *kvz_rtp::media_stream::get_media_config()
{
return media_config_;
}
rtp_ctx_conf_t& kvz_rtp::media_stream::get_ctx_config()
{
return ctx_config_;
}
rtp_error_t kvz_rtp::media_stream::configure_ctx(int flag, ssize_t value)
{
if (flag < 0 || flag >= RCC_LAST || value < 0)
return RTP_INVALID_VALUE;
ctx_config_.ctx_values[flag] = value;
return RTP_OK;
}
rtp_error_t kvz_rtp::media_stream::configure_ctx(int flag)
{
if (flag < 0 || flag >= RCE_LAST)
return RTP_INVALID_VALUE;
ctx_config_.flags |= flag;
return RTP_OK;
}

View File

@ -49,6 +49,15 @@ namespace kvz_rtp {
/* TODO: document */
rtp_error_t install_deallocation_hook(void (*hook)(void *));
/* TODO: document */
rtp_ctx_conf_t& get_ctx_config();
rtp_error_t configure_ctx(int flag, ssize_t value);
rtp_error_t configure_ctx(int flag);
/* TODO: document */
void set_media_config(void *config);
void *get_media_config();
private:
uint32_t key_;
@ -63,5 +72,11 @@ namespace kvz_rtp {
int dst_port_;
rtp_format_t fmt_;
int flags_;
/* Media context config (SCD etc.) */
rtp_ctx_conf_t ctx_config_;
/* Media config f.ex. for Opus */
void *media_config_;
};
};