Add missing configuration functionality to media_stream
This commit is contained in:
parent
6e008f8e59
commit
c1ef0955f7
|
|
@ -1,8 +1,9 @@
|
||||||
#include "media_stream.hh"
|
#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):
|
kvz_rtp::media_stream::media_stream(std::string addr, int src_port, int dst_port, rtp_format_t fmt, int flags):
|
||||||
conn_(nullptr),
|
socket_(),
|
||||||
srtp_(nullptr)
|
srtp_(nullptr),
|
||||||
|
media_config_(nullptr)
|
||||||
{
|
{
|
||||||
fmt_ = fmt;
|
fmt_ = fmt;
|
||||||
addr_ = addr;
|
addr_ = addr;
|
||||||
|
|
@ -70,3 +71,38 @@ rtp_error_t kvz_rtp::media_stream::install_deallocation_hook(void (*hook)(void *
|
||||||
|
|
||||||
return RTP_OK;
|
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;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,15 @@ namespace kvz_rtp {
|
||||||
/* TODO: document */
|
/* TODO: document */
|
||||||
rtp_error_t install_deallocation_hook(void (*hook)(void *));
|
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:
|
private:
|
||||||
uint32_t key_;
|
uint32_t key_;
|
||||||
|
|
||||||
|
|
@ -63,5 +72,11 @@ namespace kvz_rtp {
|
||||||
int dst_port_;
|
int dst_port_;
|
||||||
rtp_format_t fmt_;
|
rtp_format_t fmt_;
|
||||||
int flags_;
|
int flags_;
|
||||||
|
|
||||||
|
/* Media context config (SCD etc.) */
|
||||||
|
rtp_ctx_conf_t ctx_config_;
|
||||||
|
|
||||||
|
/* Media config f.ex. for Opus */
|
||||||
|
void *media_config_;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue