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:
authorCasimir666 <casimir666@users.sourceforge.net>2009-11-11 22:16:30 +0300
committerCasimir666 <casimir666@users.sourceforge.net>2009-11-11 22:16:30 +0300
commitac39f6c9f79c7e4e2d0112cb0a53409c9c5087ea (patch)
tree49e793a53d910b555be7556d1c50e886a498efea /src/subtitles/BaseSub.h
parent24db6e20e4de08e7b0b2890423b6dca53a7670b6 (diff)
Added : support for DVB subtitles
Fixed : several issues for HDMV subtitle display (better support for transparent subtitles, memory leak) git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1335 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/subtitles/BaseSub.h')
-rw-r--r--src/subtitles/BaseSub.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/subtitles/BaseSub.h b/src/subtitles/BaseSub.h
new file mode 100644
index 000000000..6acf9fcd3
--- /dev/null
+++ b/src/subtitles/BaseSub.h
@@ -0,0 +1,53 @@
+/*
+ * $Id$
+ *
+ * (C) 2006-2007 see AUTHORS
+ *
+ * This file is part of mplayerc.
+ *
+ * Mplayerc is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Mplayerc is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+#pragma once
+
+#include "CompositionObject.h"
+
+enum SUBTITLE_TYPE
+{
+ ST_DVB,
+ ST_HDMV
+};
+
+class CBaseSub
+{
+public:
+
+ static const REFERENCE_TIME INVALID_TIME = _I64_MIN;
+
+ CBaseSub(SUBTITLE_TYPE nType);
+
+ virtual HRESULT ParseSample (IMediaSample* pSample) = NULL;
+ virtual void Reset() = NULL;
+ virtual POSITION GetStartPosition(REFERENCE_TIME rt, double fps) = NULL;
+ virtual POSITION GetNext(POSITION pos) = NULL;
+ virtual REFERENCE_TIME GetStart(POSITION nPos) = NULL;
+ virtual REFERENCE_TIME GetStop(POSITION nPos) = NULL;
+ virtual void Render(SubPicDesc& spd, REFERENCE_TIME rt, RECT& bbox) = NULL;
+ virtual HRESULT GetTextureSize (POSITION pos, SIZE& MaxTextureSize, SIZE& VideoSize, POINT& VideoTopLeft) = NULL;
+
+protected :
+ SUBTITLE_TYPE m_nType;
+};