/// \file dtsc.h /// Holds all headers for DDVTECH Stream Container parsing/generation. #pragma once #include "dtmi.h" // Video: // Codec (string) // Audio: // Codec (string) // Samping rate (int, Hz) // Sample Size (int, bytesize) // Channels (int, channelcount) namespace DTSC{ /// This enum holds all possible datatypes for DTSC packets. enum datatype { AUDIO, ///< Stream Audio data VIDEO, ///< Stream Video data META, ///< Stream Metadata INVALID ///< Anything else or no data available. } char * Magic_Header; ///< The magic bytes for a DTSC header char * Magic_Packet; ///< The magic bytes for a DTSC packet /// Holds temporary data for a DTSC stream and provides functions to access/store it. class Stream { public: Stream(); DTSC::DTMI metadata; DRSC::DTMI lastPacket; datatype lastType(); char * lastData(); bool hasVideo(); bool hasAudio(); bool parsePacket(std::string & buffer); private: char * datapointer; datatype datapointertype; } };