diff --git a/lib/dtsc.cpp b/lib/dtsc.cpp index 90b901a0..9e2e8fd3 100644 --- a/lib/dtsc.cpp +++ b/lib/dtsc.cpp @@ -1038,3 +1038,13 @@ DTSC::File::~File(){ F = 0; } } + + +bool DTSC::isFixed(JSON::Value & metadata){ + for (JSON::ObjIter it = metadata["tracks"].ObjBegin(); it != metadata["tracks"].ObjEnd(); it++){ + if (!(it->second.isMember("keys") && it->second["keys"].isArray() && it->second["keys"][0u].isMember("bpos"))){ + return false; + } + } + return true; +} diff --git a/lib/dtsc.h b/lib/dtsc.h index 5e0c5278..ac07bcf1 100644 --- a/lib/dtsc.h +++ b/lib/dtsc.h @@ -50,6 +50,7 @@ /// - nalu_end (int, if set, is a end-of-sequence) /// - offset (int, unsigned version of signed int! Holds the ms offset between timestamp and proper display time for B-frames) namespace DTSC { + bool isFixed(JSON::Value & metadata); /// This enum holds all possible datatypes for DTSC packets. enum datatype{