X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FAS_DCP_TimedText.cpp;h=81ebf8f70a7ce060b2c40bfb9c33248845dcbab7;hb=8fad4cc485b8791abb93ec97fe6bff7b7aa3834b;hp=158679dd5f0e0ed0e39cd183069f820a262be83a;hpb=766b93f3654e6e80623a84774fce0307694340f9;p=asdcplib.git diff --git a/src/AS_DCP_TimedText.cpp b/src/AS_DCP_TimedText.cpp index 158679d..81ebf8f 100644 --- a/src/AS_DCP_TimedText.cpp +++ b/src/AS_DCP_TimedText.cpp @@ -32,6 +32,8 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "AS_DCP_internal.h" #include "KM_xml.h" +#include +#include using Kumu::GenRandomValue; @@ -53,6 +55,29 @@ MIME2str(TimedText::MIMEType_t m) return "application/octet-stream"; } +// +std::ostream& +ASDCP::TimedText::operator << (std::ostream& strm, const TimedTextDescriptor& TDesc) +{ + UUID TmpID(TDesc.AssetID); + char buf[64]; + + strm << " EditRate: " << (unsigned) TDesc.EditRate.Numerator << "/" << (unsigned) TDesc.EditRate.Denominator << std::endl; + strm << "ContainerDuration: " << (unsigned) TDesc.ContainerDuration << std::endl; + strm << " AssetID: " << TmpID.EncodeHex(buf, 64) << std::endl; + strm << " NamespaceName: " << TDesc.NamespaceName << std::endl; + strm << " ResourceCount: " << (unsigned long) TDesc.ResourceList.size() << std::endl; + + TimedText::ResourceList_t::const_iterator ri; + for ( ri = TDesc.ResourceList.begin() ; ri != TDesc.ResourceList.end(); ri++ ) + { + TmpID.Set((*ri).ResourceID); + strm << " " << TmpID.EncodeHex(buf, 64) << ": " << MIME2str((*ri).Type) << std::endl; + } + + return strm; +} + // void ASDCP::TimedText::DescriptorDump(ASDCP::TimedText::TimedTextDescriptor const& TDesc, FILE* stream) @@ -127,7 +152,8 @@ ASDCP::TimedText::MXFReader::h__Reader::MD_to_TimedText_TDesc(TimedText::TimedTe MXF::TimedTextDescriptor* TDescObj = (MXF::TimedTextDescriptor*)m_EssenceDescriptor; TDesc.EditRate = TDescObj->SampleRate; - TDesc.ContainerDuration = TDescObj->ContainerDuration; + assert(TDescObj->ContainerDuration <= 0xFFFFFFFFL); + TDesc.ContainerDuration = (ui32_t) TDescObj->ContainerDuration; memcpy(TDesc.AssetID, TDescObj->ResourceID.Value(), UUIDlen); TDesc.NamespaceName = TDescObj->NamespaceURI; TDesc.EncodingName = TDescObj->UCSEncoding;