@@ -319,14 +319,19 @@ int64_t VideoProperties::getStartTimecode() const
319
319
320
320
std::string VideoProperties::getStartTimecodeString () const
321
321
{
322
- int64_t stratTimeCode = getStartTimecode ();
322
+ int64_t startTimeCode = getStartTimecode ();
323
323
std::ostringstream os;
324
- os << std::setfill ( ' 0' );
325
- os << std::setw (2 ) << ( stratTimeCode >> 19 & 0x1f ) << " :" ; // 5-bit hours
326
- os << std::setw (2 ) << ( stratTimeCode >> 13 & 0x3f ) << " :" ; // 6-bit minutes
327
- os << std::setw (2 ) << ( stratTimeCode >> 6 & 0x3f ) ; // 6-bit seconds
328
- os << ( stratTimeCode & 1 << 24 ? ' ;' : ' :' ); // 1-bit drop flag
329
- os << std::setw (2 ) << ( stratTimeCode & 0x3f ); // 6-bit frames
324
+ if ( startTimeCode == -1 )
325
+ os << " unset" ;
326
+ else
327
+ {
328
+ os << std::setfill ( ' 0' );
329
+ os << std::setw (2 ) << ( startTimeCode >> 19 & 0x1f ) << " :" ; // 5-bit hours
330
+ os << std::setw (2 ) << ( startTimeCode >> 13 & 0x3f ) << " :" ; // 6-bit minutes
331
+ os << std::setw (2 ) << ( startTimeCode >> 6 & 0x3f ) ; // 6-bit seconds
332
+ os << ( startTimeCode & 1 << 24 ? ' ;' : ' :' ); // 1-bit drop flag
333
+ os << std::setw (2 ) << ( startTimeCode & 0x3f ); // 6-bit frames
334
+ }
330
335
return os.str ();
331
336
}
332
337
@@ -573,7 +578,7 @@ PropertiesMap VideoProperties::getPropertiesAsMap() const
573
578
detail::add ( dataMap, " profile" , getProfile () );
574
579
detail::add ( dataMap, " profileName" , getProfileName () );
575
580
detail::add ( dataMap, " level" , getLevel () );
576
- detail::add ( dataMap, " startTimecode" , getStartTimecode () );
581
+ detail::add ( dataMap, " startTimecode" , getStartTimecodeString () );
577
582
detail::add ( dataMap, " width" , getWidth () );
578
583
detail::add ( dataMap, " height" , getHeight () );
579
584
detail::add ( dataMap, " pixelAspectRatio" , getSar ().num / getSar ().den );
0 commit comments