diff options
author | Aleksoid <aleksoid@users.sourceforge.net> | 2012-01-24 04:40:16 +0400 |
---|---|---|
committer | Aleksoid <aleksoid@users.sourceforge.net> | 2012-01-24 04:40:16 +0400 |
commit | 619083304ee9cab2bd1b09c3b450575b880383cb (patch) | |
tree | 8f3309338f29b5a2b4ac80cbd7d20fac106b39bc /src/Subtitles | |
parent | afd649c0e61eeb0d8ffcaae3e3aaa09aabe17e4f (diff) |
Fix : Standalone filter MPCVideoDecFilter does not connect to any MPEG-4 codecs, except DivX/Xvid;
Fix : Subtitles parser must ignore any Effects tag when 'Default Style' is checked;
Fix : MPC Avi Splitter ignore Non-interleaved & Badly-interleaved streams.(Since it successful split them - let him do it.)
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@3998 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/Subtitles')
-rw-r--r-- | src/Subtitles/RTS.cpp | 19 | ||||
-rw-r--r-- | src/Subtitles/RTS.h | 1 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/Subtitles/RTS.cpp b/src/Subtitles/RTS.cpp index a1fbeea38..fe5483fb4 100644 --- a/src/Subtitles/RTS.cpp +++ b/src/Subtitles/RTS.cpp @@ -1319,17 +1319,22 @@ void CSubtitle::Empty() delete m_words.GetNext(pos);
}
+ EmptyEffects();
+
+ if(m_pClipper) {
+ delete m_pClipper;
+ }
+ m_pClipper = NULL;
+}
+
+void CSubtitle::EmptyEffects()
+{
for(ptrdiff_t i = 0; i < EF_NUMBEROFEFFECTS; i++) {
if(m_effects[i]) {
delete m_effects[i];
}
}
memset(m_effects, 0, sizeof(Effect*)*EF_NUMBEROFEFFECTS);
-
- if(m_pClipper) {
- delete m_pClipper;
- }
- m_pClipper = NULL;
}
int CSubtitle::GetFullWidth()
@@ -3179,6 +3184,10 @@ CSubtitle* CRenderedTextSubtitle::GetSubtitle(int entry) str = str.Mid(i);
}
+ if(m_doOverrideStyle && m_pStyleOverride != NULL) {
+ sub->EmptyEffects();
+ }
+
// just a "work-around" solution... in most cases nobody will want to use \org together with moving but without rotating the subs
if(sub->m_effects[EF_ORG] && (sub->m_effects[EF_MOVE] || sub->m_effects[EF_BANNER] || sub->m_effects[EF_SCROLL])) {
sub->m_fAnimated = true;
diff --git a/src/Subtitles/RTS.h b/src/Subtitles/RTS.h index ec0345a90..ca179712c 100644 --- a/src/Subtitles/RTS.h +++ b/src/Subtitles/RTS.h @@ -199,6 +199,7 @@ public: CSubtitle();
virtual ~CSubtitle();
virtual void Empty();
+ void EmptyEffects();
void CreateClippers(CSize size);
|