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>2008-08-03 14:26:08 +0400
committerCasimir666 <casimir666@users.sourceforge.net>2008-08-03 14:26:08 +0400
commit53d485714a6b65cfa895a9ab188b3ea8f7cf2b42 (patch)
tree88a42e6ac6ca7c68d036e63977946c0900cd353e /src/subtitles/RenderedHdmvSubtitle.h
parent271f2833192d7d972ff94229cbd7c0a1e66d1d8b (diff)
Hdmv subtitles : intermediate commit
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@714 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/subtitles/RenderedHdmvSubtitle.h')
-rw-r--r--src/subtitles/RenderedHdmvSubtitle.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/subtitles/RenderedHdmvSubtitle.h b/src/subtitles/RenderedHdmvSubtitle.h
new file mode 100644
index 000000000..2e59e5fc3
--- /dev/null
+++ b/src/subtitles/RenderedHdmvSubtitle.h
@@ -0,0 +1,69 @@
+/*
+ * $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 "Rasterizer.h"
+#include "..\SubPic\ISubPic.h"
+#include "HdmvSub.h"
+
+[uuid("FCA68599-C83E-4ea5-94A3-C2E1B0E326B9")]
+class CRenderedHdmvSubtitle : public ISubPicProviderImpl, public ISubStream
+{
+public:
+ CRenderedHdmvSubtitle(CCritSec* pLock);
+ ~CRenderedHdmvSubtitle(void);
+
+ DECLARE_IUNKNOWN
+ STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);
+
+ // ISubPicProvider
+ STDMETHODIMP_(POSITION) GetStartPosition(REFERENCE_TIME rt, double fps);
+ STDMETHODIMP_(POSITION) GetNext(POSITION pos);
+ STDMETHODIMP_(REFERENCE_TIME) GetStart(POSITION pos, double fps);
+ STDMETHODIMP_(REFERENCE_TIME) GetStop(POSITION pos, double fps);
+ STDMETHODIMP_(bool) IsAnimated(POSITION pos);
+ STDMETHODIMP Render(SubPicDesc& spd, REFERENCE_TIME rt, double fps, RECT& bbox);
+ STDMETHODIMP GetTextureSize (SIZE& TextureSize, SIZE& VirtualSize, POINT& VirtualTopLeft);
+ STDMETHODIMP SetSubPic (ISubPic* pSubPic);
+
+ // IPersist
+ STDMETHODIMP GetClassID(CLSID* pClassID);
+
+ // ISubStream
+ STDMETHODIMP_(int) GetStreamCount();
+ STDMETHODIMP GetStreamInfo(int i, WCHAR** ppName, LCID* pLCID);
+ STDMETHODIMP_(int) GetStream();
+ STDMETHODIMP SetStream(int iStream);
+ STDMETHODIMP Reload();
+
+ HRESULT ParseSample (IMediaSample* pSample);
+ HRESULT NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate);
+
+private :
+ CString m_name;
+ LCID m_lcid;
+ REFERENCE_TIME m_rtStart;
+
+ CHdmvSub m_HdmvSub;
+};