[matroska] r1235 - in trunk/libmatroska: matroska src
[email protected] Sun, 16 Oct 2005 14:28:55 +0400 (MSD)
| Newsgroups | gmane.comp.multimedia.matroska.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: robux4
Date: 2005-10-16 14:28:52 +0400 (Sun, 16 Oct 2005)
New Revision: 1235
Modified:
trunk/libmatroska/matroska/KaxBlock.h
trunk/libmatroska/src/KaxBlock.cpp
Log:
libmatroska: support for reading extra features of SimpleBlock
Modified: trunk/libmatroska/matroska/KaxBlock.h
===================================================================
--- trunk/libmatroska/matroska/KaxBlock.h 2005-10-15 17:00:00 UTC (rev 1234)
+++ trunk/libmatroska/matroska/KaxBlock.h 2005-10-16 10:28:52 UTC (rev 1235)
@@ -296,6 +296,9 @@
void SetKeyframe(bool b_keyframe) { bIsKeyframe = b_keyframe; }
void SetDiscardable(bool b_discard) { bIsDiscardable = b_discard; }
+ bool IsKeyframe() const { return bIsKeyframe; }
+ bool IsDiscardable() const { return bIsDiscardable; }
+
operator KaxInternalBlock &() { return *this; }
};
#endif // MATROSKA_VERSION
Modified: trunk/libmatroska/src/KaxBlock.cpp
===================================================================
--- trunk/libmatroska/src/KaxBlock.cpp 2005-10-15 17:00:00 UTC (rev 1234)
+++ trunk/libmatroska/src/KaxBlock.cpp 2005-10-16 10:28:52 UTC (rev 1235)
@@ -539,6 +539,10 @@
bLocalTimecodeUsed = true;
cursor += 2;
+ if (EbmlId(*this) == KaxSimpleBlock::ClassInfos.GlobalId) {
+ bIsKeyframe = (*cursor & 0x80) != 0;
+ bIsDiscardable = (*cursor & 0x01) != 0;
+ }
mInvisible = (*cursor & 0x08) >> 3;
mLacing = LacingType((*cursor++ & 0x06) >> 1);
@@ -642,6 +646,10 @@
bLocalTimecodeUsed = true;
cursor += 2;
+ if (EbmlId(*this) == KaxSimpleBlock::ClassInfos.GlobalId) {
+ bIsKeyframe = (*cursor & 0x80) != 0;
+ bIsDiscardable = (*cursor & 0x01) != 0;
+ }
mInvisible = (*cursor & 0x08) >> 3;
mLacing = LacingType((*cursor++ & 0x06) >> 1);
if (cursor == &_TempHead[4])