metadata is a more descriptive property name
This commit is contained in:
parent
63ee24d334
commit
e34a5acb5c
|
@ -47,7 +47,7 @@ QSacnUniverse::~QSacnUniverse()
|
|||
*/
|
||||
const QString QSacnUniverse::sourceName() const
|
||||
{
|
||||
auto metadata = universe_->provenance();
|
||||
auto metadata = universe_->metadata();
|
||||
return metadata ? QString::fromUtf8(metadata->source_name.c_str()) : QString();
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,7 @@ const QString QSacnUniverse::sourceName() const
|
|||
*/
|
||||
uint16_t QSacnUniverse::number() const
|
||||
{
|
||||
auto metadata = universe_->provenance();
|
||||
auto metadata = universe_->metadata();
|
||||
return metadata ? metadata->universe : 0;
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ uint16_t QSacnUniverse::number() const
|
|||
*/
|
||||
uint8_t QSacnUniverse::priority() const
|
||||
{
|
||||
auto metadata = universe_->provenance();
|
||||
auto metadata = universe_->metadata();
|
||||
return metadata ? metadata->priority : 0;
|
||||
}
|
||||
|
||||
|
@ -169,7 +169,7 @@ void QSacnUniverse::setOptions(sACN::DATA::data_options o)
|
|||
if (!isEditable())
|
||||
return;
|
||||
|
||||
universe_->provenance()->options = o;
|
||||
universe_->metadata()->options = o;
|
||||
emit dataChanged();
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ void QSacnUniverse::setPriority(uint8_t p)
|
|||
if (!isEditable())
|
||||
return;
|
||||
|
||||
universe_->provenance()->priority = p;
|
||||
universe_->metadata()->priority = p;
|
||||
emit dataChanged();
|
||||
}
|
||||
|
||||
|
@ -197,7 +197,7 @@ void QSacnUniverse::setSyncAddress(uint16_t a)
|
|||
if (!isEditable())
|
||||
return;
|
||||
|
||||
universe_->provenance()->sync_address = a;
|
||||
universe_->metadata()->sync_address = a;
|
||||
emit dataChanged();
|
||||
}
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ void ArbitratingUniverse::dataChangedNotifier(DMX::Universe* dmx)
|
|||
auto universe = dominant_();
|
||||
if (!universe)
|
||||
return;
|
||||
if (sacn->provenance() == universe->provenance())
|
||||
if (sacn->metadata() == universe->metadata())
|
||||
doDataCallbacks();
|
||||
}
|
||||
|
||||
|
@ -205,7 +205,7 @@ std::shared_ptr<DATA::data_header> ArbitratingUniverse::provenance()
|
|||
{
|
||||
auto universe = dominant_();
|
||||
if (universe)
|
||||
return universe->provenance();
|
||||
return universe->metadata();
|
||||
|
||||
auto prov = std::make_shared<DATA::data_header>();
|
||||
prov->universe = expectedUniverse;
|
||||
|
|
|
@ -71,7 +71,7 @@ public:
|
|||
void set(std::shared_ptr<ACN::DMP::Pdu>, std::shared_ptr<DATA::data_header>) override;
|
||||
virtual uint8_t status() override;
|
||||
|
||||
std::shared_ptr<DATA::data_header> provenance() override;
|
||||
std::shared_ptr<DATA::data_header> metadata() override;
|
||||
void setProvenance(std::shared_ptr<DATA::data_header>) override {};
|
||||
|
||||
bool isSyncronized() override;
|
||||
|
|
|
@ -199,13 +199,13 @@ void Receiver::extendedReceiver(ACN::PDU::Message<ACN::RLP::Pdu> root)
|
|||
*
|
||||
*/
|
||||
void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
|
||||
auto source = std::static_pointer_cast<DATA::data_header>(frame->header());
|
||||
auto metadata = std::static_pointer_cast<DATA::data_header>(frame->header());
|
||||
|
||||
if (!universes_.count(source->universe))
|
||||
if (!universes_.count(metadata->universe))
|
||||
return;
|
||||
auto universe = universes_.at(source->universe)->sourceUniverse(*source);
|
||||
auto universe = universes_.at(metadata->universe)->sourceUniverse(*metadata);
|
||||
if (!universe)
|
||||
universe = universes_.at(source->universe)->addNewSource(*source);
|
||||
universe = universes_.at(metadata->universe)->addNewSource(*metadata);
|
||||
|
||||
/// > \cite sACN 6.2.6 E1.31 Data Packet: Options
|
||||
/// >
|
||||
|
@ -214,7 +214,7 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
|
|||
/// > intended for use in visualization or media server preview applications
|
||||
/// > and shall not be used to generate live output.
|
||||
/// \bug Preview_Data flag is ignored
|
||||
if (source->options.preview_data)
|
||||
if (metadata->options.preview_data)
|
||||
return;
|
||||
|
||||
/// > \cite sACN 6.2.6 E1.31 Data Packet: Options
|
||||
|
@ -223,16 +223,16 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
|
|||
/// >
|
||||
/// > allow E1.31 sources to terminate transmission of a stream or of
|
||||
/// > universe synchronization without waiting for a timeout to occur.
|
||||
if (source->options.stream_terminated)
|
||||
if (metadata->options.stream_terminated)
|
||||
{
|
||||
/// Set the universe's status to TERMINATED.
|
||||
universe->setStatus(Universe::sACN_TERMINATED);
|
||||
/// Resetting the sequencing on terminated universes results in faster reaquision
|
||||
/// from the same source without waiting for the sequence to realign.
|
||||
universe->provenance()->sequence_number = 0;
|
||||
universe->metadata()->sequence_number = 0;
|
||||
/// Terminated universe may be deleted as sources.
|
||||
/// The universe may keep itself, in a terminated state, for hold-last-look.
|
||||
universes_[source->universe]->deleteSourceUniverse(*source);
|
||||
universes_[metadata->universe]->deleteSourceUniverse(*metadata);
|
||||
/// > Any property values in an E1.31 Data Packet containing this bit
|
||||
/// > shall be ignored.
|
||||
return;
|
||||
|
@ -242,8 +242,8 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
|
|||
/// >
|
||||
/// > a value of 0 in the Synchronization Address indicates that the universe
|
||||
/// > data is not synchronized.
|
||||
if (source->sync_address != 0)
|
||||
subscribe(source->sync_address);
|
||||
if (metadata->sync_address != 0)
|
||||
subscribe(metadata->sync_address);
|
||||
|
||||
/// > \cite sACN 6.7.2 Sequence Numbering
|
||||
/// >
|
||||
|
@ -260,8 +260,8 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
|
|||
/// This also prevents the rejection of messages recieved on both IPv4 and
|
||||
/// IPv6, which violates the reciever requiement in \cite sACN 9.1 Association
|
||||
/// of Multicast Addresses and Universe requirement.
|
||||
auto a = universe->provenance()->sequence_number;
|
||||
auto b = source->sequence_number;
|
||||
auto a = universe->metadata()->sequence_number;
|
||||
auto b = metadata->sequence_number;
|
||||
if (!(a == 0 && b == 0))
|
||||
{
|
||||
int dif = b - a;
|
||||
|
@ -281,7 +281,7 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
|
|||
/// > VECTOR_DMP_SET_PROPERTY.
|
||||
switch(dmp->vector()) {
|
||||
case ACN::DMP::SET_PROPERTY:
|
||||
universe->set(dmp, source);
|
||||
universe->set(dmp, metadata);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -76,7 +76,7 @@ void Source::terminate(const uint16_t num)
|
|||
return;
|
||||
|
||||
universes_mutext_.lock();
|
||||
auto metadata = universes_.at(num)->provenance();
|
||||
auto metadata = universes_.at(num)->metadata();
|
||||
metadata->options.stream_terminated = true;
|
||||
universes_.at(num)->setProvenance(metadata);
|
||||
universes_.erase(num);
|
||||
|
@ -126,7 +126,7 @@ void Source::assignUserName(const std::string s)
|
|||
{
|
||||
ACN::Component::assignUserName(s);
|
||||
for( auto & [_, universe] : universes_ )
|
||||
universe->provenance()->source_name = name();
|
||||
universe->metadata()->source_name = name();
|
||||
}
|
||||
|
||||
|
||||
|
@ -182,7 +182,7 @@ void Source::discovery_send_()
|
|||
{
|
||||
if (!univ->activeSlots())
|
||||
continue;
|
||||
if (univ->provenance()->options.stream_terminated)
|
||||
if (univ->metadata()->options.stream_terminated)
|
||||
continue;
|
||||
if (univ->destination.type != ACN::SDT::SDT_ADDR_NULL)
|
||||
continue;
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace sACN {
|
|||
*/
|
||||
Universe::Universe(Source* src)
|
||||
: DMX::Universe(E131_NETWORK_DATA_LOSS_TIMEOUT)
|
||||
, provenance_(std::make_shared<DATA::data_header>())
|
||||
, metadata_(std::make_shared<DATA::data_header>())
|
||||
, source_(src)
|
||||
, active_data_slots_(1) // start code
|
||||
, sync_sequence_(0)
|
||||
|
@ -153,7 +153,7 @@ void Universe::set(ACN::PDU::Message<ACN::DMP::Pdu> dmp,
|
|||
*/
|
||||
void Universe::setProvenance(std::shared_ptr<DATA::data_header> source)
|
||||
{
|
||||
provenance_ = source;
|
||||
metadata_ = source;
|
||||
}
|
||||
|
||||
|
||||
|
@ -184,7 +184,7 @@ bool Universe::isEditable() const
|
|||
const std::vector<DATA::data_header> Universe::sources() const
|
||||
{
|
||||
std::vector<DATA::data_header> keys;
|
||||
keys.push_back(*provenance_);
|
||||
keys.push_back(*metadata_);
|
||||
return keys;
|
||||
}
|
||||
|
||||
|
@ -206,7 +206,7 @@ std::shared_ptr<void> Universe::onSourceListChange(std::function<void()>)
|
|||
*/
|
||||
std::shared_ptr<Universe> Universe::sourceUniverse(const DATA::data_header& src)
|
||||
{
|
||||
if (src == *provenance())
|
||||
if (src == *metadata())
|
||||
return shared_from_this();
|
||||
|
||||
return nullptr;
|
||||
|
@ -277,12 +277,12 @@ void Universe::setStatus(uint8_t status)
|
|||
|
||||
|
||||
/**
|
||||
* @brief Universe::source
|
||||
* @brief Universe::metadata
|
||||
* @return
|
||||
*/
|
||||
std::shared_ptr<DATA::data_header> Universe::provenance()
|
||||
std::shared_ptr<DATA::data_header> Universe::metadata()
|
||||
{
|
||||
return provenance_;
|
||||
return metadata_;
|
||||
}
|
||||
|
||||
|
||||
|
@ -328,7 +328,7 @@ void Universe::sACNsend() const
|
|||
/// >
|
||||
/// > ... The sequence number for a universe shall be incremented by one for
|
||||
/// > every packet sent on that universe...
|
||||
provenance_->sequence_number++;
|
||||
metadata_->sequence_number++;
|
||||
|
||||
// header
|
||||
auto addrtyp = std::make_shared<ACN::DMP::address_type>();
|
||||
|
@ -362,7 +362,7 @@ void Universe::sACNsend() const
|
|||
// sACN Framing Layer
|
||||
auto frame = std::make_shared<DATA::Pdu>();
|
||||
frame->setVector(VECTOR_E131_DATA_PACKET);
|
||||
frame->setHeader(provenance_);
|
||||
frame->setHeader(metadata_);
|
||||
frame->setData(dmp);
|
||||
|
||||
// send
|
||||
|
@ -370,9 +370,9 @@ void Universe::sACNsend() const
|
|||
{
|
||||
case ACN::SDT::SDT_ADDR_NULL:
|
||||
source_->rlpSendUdp(VECTOR_ROOT_E131_DATA, frame,
|
||||
IPv4MulticastAddress(provenance_->universe));
|
||||
IPv4MulticastAddress(metadata_->universe));
|
||||
source_->rlpSendUdp(VECTOR_ROOT_E131_DATA, frame,
|
||||
IPv6MulticastAddress(provenance_->universe));
|
||||
IPv6MulticastAddress(metadata_->universe));
|
||||
break;
|
||||
default:
|
||||
source_->rlpSendUdp(VECTOR_ROOT_E131_DATA, frame, destination);
|
||||
|
@ -459,7 +459,7 @@ void Universe::tx_loop_()
|
|||
else
|
||||
{
|
||||
setStatus(sACN_TERMINATED); // note the changed operating status
|
||||
provenance_->options.stream_terminated = true; // set the stream_terminated bit
|
||||
metadata_->options.stream_terminated = true; // set the stream_terminated bit
|
||||
--terminated_resend; // stream_terminated must be sent 3 times
|
||||
sleep = minimum_update_time; // stay throttled up through the termination sequence
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
|
||||
virtual void set(ACN::PDU::Message<ACN::DMP::Pdu>, std::shared_ptr<DATA::data_header>);
|
||||
|
||||
virtual std::shared_ptr<DATA::data_header> provenance();
|
||||
virtual std::shared_ptr<DATA::data_header> metadata();
|
||||
virtual void setProvenance(std::shared_ptr<DATA::data_header>);
|
||||
|
||||
virtual bool isSyncronized();
|
||||
|
@ -97,7 +97,7 @@ protected:
|
|||
void sACNsend() const;
|
||||
|
||||
private:
|
||||
std::shared_ptr<DATA::data_header> provenance_;
|
||||
std::shared_ptr<DATA::data_header> metadata_;
|
||||
std::vector<uint8_t> * sync_data_ = nullptr;
|
||||
Source* source_;
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ TEST_F(sACNdataTest, stream_in) {
|
|||
|
||||
EXPECT_DOUBLE_EQ(universe->rxRate(), 1.2) << "rate calucation mismatch";
|
||||
|
||||
auto metadata = universe->provenance();
|
||||
auto metadata = universe->metadata();
|
||||
ASSERT_TRUE(metadata) << "stream failure";
|
||||
|
||||
EXPECT_EQ(metadata->source_name, desc) << "Source Description mismatch";
|
||||
|
|
Loading…
Reference in New Issue