diff options
author | Casimir666 <casimir666@users.sourceforge.net> | 2009-11-11 22:16:30 +0300 |
---|---|---|
committer | Casimir666 <casimir666@users.sourceforge.net> | 2009-11-11 22:16:30 +0300 |
commit | ac39f6c9f79c7e4e2d0112cb0a53409c9c5087ea (patch) | |
tree | 49e793a53d910b555be7556d1c50e886a498efea /src/subtitles/BaseSub.h | |
parent | 24db6e20e4de08e7b0b2890423b6dca53a7670b6 (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.h | 53 |
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;
+};
|