diff options
author | Casimir666 <casimir666@users.sourceforge.net> | 2008-12-20 17:35:34 +0300 |
---|---|---|
committer | Casimir666 <casimir666@users.sourceforge.net> | 2008-12-20 17:35:34 +0300 |
commit | 162bbc48209c6d11e67d7ca31470bec667682e21 (patch) | |
tree | ba913c573bfa678f51a5fd55077600928859d810 /src/subtitles/HdmvSub.h | |
parent | e251ccc93101960713ccde6a2d87b36a37ca5495 (diff) |
FIXED : Bugs on presentation graphics (missing subtitles, better synchronization)
FIXED : Audio change on M2TS files reset the selected subtitle
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@931 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/subtitles/HdmvSub.h')
-rw-r--r-- | src/subtitles/HdmvSub.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/subtitles/HdmvSub.h b/src/subtitles/HdmvSub.h index e6b314970..5e5adea06 100644 --- a/src/subtitles/HdmvSub.h +++ b/src/subtitles/HdmvSub.h @@ -103,7 +103,7 @@ public: void SetRLEData(BYTE* pBuffer, int nSize, int nTotalSize);
void AppendRLEData(BYTE* pBuffer, int nSize);
int GetRLEDataSize() { return m_nRLEDataSize; };
- bool IsRLEUncomplete() { return m_nRLEPos != 0; };
+ bool IsRLEComplete() { return m_nRLEPos >= m_nRLEDataSize; };
void Render(SubPicDesc& spd);
void WriteSeg (SubPicDesc& spd, SHORT nX, SHORT nY, SHORT nCount, SHORT nPaletteIndex);
void SetPalette (int nNbEntry, HDMV_PALETTE* pPalette, bool bIsHD);
@@ -138,6 +138,9 @@ public: CompositionObject* pObject = m_pObjects.GetAt(nPos);
return pObject!=NULL ? pObject->m_rtStop : INVALID_TIME;
};
+
+ HRESULT UpdateStop(REFERENCE_TIME rtStart, REFERENCE_TIME* rtStop);
+
void Render(SubPicDesc& spd, REFERENCE_TIME rt, RECT& bbox);
HRESULT GetTextureSize (POSITION pos, SIZE& MaxTextureSize, SIZE& VideoSize, POINT& VideoTopLeft);
@@ -159,7 +162,7 @@ private : int m_nColorNumber;
- int ParsePresentationSegment(CGolombBuffer* pGBuffer, REFERENCE_TIME rtStart);
+ int ParsePresentationSegment(CGolombBuffer* pGBuffer);
void ParsePalette(CGolombBuffer* pGBuffer, USHORT nSize);
void ParseObject(CGolombBuffer* pGBuffer, USHORT nUnitSize);
@@ -168,6 +171,5 @@ private : void ParseCompositionObject(CGolombBuffer* pGBuffer, CompositionObject* pCompositionObject);
void AllocSegment(int nSize);
-
CompositionObject* FindObject(REFERENCE_TIME rt);
};
|