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-01-24 04:40:16 +0400
committerAleksoid <aleksoid@users.sourceforge.net>2012-01-24 04:40:16 +0400
commit619083304ee9cab2bd1b09c3b450575b880383cb (patch)
tree8f3309338f29b5a2b4ac80cbd7d20fac106b39bc /src/Subtitles
parentafd649c0e61eeb0d8ffcaae3e3aaa09aabe17e4f (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.cpp19
-rw-r--r--src/Subtitles/RTS.h1
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);