2 * (C) 2006-2012 see Authors.txt
4 * This file is part of MPC-HC.
6 * MPC-HC is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
11 * MPC-HC is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #include "CompositionObject.h"
25 #define ReftimeToCString(rt) ReftimeToString(rt).GetString()
34 typedef CompositionObject::ColorType ColorType
;
35 typedef CompositionObject::YuvRangeType YuvRangeType
;
37 static const REFERENCE_TIME INVALID_TIME
= _I64_MIN
;
39 CBaseSub(SUBTITLE_TYPE nType
);
42 virtual HRESULT
ParseSample(IMediaSample
* pSample
) = NULL
;
43 virtual void Reset() = NULL
;
44 virtual POSITION
GetStartPosition(REFERENCE_TIME rt
, double fps
) = NULL
;
45 virtual POSITION
GetNext(POSITION pos
) = NULL
;
46 virtual REFERENCE_TIME
GetStart(POSITION nPos
) = NULL
;
47 virtual REFERENCE_TIME
GetStop(POSITION nPos
) = NULL
;
48 virtual void Render(SubPicDesc
& spd
, REFERENCE_TIME rt
, RECT
& bbox
) = NULL
;
49 virtual HRESULT
GetTextureSize(POSITION pos
, SIZE
& MaxTextureSize
, SIZE
& VideoSize
, POINT
& VideoTopLeft
) = NULL
;
50 virtual HRESULT
SetYuvType(ColorType colorType
, YuvRangeType yuvRangeType
) = NULL
;
52 SUBTITLE_TYPE m_nType
;
53 ColorType m_colorTypeSetting
;
54 YuvRangeType m_yuvRangeSetting
;