@@ -915,6 +915,7 @@ namespace DTSC{
915915
916916 // / Initialize metadata from referenced DTSC::Scan object in master mode.
917917 Meta::Meta (const std::string &_streamName, const DTSC::Scan &src){
918+ ignoredPid = 0 ;
918919 version = DTSH_VERSION;
919920 streamMemBuf = 0 ;
920921 isMemBuf = false ;
@@ -926,6 +927,7 @@ namespace DTSC{
926927 // / Initialize empty metadata, in master or slave mode.
927928 // / If stream name is empty, slave mode is enforced.
928929 Meta::Meta (const std::string &_streamName, bool master, bool autoBackOff){
930+ ignoredPid = 0 ;
929931 if (!_streamName.size ()){master = false ;}
930932 version = DTSH_VERSION;
931933 streamMemBuf = 0 ;
@@ -937,6 +939,7 @@ namespace DTSC{
937939
938940 // / Initialize metadata from given DTSH file in master mode.
939941 Meta::Meta (const std::string &_streamName, const std::string &fileName){
942+ ignoredPid = 0 ;
940943 version = DTSH_VERSION;
941944 streamMemBuf = 0 ;
942945 isMemBuf = false ;
@@ -1215,7 +1218,7 @@ namespace DTSC{
12151218 trackList.addField (" codec" , RAX_32STRING);
12161219 trackList.addField (" page" , RAX_256STRING);
12171220 trackList.addField (" lastupdate" , RAX_64UINT);
1218- trackList.addField (" pid" , RAX_32UINT );
1221+ trackList.addField (" pid" , RAX_64UINT );
12191222 trackList.addField (" minkeepaway" , RAX_64UINT);
12201223 trackList.addField (" sourcetid" , RAX_32UINT);
12211224 trackList.addField (" encryption" , RAX_256STRING);
@@ -2449,6 +2452,7 @@ namespace DTSC{
24492452 if (t.frames .isReady () && !t.frames .getPresent ()){continue ;}
24502453 if (t.parts .isReady () && !t.parts .getPresent ()){continue ;}
24512454 }
2455+ if (ignoredPid && trackList.getInt (trackPidField, i) == ignoredPid) { continue ; }
24522456 // Remove track this is based on, if this track is encrypted
24532457 if (trackList.getInt (trackSourceTidField, i) != INVALID_TRACK_ID &&
24542458 std::string (trackList.getPointer (trackEncryptionField, i)) != " " ){
@@ -3675,6 +3679,10 @@ namespace DTSC{
36753679 INFO_MSG (" Applied limiter from %" PRIu64 " to %" PRIu64, min, max);
36763680 }
36773681
3682+ void Meta::ignorePid (uint64_t ignPid) {
3683+ ignoredPid = ignPid;
3684+ }
3685+
36783686 // / Returns true if the tracks idx1 and idx2 are keyframe aligned
36793687 bool Meta::keyTimingsMatch (size_t idx1, size_t idx2) const {
36803688 const DTSC::Track &t1 = tracks.at (idx1);
0 commit comments