Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksoid <aleksoid@users.sourceforge.net>2012-04-05 03:02:45 +0400
committerAleksoid <aleksoid@users.sourceforge.net>2012-04-05 03:02:45 +0400
commitcf9fcccf88f091b7fea6e2566eceb01ef3fdf529 (patch)
treeac812c36defcdd20aa4e71b7a523ed39ac0b5ae2 /src/Subtitles
parent0a4b4cf7c5d7ced2fdc04788b125ac7ce8ec36bf (diff)
Fix : H.264 DXVA decoder must accept only Chroma 4:2:0 format;
Fix : DVB - don't show subtitle when Page start but Region Count = 0; but the many bugs with DVB subtitle still have :) Change : Disable "Alt+Space" hotkey for "Activate DVD Menu" function, it's a system hotkey; git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@4256 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/Subtitles')
-rw-r--r--src/Subtitles/CompositionObject.cpp2
-rw-r--r--src/Subtitles/DVBSub.cpp9
2 files changed, 11 insertions, 0 deletions
diff --git a/src/Subtitles/CompositionObject.cpp b/src/Subtitles/CompositionObject.cpp
index 6ed632e59..32b27a3df 100644
--- a/src/Subtitles/CompositionObject.cpp
+++ b/src/Subtitles/CompositionObject.cpp
@@ -294,10 +294,12 @@ void CompositionObject::Dvb4PixelsCodeString(SubPicDesc& spd, CGolombBuffer& gb,
}
}
+#if 0
if (nX+nCount > m_width) {
ASSERT (FALSE);
break;
}
+#endif
if (nCount>0) {
FillSolidRect (spd, nX, nY, nCount, 1, m_Colors[nPaletteIndex]);
diff --git a/src/Subtitles/DVBSub.cpp b/src/Subtitles/DVBSub.cpp
index 5e4bdebba..cbf6e9e7a 100644
--- a/src/Subtitles/DVBSub.cpp
+++ b/src/Subtitles/DVBSub.cpp
@@ -261,9 +261,18 @@ HRESULT CDVBSub::ParseSample(IMediaSample* pSample)
m_pCurrentPage = pPage;
m_pCurrentPage->rtStart = m_rtStart;
m_pCurrentPage->rtStop = m_pCurrentPage->rtStart + m_pCurrentPage->PageTimeOut * 1000000;
+
TRACE_DVB ("DVB - Page started %S, TimeOut = %d\n", ReftimeToString(m_rtStart), m_pCurrentPage->PageTimeOut);
} else {
TRACE_DVB ("DVB - Page update\n");
+
+ if(m_pCurrentPage && !m_pCurrentPage->RegionCount) {
+ m_pCurrentPage = pPage;
+ m_pCurrentPage->rtStart = m_rtStart;
+ m_pCurrentPage->rtStop = m_pCurrentPage->rtStart + m_pCurrentPage->PageTimeOut * 1000000;
+
+ TRACE_DVB ("DVB - Page started[update] %S, TimeOut = %d\n", ReftimeToString(m_rtStart), m_pCurrentPage->PageTimeOut);
+ }
}
}
break;