39 memset(&
m_net2110, 0,
sizeof(NetworkData2110));
50 if (topObj.contains(
"protocol"))
52 QJsonObject obj2110 = topObj[
"protocol"].toObject();
56 if (topObj.contains(
"network2110"))
58 QJsonObject obj2110 = topObj[
"network2110"].toObject();
62 if (topObj.contains(
"receiveVideo2110"))
64 QJsonArray receiveVideoArray = topObj[
"receiveVideo2110"].toArray();
68 if (topObj.contains(
"receiveAudio2110"))
70 QJsonArray receiveAudioArray = topObj[
"receiveAudio2110"].toArray();
74 if (topObj.contains(
"receiveAnc2110"))
76 QJsonArray receiveAncArray = topObj[
"receiveAnc2110"].toArray();
80 if (topObj.contains(
"transmitVideo2110"))
82 QJsonArray transmitVideoArray = topObj[
"transmitVideo2110"].toArray();
86 if (topObj.contains(
"transmitAudio2110"))
88 QJsonArray transmitAudioArray = topObj[
"transmitAudio2110"].toArray();
92 if (topObj.contains(
"transmitAnc2110"))
94 QJsonArray transmitAncArray = topObj[
"transmitAnc2110"].toArray();
98 QJsonObject newTopObj;
100 newTopObj.insert(
"network2110",
m_netJson);
120 NetworkData2110 n2110;
125 memcpy(&
m_net2110, &n2110,
sizeof(NetworkData2110));
134 ReceiveVideoData2110 rVideo2110;
148 ReceiveAudioData2110 rAudio2110;
162 ReceiveAncData2110 rAnc2110;
176 TransmitVideoData2110 tVideo2110;
190 TransmitAudioData2110 tAudio2110;
204 TransmitAncData2110 tAnc2110;
218 return (enableBoolString ==
"true");
233 if (samplingString ==
"RGB")
259 if (channelString ==
"channel1")
261 else if (channelString ==
"channel2")
263 else if (channelString ==
"channel3")
265 else if (channelString ==
"channel4")
295 if (sfpString ==
"sfp1")
297 else if (sfpString ==
"sfp2")
311 else if (sfp == SFP_2)
323 if (streamString ==
"video1")
325 else if (streamString ==
"video2")
327 else if (streamString ==
"video3")
329 else if (streamString ==
"video4")
359 if (streamString ==
"audio1")
361 else if (streamString ==
"audio2")
363 else if (streamString ==
"audio3")
365 else if (streamString ==
"audio4")
395 if (streamString ==
"anc1")
397 else if (streamString ==
"anc2")
399 else if (streamString ==
"anc3")
401 else if (streamString ==
"anc4")
429 eNTV2PacketInterval pktInterval;
431 if (pktIntervalString ==
"1000us")
432 pktInterval = PACKET_INTERVAL_1mS;
433 else if (pktIntervalString ==
"125us")
434 pktInterval = PACKET_INTERVAL_125uS;
436 pktInterval = PACKET_INTERVAL_125uS;
445 if (pktInterval == PACKET_INTERVAL_1mS)
447 else if (pktInterval == PACKET_INTERVAL_125uS)
457 QString idstr = QString::fromStdString(str);
458 for (
int i=0; i<8; i++)
465 if (idstr.contains(
'-') || idstr.contains(
':'))
467 QByteArray vals = QByteArray::fromHex(idstr.toLatin1());
468 if (vals.size() == 8)
470 for (
int i=0; i<8; i++)
482 snprintf(buf,
sizeof(buf),
"%02X-%02X-%02X-%02X-%02X-%02X-%02X-%02X",
483 id[0],
id[1],
id[2],
id[3],
id[4],
id[5],
id[6],
id[7]);
489 memset(&n2110, 0,
sizeof(NetworkData2110));
492 std::cout <<
"Network2110" << std::endl;
494 n2110.ptpDomain = topObj[
"ptpDomain"].toInt();
495 if (
m_verbose) std::cout <<
" ptpDomain " << n2110.ptpDomain << std::endl;
497 str = topObj[
"ptpPreferredGMID"].toString().toStdString();
498 if (
m_verbose) std::cout <<
" ptpPreferredGMID " << str.c_str() << std::endl;
501 str = topObj[
"setup4k"].toString().toStdString();
502 if (
m_verbose) std::cout <<
" setup4k " << str.c_str() << std::endl;
505 str = topObj[
"multiSDP"].toString().toStdString();
506 if (
m_verbose) std::cout <<
" multiSDP " << str.c_str() << std::endl;
509 str = topObj[
"audioCombine"].toString().toStdString();
510 if (
m_verbose) std::cout <<
" audioCombine " << str.c_str() << std::endl;
513 n2110.rxMatchOverride = topObj[
"rxMatchOverride"].toInt();
514 if (
m_verbose) std::cout <<
" rxMatchOverride " << n2110.rxMatchOverride << std::endl;
517 QJsonArray sfpArray = topObj[
"sfps"].toArray();
518 n2110.numSFPs =
MinVal(sfpArray.count(), 2);
519 if (n2110.numSFPs == 0)
522 for (uint32_t i=0; i<n2110.numSFPs; i++)
524 if (
m_verbose) std::cout <<
" SFP " << i << std::endl;
526 QJsonObject sfpObj = sfpArray[i].toObject();
528 str = sfpObj[
"designator"].toString().toStdString();
529 if (
m_verbose) std::cout <<
" designator " << str.c_str() << std::endl;
530 n2110.sfp[i].sfp =
GetSfp(str);
532 str = sfpObj[
"ipAddress"].toString().toStdString();
533 if (
m_verbose) std::cout <<
" ipAddress " << str.c_str() << std::endl;
534 strncpy(n2110.sfp[i].ipAddress, str.c_str(),
kStrMax);
536 str = sfpObj[
"subnetMask"].toString().toStdString();
537 if (
m_verbose) std::cout <<
" subnetMask " << str.c_str() << std::endl;
538 strncpy(n2110.sfp[i].subnetMask, str.c_str(),
kStrMax);
540 str = sfpObj[
"gateWay"].toString().toStdString();
541 if (
m_verbose) std::cout <<
" gateWay " << str.c_str() << std::endl;
542 strncpy(n2110.sfp[i].gateWay, str.c_str(),
kStrMax);
544 str = sfpObj[
"enable"].toString().toStdString();
545 if (
m_verbose) std::cout <<
" enable " << str.c_str() << std::endl << std::endl;
554 topObj.insert(
"ptpDomain", QJsonValue((
int)n2110.ptpDomain));
555 topObj.insert(
"ptpPreferredGMID", QJsonValue(QString(
GetGrandMasterID(n2110.ptpPreferredGMID))));
557 topObj.insert(
"setup4k", QJsonValue(QString(
GetEnable(n2110.setup4k))));
559 topObj.insert(
"multiSDP", QJsonValue(QString(
GetEnable(n2110.multiSDP))));
561 topObj.insert(
"audioCombine", QJsonValue(QString(
GetEnable(n2110.audioCombine))));
563 topObj.insert(
"rxMatchOverride", QJsonValue((
int)n2110.rxMatchOverride));
567 for (uint32_t i=0; i<n2110.numSFPs; i++)
571 obj.insert(
"designator", QJsonValue(QString(
"sfp1")));
573 obj.insert(
"designator", QJsonValue(QString(
"sfp2")));
575 obj.insert(
"ipAddress", QJsonValue(QString(n2110.sfp[i].ipAddress)));
576 obj.insert(
"subnetMask", QJsonValue(QString(n2110.sfp[i].subnetMask)));
577 obj.insert(
"gateWay", QJsonValue(QString(n2110.sfp[i].gateWay)));
578 obj.insert(
"enable", QJsonValue(QString(
GetEnable(n2110.sfp[i].enable))));
579 sfpArray += QJsonValue(obj);
582 if (n2110.numSFPs > 0)
583 topObj.insert(
"sfps", QJsonValue(sfpArray));
590 memset(&rVideo2110, 0,
sizeof(ReceiveVideoData2110));
592 std::cout <<
"ReceiveVideo2110" << std::endl;
595 rVideo2110.numRxVideoChannels =
MinVal(vArray.count(), 4);
596 if (rVideo2110.numRxVideoChannels == 0)
601 for (uint32_t i=0; i<rVideo2110.numRxVideoChannels; i++)
603 QJsonObject vObj = vArray[i].toObject();
605 rVideo2110.rxVideoCh[i].sourcePort[0] = vObj[
"sfp1srcPort"].toInt();
606 if (
m_verbose) std::cout <<
" sfp1srcPort " << rVideo2110.rxVideoCh[i].sourcePort[0] << std::endl;
607 rVideo2110.rxVideoCh[i].destPort[0] = vObj[
"sfp1DestPort"].toInt();
608 if (
m_verbose) std::cout <<
" sfp1DestPort " << rVideo2110.rxVideoCh[i].destPort[0] << std::endl;
609 str = vObj[
"sfp1srcIPAddress"].toString().toStdString();
610 if (
m_verbose) std::cout <<
" sfp1srcIPAddress " << str.c_str() << std::endl;
611 strncpy(rVideo2110.rxVideoCh[i].sourceIP[0], str.c_str(),
kStrMax);
612 str = vObj[
"sfp1DestIPAddress"].toString().toStdString();
613 if (
m_verbose) std::cout <<
" sfp1DestIPAddress " << str.c_str() << std::endl;
614 strncpy(rVideo2110.rxVideoCh[i].destIP[0], str.c_str(),
kStrMax);
615 str = vObj[
"sfp1Enable"].toString().toStdString();
616 if (
m_verbose) std::cout <<
" sfp1Enable " << str.c_str() << std::endl;
617 rVideo2110.rxVideoCh[i].sfpEnable[0] =
GetEnable(str);
619 rVideo2110.rxVideoCh[i].sourcePort[1] = vObj[
"sfp2srcPort"].toInt();
620 if (
m_verbose) std::cout <<
" sfp2srcPort " << rVideo2110.rxVideoCh[i].sourcePort[1] << std::endl;
621 rVideo2110.rxVideoCh[i].destPort[1] = vObj[
"sfp2DestPort"].toInt();
622 if (
m_verbose) std::cout <<
" sfp2DestPort " << rVideo2110.rxVideoCh[i].destPort[1] << std::endl;
623 str = vObj[
"sfp2srcIPAddress"].toString().toStdString();
624 if (
m_verbose) std::cout <<
" sfp2srcIPAddress " << str.c_str() << std::endl;
625 strncpy(rVideo2110.rxVideoCh[i].sourceIP[1], str.c_str(),
kStrMax);
626 str = vObj[
"sfp2DestIPAddress"].toString().toStdString();
627 if (
m_verbose) std::cout <<
" sfp2DestIPAddress " << str.c_str() << std::endl;
628 strncpy(rVideo2110.rxVideoCh[i].destIP[1], str.c_str(),
kStrMax);
629 str = vObj[
"sfp2Enable"].toString().toStdString();
630 if (
m_verbose) std::cout <<
" sfp2Enable " << str.c_str() << std::endl;
631 rVideo2110.rxVideoCh[i].sfpEnable[1] =
GetEnable(str);
633 rVideo2110.rxVideoCh[i].vlan = vObj[
"vlan"].toInt();
634 if (
m_verbose) std::cout <<
" vlan " << rVideo2110.rxVideoCh[i].vlan << std::endl;
635 rVideo2110.rxVideoCh[i].ssrc = vObj[
"ssrc"].toInt();
636 if (
m_verbose) std::cout <<
" ssrc " << rVideo2110.rxVideoCh[i].ssrc << std::endl;
637 rVideo2110.rxVideoCh[i].payloadType = vObj[
"payloadType"].toInt();
638 if (
m_verbose) std::cout <<
" payloadType " << rVideo2110.rxVideoCh[i].payloadType << std::endl;
639 str = vObj[
"videoFormat"].toString().toStdString();
640 if (
m_verbose) std::cout <<
" videoFormat " << str.c_str() << std::endl;
646 str = vObj[
"enable"].toString().toStdString();
647 if (
m_verbose) std::cout <<
" enable " << str.c_str() << std::endl;
648 rVideo2110.rxVideoCh[i].enable =
GetEnable(str);
649 str = vObj[
"stream"].toString().toStdString();
650 if (
m_verbose) std::cout <<
" stream " << str.c_str() << std::endl << std::endl;
659 for (uint32_t i=0; i<rVideo2110.numRxVideoChannels; i++)
662 obj.insert(
"sfp1Enable", QJsonValue(QString(
GetEnable(rVideo2110.rxVideoCh[i].sfpEnable[0]))));
663 obj.insert(
"sfp1srcPort", QJsonValue(static_cast<int>(rVideo2110.rxVideoCh[i].sourcePort[0])));
664 obj.insert(
"sfp1DestPort", QJsonValue(static_cast<int>(rVideo2110.rxVideoCh[i].destPort[0])));
665 obj.insert(
"sfp1srcIPAddress", QJsonValue(QString(rVideo2110.rxVideoCh[i].sourceIP[0])));
666 obj.insert(
"sfp1DestIPAddress", QJsonValue(QString(rVideo2110.rxVideoCh[i].destIP[0])));
668 obj.insert(
"sfp2Enable", QJsonValue(QString(
GetEnable(rVideo2110.rxVideoCh[i].sfpEnable[1]))));
669 obj.insert(
"sfp2srcPort", QJsonValue(static_cast<int>(rVideo2110.rxVideoCh[i].sourcePort[1])));
670 obj.insert(
"sfp2DestPort", QJsonValue(static_cast<int>(rVideo2110.rxVideoCh[i].destPort[1])));
671 obj.insert(
"sfp2srcIPAddress", QJsonValue(QString(rVideo2110.rxVideoCh[i].sourceIP[1])));
672 obj.insert(
"sfp2DestIPAddress", QJsonValue(QString(rVideo2110.rxVideoCh[i].destIP[1])));
674 obj.insert(
"vlan", QJsonValue(static_cast<int>(rVideo2110.rxVideoCh[i].vlan)));
675 obj.insert(
"ssrc", QJsonValue(static_cast<int>(rVideo2110.rxVideoCh[i].ssrc)));
676 obj.insert(
"payloadType", QJsonValue(static_cast<int>(rVideo2110.rxVideoCh[i].payloadType)));
677 obj.insert(
"enable", QJsonValue(QString(
GetEnable(rVideo2110.rxVideoCh[i].enable))));
678 obj.insert(
"stream", QJsonValue(QString(
GetVideoStream(rVideo2110.rxVideoCh[i].stream))));
680 vArray += QJsonValue(obj);
688 memset(&rAudio2110, 0,
sizeof(ReceiveAudioData2110));
690 std::cout <<
"ReceiveAudio2110" << std::endl;
693 rAudio2110.numRxAudioChannels =
MinVal(aArray.count(), 4);
694 if (rAudio2110.numRxAudioChannels == 0)
699 for (uint32_t i=0; i<rAudio2110.numRxAudioChannels; i++)
701 QJsonObject vObj = aArray[i].toObject();
703 rAudio2110.rxAudioCh[i].sourcePort[0] = vObj[
"sfp1srcPort"].toInt();
704 if (
m_verbose) std::cout <<
" sfp1srcPort " << rAudio2110.rxAudioCh[i].sourcePort[0] << std::endl;
705 rAudio2110.rxAudioCh[i].destPort[0] = vObj[
"sfp1DestPort"].toInt();
706 if (
m_verbose) std::cout <<
" sfp1DestPort " << rAudio2110.rxAudioCh[i].destPort[0] << std::endl;
707 str = vObj[
"sfp1srcIPAddress"].toString().toStdString();
708 if (
m_verbose) std::cout <<
" sfp1srcIPAddress " << str.c_str() << std::endl;
709 strncpy(rAudio2110.rxAudioCh[i].sourceIP[0], str.c_str(),
kStrMax);
710 str = vObj[
"sfp1DestIPAddress"].toString().toStdString();
711 if (
m_verbose) std::cout <<
" sfp1DestIPAddress " << str.c_str() << std::endl;
712 strncpy(rAudio2110.rxAudioCh[i].destIP[0], str.c_str(),
kStrMax);
713 str = vObj[
"sfp1Enable"].toString().toStdString();
714 if (
m_verbose) std::cout <<
" sfp1Enable " << str.c_str() << std::endl;
715 rAudio2110.rxAudioCh[i].sfpEnable[0] =
GetEnable(str);
717 rAudio2110.rxAudioCh[i].sourcePort[1] = vObj[
"sfp2srcPort"].toInt();
718 if (
m_verbose) std::cout <<
" sfp2srcPort " << rAudio2110.rxAudioCh[i].sourcePort[1] << std::endl;
719 rAudio2110.rxAudioCh[i].destPort[1] = vObj[
"sfp2DestPort"].toInt();
720 if (
m_verbose) std::cout <<
" sfp2DestPort " << rAudio2110.rxAudioCh[i].destPort[1] << std::endl;
721 str = vObj[
"sfp2srcIPAddress"].toString().toStdString();
722 if (
m_verbose) std::cout <<
" sfp2srcIPAddress " << str.c_str() << std::endl;
723 strncpy(rAudio2110.rxAudioCh[i].sourceIP[1], str.c_str(),
kStrMax);
724 str = vObj[
"sfp2DestIPAddress"].toString().toStdString();
725 if (
m_verbose) std::cout <<
" sfp2DestIPAddress " << str.c_str() << std::endl;
726 strncpy(rAudio2110.rxAudioCh[i].destIP[1], str.c_str(),
kStrMax);
727 str = vObj[
"sfp2Enable"].toString().toStdString();
728 if (
m_verbose) std::cout <<
" sfp2Enable " << str.c_str() << std::endl;
729 rAudio2110.rxAudioCh[i].sfpEnable[1] =
GetEnable(str);
731 rAudio2110.rxAudioCh[i].vlan = vObj[
"vlan"].toInt();
732 if (
m_verbose) std::cout <<
" vlan " << rAudio2110.rxAudioCh[i].vlan << std::endl;
733 rAudio2110.rxAudioCh[i].ssrc = vObj[
"ssrc"].toInt();
734 if (
m_verbose) std::cout <<
" ssrc " << rAudio2110.rxAudioCh[i].ssrc << std::endl;
735 rAudio2110.rxAudioCh[i].payloadType = vObj[
"payloadType"].toInt();
736 if (
m_verbose) std::cout <<
" payloadType " << rAudio2110.rxAudioCh[i].payloadType << std::endl;
737 rAudio2110.rxAudioCh[i].numAudioChannels = vObj[
"numAudioChannels"].toInt();
738 if (
m_verbose) std::cout <<
" numAudioChannels " << rAudio2110.rxAudioCh[i].numAudioChannels << std::endl;
740 str = vObj[
"audioPktInterval"].toString().toStdString();
741 if (
m_verbose) std::cout <<
" audioPktInterval " << str.c_str() << std::endl;
743 str = vObj[
"enable"].toString().toStdString();
744 if (
m_verbose) std::cout <<
" enable " << str.c_str() << std::endl;
745 rAudio2110.rxAudioCh[i].enable =
GetEnable(str);
746 str = vObj[
"designator"].toString().toStdString();
747 if (
m_verbose) std::cout <<
" designator " << str.c_str() << std::endl << std::endl;
748 rAudio2110.rxAudioCh[i].channel =
GetChannel(str);
749 str = vObj[
"stream"].toString().toStdString();
750 if (
m_verbose) std::cout <<
" stream " << str.c_str() << std::endl;
759 for (uint32_t i=0; i<rAudio2110.numRxAudioChannels; i++)
762 obj.insert(
"sfp1Enable", QJsonValue(QString(
GetEnable(rAudio2110.rxAudioCh[i].sfpEnable[0]))));
763 obj.insert(
"sfp1srcPort", QJsonValue(static_cast<int>(rAudio2110.rxAudioCh[i].sourcePort[0])));
764 obj.insert(
"sfp1DestPort", QJsonValue(static_cast<int>(rAudio2110.rxAudioCh[i].destPort[0])));
765 obj.insert(
"sfp1srcIPAddress", QJsonValue(QString(rAudio2110.rxAudioCh[i].sourceIP[0])));
766 obj.insert(
"sfp1DestIPAddress", QJsonValue(QString(rAudio2110.rxAudioCh[i].destIP[0])));
768 obj.insert(
"sfp2Enable", QJsonValue(QString(
GetEnable(rAudio2110.rxAudioCh[i].sfpEnable[1]))));
769 obj.insert(
"sfp2srcPort", QJsonValue(static_cast<int>(rAudio2110.rxAudioCh[i].sourcePort[1])));
770 obj.insert(
"sfp2DestPort", QJsonValue(static_cast<int>(rAudio2110.rxAudioCh[i].destPort[1])));
771 obj.insert(
"sfp2srcIPAddress", QJsonValue(QString(rAudio2110.rxAudioCh[i].sourceIP[1])));
772 obj.insert(
"sfp2DestIPAddress", QJsonValue(QString(rAudio2110.rxAudioCh[i].destIP[1])));
774 obj.insert(
"vlan", QJsonValue(static_cast<int>(rAudio2110.rxAudioCh[i].vlan)));
775 obj.insert(
"ssrc", QJsonValue(static_cast<int>(rAudio2110.rxAudioCh[i].ssrc)));
776 obj.insert(
"payloadType", QJsonValue(static_cast<int>(rAudio2110.rxAudioCh[i].payloadType)));
777 obj.insert(
"numAudioChannels", QJsonValue(static_cast<int>(rAudio2110.rxAudioCh[i].numAudioChannels)));
779 obj.insert(
"audioPktInterval", QJsonValue(QString(
GetAudioPktInterval(rAudio2110.rxAudioCh[i].audioPktInterval))));
780 obj.insert(
"enable", QJsonValue(QString(
GetEnable(rAudio2110.rxAudioCh[i].enable))));
781 obj.insert(
"designator", QJsonValue(QString(
GetChannel(rAudio2110.rxAudioCh[i].channel))));
782 obj.insert(
"stream", QJsonValue(QString(
GetAudioStream(rAudio2110.rxAudioCh[i].stream))));
784 aArray += QJsonValue(obj);
792 memset(&rAnc2110, 0,
sizeof(ReceiveAncData2110));
794 std::cout <<
"ReceiveAnc2110" << std::endl;
797 rAnc2110.numRxAncChannels =
MinVal(aArray.count(), 4);
798 if (rAnc2110.numRxAncChannels == 0)
803 for (uint32_t i=0; i<rAnc2110.numRxAncChannels; i++)
805 QJsonObject vObj = aArray[i].toObject();
807 rAnc2110.rxAncCh[i].sourcePort[0] = vObj[
"sfp1srcPort"].toInt();
808 if (
m_verbose) std::cout <<
" sfp1srcPort " << rAnc2110.rxAncCh[i].sourcePort[0] << std::endl;
809 rAnc2110.rxAncCh[i].destPort[0] = vObj[
"sfp1DestPort"].toInt();
810 if (
m_verbose) std::cout <<
" sfp1DestPort " << rAnc2110.rxAncCh[i].destPort[0] << std::endl;
811 str = vObj[
"sfp1srcIPAddress"].toString().toStdString();
812 if (
m_verbose) std::cout <<
" sfp1srcIPAddress " << str.c_str() << std::endl;
813 strncpy(rAnc2110.rxAncCh[i].sourceIP[0], str.c_str(),
kStrMax);
814 str = vObj[
"sfp1DestIPAddress"].toString().toStdString();
815 if (
m_verbose) std::cout <<
" sfp1DestIPAddress " << str.c_str() << std::endl;
816 strncpy(rAnc2110.rxAncCh[i].destIP[0], str.c_str(),
kStrMax);
817 str = vObj[
"sfp1Enable"].toString().toStdString();
818 if (
m_verbose) std::cout <<
" sfp1Enable " << str.c_str() << std::endl;
819 rAnc2110.rxAncCh[i].sfpEnable[0] =
GetEnable(str);
821 rAnc2110.rxAncCh[i].sourcePort[1] = vObj[
"sfp2srcPort"].toInt();
822 if (
m_verbose) std::cout <<
" sfp2srcPort " << rAnc2110.rxAncCh[i].sourcePort[1] << std::endl;
823 rAnc2110.rxAncCh[i].destPort[1] = vObj[
"sfp2DestPort"].toInt();
824 if (
m_verbose) std::cout <<
" sfp2DestPort " << rAnc2110.rxAncCh[i].destPort[1] << std::endl;
825 str = vObj[
"sfp2srcIPAddress"].toString().toStdString();
826 if (
m_verbose) std::cout <<
" sfp2srcIPAddress " << str.c_str() << std::endl;
827 strncpy(rAnc2110.rxAncCh[i].sourceIP[1], str.c_str(),
kStrMax);
828 str = vObj[
"sfp2DestIPAddress"].toString().toStdString();
829 if (
m_verbose) std::cout <<
" sfp2DestIPAddress " << str.c_str() << std::endl;
830 strncpy(rAnc2110.rxAncCh[i].destIP[1], str.c_str(),
kStrMax);
831 str = vObj[
"sfp2Enable"].toString().toStdString();
832 if (
m_verbose) std::cout <<
" sfp2Enable " << str.c_str() << std::endl;
833 rAnc2110.rxAncCh[i].sfpEnable[1] =
GetEnable(str);
835 rAnc2110.rxAncCh[i].vlan = vObj[
"vlan"].toInt();
836 if (
m_verbose) std::cout <<
" vlan " << rAnc2110.rxAncCh[i].vlan << std::endl;
837 rAnc2110.rxAncCh[i].ssrc = vObj[
"ssrc"].toInt();
838 if (
m_verbose) std::cout <<
" ssrc " << rAnc2110.rxAncCh[i].ssrc << std::endl;
839 rAnc2110.rxAncCh[i].payloadType = vObj[
"payloadType"].toInt();
840 if (
m_verbose) std::cout <<
" payloadType " << rAnc2110.rxAncCh[i].payloadType << std::endl;
842 str = vObj[
"enable"].toString().toStdString();
843 if (
m_verbose) std::cout <<
" enable " << str.c_str() << std::endl;
844 rAnc2110.rxAncCh[i].enable =
GetEnable(str);
845 str = vObj[
"stream"].toString().toStdString();
846 if (
m_verbose) std::cout <<
" stream " << str.c_str() << std::endl;
855 for (uint32_t i=0; i<rAnc2110.numRxAncChannels; i++)
858 obj.insert(
"sfp1Enable", QJsonValue(QString(
GetEnable(rAnc2110.rxAncCh[i].sfpEnable[0]))));
859 obj.insert(
"sfp1srcPort", QJsonValue(static_cast<int>(rAnc2110.rxAncCh[i].sourcePort[0])));
860 obj.insert(
"sfp1DestPort", QJsonValue(static_cast<int>(rAnc2110.rxAncCh[i].destPort[0])));
861 obj.insert(
"sfp1srcIPAddress", QJsonValue(QString(rAnc2110.rxAncCh[i].sourceIP[0])));
862 obj.insert(
"sfp1DestIPAddress", QJsonValue(QString(rAnc2110.rxAncCh[i].destIP[0])));
864 obj.insert(
"sfp2Enable", QJsonValue(QString(
GetEnable(rAnc2110.rxAncCh[i].sfpEnable[1]))));
865 obj.insert(
"sfp2srcPort", QJsonValue(static_cast<int>(rAnc2110.rxAncCh[i].sourcePort[1])));
866 obj.insert(
"sfp2DestPort", QJsonValue(static_cast<int>(rAnc2110.rxAncCh[i].destPort[1])));
867 obj.insert(
"sfp2srcIPAddress", QJsonValue(QString(rAnc2110.rxAncCh[i].sourceIP[1])));
868 obj.insert(
"sfp2DestIPAddress", QJsonValue(QString(rAnc2110.rxAncCh[i].destIP[1])));
870 obj.insert(
"vlan", QJsonValue(static_cast<int>(rAnc2110.rxAncCh[i].vlan)));
871 obj.insert(
"ssrc", QJsonValue(static_cast<int>(rAnc2110.rxAncCh[i].ssrc)));
872 obj.insert(
"payloadType", QJsonValue(static_cast<int>(rAnc2110.rxAncCh[i].payloadType)));
874 obj.insert(
"enable", QJsonValue(QString(
GetEnable(rAnc2110.rxAncCh[i].enable))));
875 obj.insert(
"stream", QJsonValue(QString(
GetAncStream(rAnc2110.rxAncCh[i].stream))));
877 aArray += QJsonValue(obj);
885 memset(&tVideo2110, 0,
sizeof(TransmitVideoData2110));
887 std::cout <<
"TransmitVideo2110" << std::endl;
890 tVideo2110.numTxVideoChannels =
MinVal(vArray.count(), 4);
891 if (tVideo2110.numTxVideoChannels == 0)
896 for (uint32_t i=0; i<tVideo2110.numTxVideoChannels; i++)
898 QJsonObject vObj = vArray[i].toObject();
900 tVideo2110.txVideoCh[i].localPort[0] = vObj[
"sfp1LocalPort"].toInt();
901 if (
m_verbose) std::cout <<
" sfp1LocalPort " << tVideo2110.txVideoCh[i].localPort[0] << std::endl;
902 tVideo2110.txVideoCh[i].remotePort[0] = vObj[
"sfp1RemotePort"].toInt();
903 if (
m_verbose) std::cout <<
" sfp1RemotePort " << tVideo2110.txVideoCh[i].remotePort[0] << std::endl;
904 str = vObj[
"sfp1RemoteIPAddress"].toString().toStdString();
905 if (
m_verbose) std::cout <<
" sfp1RemoteIPAddress " << str.c_str() << std::endl;
906 strncpy(tVideo2110.txVideoCh[i].remoteIP[0], str.c_str(),
kStrMax);
907 str = vObj[
"sfp1Enable"].toString().toStdString();
908 if (
m_verbose) std::cout <<
" sfp1Enable " << str.c_str() << std::endl;
909 tVideo2110.txVideoCh[i].sfpEnable[0] =
GetEnable(str);
911 tVideo2110.txVideoCh[i].localPort[1] = vObj[
"sfp2LocalPort"].toInt();
912 if (
m_verbose) std::cout <<
" sfp2LocalPort " << tVideo2110.txVideoCh[i].localPort[1] << std::endl;
913 tVideo2110.txVideoCh[i].remotePort[1] = vObj[
"sfp2RemotePort"].toInt();
914 if (
m_verbose) std::cout <<
" sfp2RemotePort " << tVideo2110.txVideoCh[i].remotePort[1] << std::endl;
915 str = vObj[
"sfp2RemoteIPAddress"].toString().toStdString();
916 if (
m_verbose) std::cout <<
" sfp2RemoteIPAddress " << str.c_str() << std::endl;
917 strncpy(tVideo2110.txVideoCh[i].remoteIP[1], str.c_str(),
kStrMax);
918 str = vObj[
"sfp2Enable"].toString().toStdString();
919 if (
m_verbose) std::cout <<
" sfp2Enable " << str.c_str() << std::endl;
920 tVideo2110.txVideoCh[i].sfpEnable[1] =
GetEnable(str);
922 tVideo2110.txVideoCh[i].ttl = vObj[
"ttl"].toInt();
923 if (
m_verbose) std::cout <<
" ttl " << tVideo2110.txVideoCh[i].ttl << std::endl;
924 tVideo2110.txVideoCh[i].ssrc = vObj[
"ssrc"].toInt();
925 if (
m_verbose) std::cout <<
" ssrc " << tVideo2110.txVideoCh[i].ssrc << std::endl;
926 tVideo2110.txVideoCh[i].payloadType = vObj[
"payloadType"].toInt();
927 if (
m_verbose) std::cout <<
" payloadType " << tVideo2110.txVideoCh[i].payloadType << std::endl;
929 str = vObj[
"sampling"].toString().toStdString();
930 if (
m_verbose) std::cout <<
" sampling " << str.c_str() << std::endl;
931 tVideo2110.txVideoCh[i].sampling =
GetSampling(str);
933 str = vObj[
"videoFormat"].toString().toStdString();
934 if (
m_verbose) std::cout <<
" videoFormat " << str.c_str() << std::endl;
940 str = vObj[
"enable"].toString().toStdString();
941 if (
m_verbose) std::cout <<
" enable " << str.c_str() << std::endl;
942 tVideo2110.txVideoCh[i].enable =
GetEnable(str);
943 str = vObj[
"stream"].toString().toStdString();
944 if (
m_verbose) std::cout <<
" stream " << str.c_str() << std::endl << std::endl;
953 for (uint32_t i=0; i<tVideo2110.numTxVideoChannels; i++)
956 obj.insert(
"sfp1LocalPort", QJsonValue(static_cast<int>(tVideo2110.txVideoCh[i].localPort[0])));
957 obj.insert(
"sfp1RemoteIPAddress", QJsonValue(QString(tVideo2110.txVideoCh[i].remoteIP[0])));
958 obj.insert(
"sfp1RemotePort", QJsonValue(static_cast<int>(tVideo2110.txVideoCh[i].remotePort[0])));
959 obj.insert(
"sfp1Enable", QJsonValue(QString(
GetEnable(tVideo2110.txVideoCh[i].sfpEnable[0]))));
961 obj.insert(
"sfp2LocalPort", QJsonValue(static_cast<int>(tVideo2110.txVideoCh[i].localPort[1])));
962 obj.insert(
"sfp2RemoteIPAddress", QJsonValue(QString(tVideo2110.txVideoCh[i].remoteIP[1])));
963 obj.insert(
"sfp2RemotePort", QJsonValue(static_cast<int>(tVideo2110.txVideoCh[i].remotePort[1])));
964 obj.insert(
"sfp2Enable", QJsonValue(QString(
GetEnable(tVideo2110.txVideoCh[i].sfpEnable[1]))));
966 obj.insert(
"ttl", QJsonValue(static_cast<int>(tVideo2110.txVideoCh[i].ttl)));
967 obj.insert(
"ssrc", QJsonValue(static_cast<int>(tVideo2110.txVideoCh[i].ssrc)));
968 obj.insert(
"payloadType", QJsonValue(static_cast<int>(tVideo2110.txVideoCh[i].payloadType)));
969 obj.insert(
"sampling", QJsonValue(QString(
GetSampling(tVideo2110.txVideoCh[i].sampling))));
971 obj.insert(
"enable", QJsonValue(QString(
GetEnable(tVideo2110.txVideoCh[i].enable))));
972 obj.insert(
"stream", QJsonValue(QString(
GetVideoStream(tVideo2110.txVideoCh[i].stream))));
974 vArray += QJsonValue(obj);
982 memset(&tAudio2110, 0,
sizeof(TransmitAudioData2110));
984 std::cout <<
"TransmitAudio2110" << std::endl;
987 tAudio2110.numTxAudioChannels =
MinVal(aArray.count(), 4);
988 if (tAudio2110.numTxAudioChannels == 0)
993 for (uint32_t i=0; i<tAudio2110.numTxAudioChannels; i++)
995 QJsonObject vObj = aArray[i].toObject();
997 tAudio2110.txAudioCh[i].localPort[0] = vObj[
"sfp1LocalPort"].toInt();
998 if (
m_verbose) std::cout <<
" sfp1LocalPort " << tAudio2110.txAudioCh[i].localPort[0] << std::endl;
999 tAudio2110.txAudioCh[i].remotePort[0] = vObj[
"sfp1RemotePort"].toInt();
1000 if (
m_verbose) std::cout <<
" sfp1RemotePort " << tAudio2110.txAudioCh[i].remotePort[0] << std::endl;
1001 str = vObj[
"sfp1RemoteIPAddress"].toString().toStdString();
1002 if (
m_verbose) std::cout <<
" sfp1RemoteIPAddress " << str.c_str() << std::endl;
1003 strncpy(tAudio2110.txAudioCh[i].remoteIP[0], str.c_str(),
kStrMax);
1004 str = vObj[
"sfp1Enable"].toString().toStdString();
1005 if (
m_verbose) std::cout <<
" sfp1Enable " << str.c_str() << std::endl;
1006 tAudio2110.txAudioCh[i].sfpEnable[0] =
GetEnable(str);
1008 tAudio2110.txAudioCh[i].localPort[1] = vObj[
"sfp2LocalPort"].toInt();
1009 if (
m_verbose) std::cout <<
" sfp2LocalPort " << tAudio2110.txAudioCh[i].localPort[1] << std::endl;
1010 tAudio2110.txAudioCh[i].remotePort[1] = vObj[
"sfp2RemotePort"].toInt();
1011 if (
m_verbose) std::cout <<
" sfp2RemotePort " << tAudio2110.txAudioCh[i].remotePort[1] << std::endl;
1012 str = vObj[
"sfp2RemoteIPAddress"].toString().toStdString();
1013 if (
m_verbose) std::cout <<
" sfp2RemoteIPAddress " << str.c_str() << std::endl;
1014 strncpy(tAudio2110.txAudioCh[i].remoteIP[1], str.c_str(),
kStrMax);
1015 str = vObj[
"sfp2Enable"].toString().toStdString();
1016 if (
m_verbose) std::cout <<
" sfp2Enable " << str.c_str() << std::endl;
1017 tAudio2110.txAudioCh[i].sfpEnable[1] =
GetEnable(str);
1019 tAudio2110.txAudioCh[i].ttl = vObj[
"ttl"].toInt();
1020 if (
m_verbose) std::cout <<
" ttl " << tAudio2110.txAudioCh[i].ttl << std::endl;
1021 tAudio2110.txAudioCh[i].ssrc = vObj[
"ssrc"].toInt();
1022 if (
m_verbose) std::cout <<
" ssrc " << tAudio2110.txAudioCh[i].ssrc << std::endl;
1023 tAudio2110.txAudioCh[i].payloadType = vObj[
"payloadType"].toInt();
1024 if (
m_verbose) std::cout <<
" payloadType " << tAudio2110.txAudioCh[i].payloadType << std::endl;
1025 tAudio2110.txAudioCh[i].numAudioChannels = vObj[
"numAudioChannels"].toInt();
1026 if (
m_verbose) std::cout <<
" numAudioChannels " << tAudio2110.txAudioCh[i].numAudioChannels << std::endl;
1027 tAudio2110.txAudioCh[i].firstAudioChannel = vObj[
"firstAudioChannel"].toInt();
1028 if (
m_verbose) std::cout <<
" firstAudioChannel " << tAudio2110.txAudioCh[i].firstAudioChannel << std::endl;
1030 str = vObj[
"audioPktInterval"].toString().toStdString();
1031 if (
m_verbose) std::cout <<
" audioPktInterval " << str.c_str() << std::endl;
1033 str = vObj[
"enable"].toString().toStdString();
1034 if (
m_verbose) std::cout <<
" enable " << str.c_str() << std::endl;
1035 tAudio2110.txAudioCh[i].enable =
GetEnable(str);
1036 str = vObj[
"stream"].toString().toStdString();
1037 if (
m_verbose) std::cout <<
" stream " << str.c_str() << std::endl;
1039 str = vObj[
"designator"].toString().toStdString();
1040 if (
m_verbose) std::cout <<
" designator " << str.c_str() << std::endl << std::endl;
1041 tAudio2110.txAudioCh[i].channel =
GetChannel(str);
1049 for (uint32_t i=0; i<tAudio2110.numTxAudioChannels; i++)
1052 obj.insert(
"sfp1LocalPort", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].localPort[0])));
1053 obj.insert(
"sfp1RemoteIPAddress", QJsonValue(QString(tAudio2110.txAudioCh[i].remoteIP[0])));
1054 obj.insert(
"sfp1RemotePort", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].remotePort[0])));
1055 obj.insert(
"sfp1Enable", QJsonValue(QString(
GetEnable(tAudio2110.txAudioCh[i].sfpEnable[0]))));
1057 obj.insert(
"sfp2LocalPort", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].localPort[1])));
1058 obj.insert(
"sfp2RemoteIPAddress", QJsonValue(QString(tAudio2110.txAudioCh[i].remoteIP[1])));
1059 obj.insert(
"sfp2RemotePort", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].remotePort[1])));
1060 obj.insert(
"sfp2Enable", QJsonValue(QString(
GetEnable(tAudio2110.txAudioCh[i].sfpEnable[1]))));
1062 obj.insert(
"ttl", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].ttl)));
1063 obj.insert(
"ssrc", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].ssrc)));
1064 obj.insert(
"payloadType", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].payloadType)));
1065 obj.insert(
"numAudioChannels", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].numAudioChannels)));
1066 obj.insert(
"firstAudioChannel", QJsonValue(static_cast<int>(tAudio2110.txAudioCh[i].firstAudioChannel)));
1068 obj.insert(
"audioPktInterval", QJsonValue(QString(
GetAudioPktInterval(tAudio2110.txAudioCh[i].audioPktInterval))));
1069 obj.insert(
"enable", QJsonValue(QString(
GetEnable(tAudio2110.txAudioCh[i].enable))));
1070 obj.insert(
"stream", QJsonValue(QString(
GetAudioStream(tAudio2110.txAudioCh[i].stream))));
1071 obj.insert(
"designator", QJsonValue(QString(
GetChannel(tAudio2110.txAudioCh[i].channel))));
1072 aArray += QJsonValue(obj);
1080 memset(&tAnc2110, 0,
sizeof(TransmitAncData2110));
1082 std::cout <<
"TransmitAnc2110" << std::endl;
1085 tAnc2110.numTxAncChannels =
MinVal(aArray.count(), 4);
1086 if (tAnc2110.numTxAncChannels == 0)
1091 for (uint32_t i=0; i<tAnc2110.numTxAncChannels; i++)
1093 QJsonObject vObj = aArray[i].toObject();
1095 tAnc2110.txAncCh[i].localPort[0] = vObj[
"sfp1LocalPort"].toInt();
1096 if (
m_verbose) std::cout <<
" sfp1LocalPort " << tAnc2110.txAncCh[i].localPort[0] << std::endl;
1097 tAnc2110.txAncCh[i].remotePort[0] = vObj[
"sfp1RemotePort"].toInt();
1098 if (
m_verbose) std::cout <<
" sfp1RemotePort " << tAnc2110.txAncCh[i].remotePort[0] << std::endl;
1099 str = vObj[
"sfp1RemoteIPAddress"].toString().toStdString();
1100 if (
m_verbose) std::cout <<
" sfp1RemoteIPAddress " << str.c_str() << std::endl;
1101 strncpy(tAnc2110.txAncCh[i].remoteIP[0], str.c_str(),
kStrMax);
1102 str = vObj[
"sfp1Enable"].toString().toStdString();
1103 if (
m_verbose) std::cout <<
" sfp1Enable " << str.c_str() << std::endl;
1104 tAnc2110.txAncCh[i].sfpEnable[0] =
GetEnable(str);
1106 tAnc2110.txAncCh[i].localPort[1] = vObj[
"sfp2LocalPort"].toInt();
1107 if (
m_verbose) std::cout <<
" sfp2LocalPort " << tAnc2110.txAncCh[i].localPort[1] << std::endl;
1108 tAnc2110.txAncCh[i].remotePort[1] = vObj[
"sfp2RemotePort"].toInt();
1109 if (
m_verbose) std::cout <<
" sfp2RemotePort " << tAnc2110.txAncCh[i].remotePort[1] << std::endl;
1110 str = vObj[
"sfp2RemoteIPAddress"].toString().toStdString();
1111 if (
m_verbose) std::cout <<
" sfp2RemoteIPAddress " << str.c_str() << std::endl;
1112 strncpy(tAnc2110.txAncCh[i].remoteIP[1], str.c_str(),
kStrMax);
1113 str = vObj[
"sfp2Enable"].toString().toStdString();
1114 if (
m_verbose) std::cout <<
" sfp2Enable " << str.c_str() << std::endl;
1115 tAnc2110.txAncCh[i].sfpEnable[1] =
GetEnable(str);
1117 tAnc2110.txAncCh[i].ttl = vObj[
"ttl"].toInt();
1118 if (
m_verbose) std::cout <<
" ttl " << tAnc2110.txAncCh[i].ttl << std::endl;
1119 tAnc2110.txAncCh[i].ssrc = vObj[
"ssrc"].toInt();
1120 if (
m_verbose) std::cout <<
" ssrc " << tAnc2110.txAncCh[i].ssrc << std::endl;
1121 tAnc2110.txAncCh[i].payloadType = vObj[
"payloadType"].toInt();
1122 if (
m_verbose) std::cout <<
" payloadType " << tAnc2110.txAncCh[i].payloadType << std::endl;
1124 str = vObj[
"enable"].toString().toStdString();
1125 if (
m_verbose) std::cout <<
" enable " << str.c_str() << std::endl;
1126 tAnc2110.txAncCh[i].enable =
GetEnable(str);
1127 str = vObj[
"stream"].toString().toStdString();
1128 if (
m_verbose) std::cout <<
" stream " << str.c_str() << std::endl;
1137 for (uint32_t i=0; i<tAnc2110.numTxAncChannels; i++)
1140 obj.insert(
"sfp1LocalPort", QJsonValue(static_cast<int>(tAnc2110.txAncCh[i].localPort[0])));
1141 obj.insert(
"sfp1RemoteIPAddress", QJsonValue(QString(tAnc2110.txAncCh[i].remoteIP[0])));
1142 obj.insert(
"sfp1RemotePort", QJsonValue(static_cast<int>(tAnc2110.txAncCh[i].remotePort[0])));
1143 obj.insert(
"sfp1Enable", QJsonValue(QString(
GetEnable(tAnc2110.txAncCh[i].sfpEnable[0]))));
1145 obj.insert(
"sfp2LocalPort", QJsonValue(static_cast<int>(tAnc2110.txAncCh[i].localPort[1])));
1146 obj.insert(
"sfp2RemoteIPAddress", QJsonValue(QString(tAnc2110.txAncCh[i].remoteIP[1])));
1147 obj.insert(
"sfp2RemotePort", QJsonValue(static_cast<int>(tAnc2110.txAncCh[i].remotePort[1])));
1148 obj.insert(
"sfp2Enable", QJsonValue(QString(
GetEnable(tAnc2110.txAncCh[i].sfpEnable[1]))));
1150 obj.insert(
"ttl", QJsonValue(static_cast<int>(tAnc2110.txAncCh[i].ttl)));
1151 obj.insert(
"ssrc", QJsonValue(static_cast<int>(tAnc2110.txAncCh[i].ssrc)));
1152 obj.insert(
"payloadType", QJsonValue(static_cast<int>(tAnc2110.txAncCh[i].payloadType)));
1154 obj.insert(
"enable", QJsonValue(QString(
GetEnable(tAnc2110.txAncCh[i].enable))));
1155 obj.insert(
"stream", QJsonValue(QString(
GetAncStream(tAnc2110.txAncCh[i].stream))));
1156 aArray += QJsonValue(obj);
1163 const ReceiveVideoData2110& vidRec2110,
1164 const ReceiveAudioData2110& audRec2110,
1165 const ReceiveAncData2110& ancRec2110,
1166 const TransmitVideoData2110& vidTran2110,
1167 const TransmitAudioData2110& audTran2110,
1168 const TransmitAncData2110& ancTran2110,
1169 QJsonObject& topObj)
1171 QJsonObject netJson;
1172 memcpy(&
m_net2110, &net2110,
sizeof(NetworkData2110));
1176 QJsonArray vidRecJson;
1180 QJsonArray audRecJson;
1184 QJsonArray ancRecJson;
1189 QJsonArray vidTransJson;
1193 QJsonArray audTransJson;
1197 QJsonArray ancTransJson;
1202 topObj.insert(
"protocol", QJsonValue(QString(
"2110")));
1203 topObj.insert(
"network2110",
m_netJson);
NTV2Channel GetChannel(const std::string channelString)
bool JsonToStructTransmitVideo(const QJsonArray &vArray, TransmitVideoData2110 &n2110)
bool JsonToStructReceiveAnc(const QJsonArray &aArray, ReceiveAncData2110 &n2110)
QJsonArray m_receiveVideoJson
ReceiveAncData2110 m_receiveAnc2110
eNTV2PacketInterval GetAudioPktInterval(const std::string streamString)
bool SetJsonReceiveAudio(const QJsonArray &jsonArray)
QJsonArray m_transmitAncJson
NTV2Stream GetAudioStream(const std::string streamString)
static NTV2VideoFormat GetVideoFormatFromString(const std::string &inStr, const NTV2VideoFormatKinds inKinds=VIDEO_FORMATS_SDHD, const std::string &inDevSpec=std::string())
Returns the NTV2VideoFormat that matches the given string.
bool SetJsonReceiveAnc(const QJsonArray &jsonArray)
QJsonArray m_transmitVideoJson
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
TransmitAncData2110 m_transmitAnc2110
eSFP GetSfp(const std::string sfpString)
bool JsonToStructTransmitAnc(const QJsonArray &aArray, TransmitAncData2110 &n2110)
ReceiveVideoData2110 m_receiveVideo2110
bool SetJsonReceiveVideo(const QJsonArray &jsonArray)
NetworkData2110 m_net2110
bool SetJsonTransmitAudio(const QJsonArray &jsonArray)
bool SetJsonTransmitVideo(const QJsonArray &jsonArray)
QJsonArray m_receiveAudioJson
QJsonArray m_transmitAudioJson
NTV2Stream GetVideoStream(const std::string streamString)
TransmitAudioData2110 m_transmitAudio2110
bool StructToJsonNetwork(const NetworkData2110 &n2110, QJsonObject &topObj)
bool JsonToStructTransmitAudio(const QJsonArray &aArray, TransmitAudioData2110 &n2110)
NTV2Stream GetAncStream(const std::string streamString)
Specifies channel or FrameStore 2 (or the 2nd item).
bool StructToJsonTransmitVideo(const TransmitVideoData2110 &n2110, QJsonArray &vArray)
bool StructToJsonTransmitAnc(const TransmitAncData2110 &n2110, QJsonArray &aArray)
bool JsonToStructReceiveVideo(const QJsonArray &vArray, ReceiveVideoData2110 &n2110)
bool StructToJsonReceiveAudio(const ReceiveAudioData2110 &n2110, QJsonArray &aArray)
ReceiveAudioData2110 m_receiveAudio2110
bool SetJsonNetwork(const QJsonObject &obj)
QJsonArray m_receiveAncJson
Specifies channel or FrameStore 1 (or the first item).
bool JsonToStructReceiveAudio(const QJsonArray &aArray, ReceiveAudioData2110 &n2110)
NTV2Stream
Identifies a specific IP-based data stream.
bool SetJson(const QJsonObject &topObj, bool verbose)
void GetGrandMasterID(const std::string str, uint8_t(&id)[8])
Specifies channel or FrameStore 4 (or the 4th item).
This file contains some structures, constants, classes and functions that are used in some of the dem...
bool StructToJsonTransmitAudio(const TransmitAudioData2110 &n2110, QJsonArray &aArray)
bool StructToJsonReceiveVideo(const ReceiveVideoData2110 &n2110, QJsonArray &topObj)
bool JsonToStructNetwork(const QJsonObject &topObj, NetworkData2110 &n2110)
bool SetJsonProtocol(const QJsonObject &obj)
bool GetEnable(const std::string enableBoolString)
bool StructToJson(const NetworkData2110 &net2110, const ReceiveVideoData2110 &vidRec2110, const ReceiveAudioData2110 &audRec2110, const ReceiveAncData2110 &ancRec2110, const TransmitVideoData2110 &vidTran2110, const TransmitAudioData2110 &audTran2110, const TransmitAncData2110 &ancTran2110, QJsonObject &topObj)
bool StructToJsonReceiveAnc(const ReceiveAncData2110 &n2110, QJsonArray &aArray)
QJsonObject m_protocolJson
VPIDSampling GetSampling(const std::string samplingString)
TransmitVideoData2110 m_transmitVideo2110
Specifies channel or FrameStore 3 (or the 3rd item).
bool SetJsonTransmitAnc(const QJsonArray &jsonArray)