private TS_UD_SC_CORE ParseTsUdScCore(byte[] data, ref int currentIndex)
{
TS_UD_SC_CORE coreData = new TS_UD_SC_CORE();
int startIndex = currentIndex;
// TS_UD_SC_CORE: Header
coreData.header.type = (TS_UD_HEADER_type_Values)ParseUInt16(data, ref currentIndex, false);
coreData.header.length = ParseUInt16(data, ref currentIndex, false);
// TS_UD_SC_CORE: version
coreData.version = (TS_UD_SC_CORE_version_Values)ParseUInt32(data, ref currentIndex, false);
// TS_UD_SC_CORE: clientRequestedProtocols
coreData.clientRequestedProtocols = (requestedProtocols_Values)ParseUInt32(data, ref currentIndex, false);
if(currentIndex <= startIndex+coreData.header.length-1)
coreData.earlyCapabilityFlags = (SC_earlyCapabilityFlags_Values)ParseUInt32(data, ref currentIndex, false);
return coreData;
}