Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
ce00864d
Commit
ce00864d
authored
Jan 26, 2010
by
JP Dinger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
activex plugin: move deinterlace to own video subobject.
parent
f64e68a7
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
225 additions
and
79 deletions
+225
-79
projects/activex/axvlc.idl
projects/activex/axvlc.idl
+19
-5
projects/activex/axvlc.tlb
projects/activex/axvlc.tlb
+0
-0
projects/activex/axvlc_idl.c
projects/activex/axvlc_idl.c
+2
-1
projects/activex/axvlc_idl.h
projects/activex/axvlc_idl.h
+139
-31
projects/activex/test.html
projects/activex/test.html
+3
-3
projects/activex/vlccontrol2.cpp
projects/activex/vlccontrol2.cpp
+39
-33
projects/activex/vlccontrol2.h
projects/activex/vlccontrol2.h
+23
-6
No files found.
projects/activex/axvlc.idl
View file @
ce00864d
...
...
@@ -41,6 +41,7 @@ library AXVLC
interface
IVLCAudio
;
interface
IVLCInput
;
interface
IVLCLogo
;
interface
IVLCDeinterlace
;
interface
IVLCMarquee
;
interface
IVLCPlaylist
;
interface
IVLCSubtitle
;
...
...
@@ -442,6 +443,21 @@ library AXVLC
[
propput
,
helpstring
(
"Picture y offset."
)
]
HRESULT
y
(
[
in
]
long
val
)
;
}
;
[
odl
,
uuid
(
bc97469f
-
cb11
-
4037
-
8
dce
-
5
fc9f5f85307
),
helpstring
(
"VLC Deinterlace Filter"
),
dual
,
oleautomation
]
interface
IVLCDeinterlace
:
IDispatch
{
[
helpstring
(
"Enable deinterlace filter and set method."
)
]
HRESULT
enable
(
[
in
]
BSTR
mode
)
;
[
helpstring
(
"Disable deinterlace filter."
)
]
HRESULT
disable
()
;
}
;
[
...
...
@@ -485,11 +501,6 @@ library AXVLC
[
propput
,
helpstring
(
"Sets teletext page to use."
)
]
HRESULT
teletext
(
[
in
]
long
page
)
;
[
helpstring
(
"Enable deinterlace filter."
)
]
HRESULT
deinterlaceEnable
(
[
in
]
BSTR
mode
)
;
[
helpstring
(
"Disable deinterlace filter."
)
]
HRESULT
deinterlaceDisable
()
;
[
helpstring
(
"toggle fullscreen/windowed state."
)
]
HRESULT
toggleFullscreen
()
;
...
...
@@ -504,6 +515,9 @@ library AXVLC
[
propget
,
helpstring
(
"Returns the logo object."
)
]
HRESULT
logo
(
[
out
,
retval
]
IVLCLogo
**
obj
)
;
[
propget
,
helpstring
(
"Returns the logo object."
)
]
HRESULT
deinterlace
(
[
out
,
retval
]
IVLCDeinterlace
**
obj
)
;
}
;
[
...
...
projects/activex/axvlc.tlb
View file @
ce00864d
No preview for this file type
projects/activex/axvlc_idl.c
View file @
ce00864d
/*** Autogenerated by WIDL 1.1.
32
from axvlc.idl - Do not edit ***/
/*** Autogenerated by WIDL 1.1.
23
from axvlc.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>
...
...
@@ -19,6 +19,7 @@ DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0
DEFINE_GUID
(
IID_IVLCSubtitle
,
0x465e787a
,
0x0556
,
0x452f
,
0x94
,
0x77
,
0x95
,
0x4e
,
0x4a
,
0x94
,
0x00
,
0x03
);
DEFINE_GUID
(
IID_IVLCMarquee
,
0x8d076ad6
,
0x9b6f
,
0x4150
,
0xa0
,
0xfd
,
0x5d
,
0x7e
,
0x8c
,
0x8c
,
0xb0
,
0x2c
);
DEFINE_GUID
(
IID_IVLCLogo
,
0x8a4a20c2
,
0x93f3
,
0x44e8
,
0x86
,
0x44
,
0xbe
,
0xb2
,
0xe3
,
0x48
,
0x7e
,
0x84
);
DEFINE_GUID
(
IID_IVLCDeinterlace
,
0xbc97469f
,
0xcb11
,
0x4037
,
0x8d
,
0xce
,
0x5f
,
0xc9
,
0xf5
,
0xf8
,
0x53
,
0x07
);
DEFINE_GUID
(
IID_IVLCVideo
,
0x0aaedf0b
,
0xd333
,
0x4b27
,
0xa0
,
0xc6
,
0xbb
,
0xf3
,
0x14
,
0x13
,
0xa4
,
0x2e
);
DEFINE_GUID
(
IID_IVLCControl2
,
0x2d719729
,
0x5333
,
0x406c
,
0xbf
,
0x12
,
0x8d
,
0xe7
,
0x87
,
0xfd
,
0x65
,
0xe3
);
DEFINE_GUID
(
CLSID_VLCPlugin
,
0xe23fe9c6
,
0x778e
,
0x49d4
,
0xb5
,
0x37
,
0x38
,
0xfc
,
0xde
,
0x48
,
0x87
,
0xd8
);
...
...
projects/activex/axvlc_idl.h
View file @
ce00864d
/*** Autogenerated by WIDL 1.1.
32
from axvlc.idl - Do not edit ***/
/*** Autogenerated by WIDL 1.1.
23
from axvlc.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>
...
...
@@ -61,6 +61,11 @@ typedef interface IVLCMarquee IVLCMarquee;
typedef
interface
IVLCLogo
IVLCLogo
;
#endif
#ifndef __IVLCDeinterlace_FWD_DEFINED__
#define __IVLCDeinterlace_FWD_DEFINED__
typedef
interface
IVLCDeinterlace
IVLCDeinterlace
;
#endif
#ifndef __IVLCVideo_FWD_DEFINED__
#define __IVLCVideo_FWD_DEFINED__
typedef
interface
IVLCVideo
IVLCVideo
;
...
...
@@ -105,6 +110,11 @@ typedef interface IVLCInput IVLCInput;
typedef
interface
IVLCLogo
IVLCLogo
;
#endif
#ifndef __IVLCDeinterlace_FWD_DEFINED__
#define __IVLCDeinterlace_FWD_DEFINED__
typedef
interface
IVLCDeinterlace
IVLCDeinterlace
;
#endif
#ifndef __IVLCMarquee_FWD_DEFINED__
#define __IVLCMarquee_FWD_DEFINED__
typedef
interface
IVLCMarquee
IVLCMarquee
;
...
...
@@ -2627,6 +2637,118 @@ void __RPC_STUB IVLCLogo_put_y_Stub(
#endif
/* __IVLCLogo_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVLCDeinterlace interface
*/
#ifndef __IVLCDeinterlace_INTERFACE_DEFINED__
#define __IVLCDeinterlace_INTERFACE_DEFINED__
DEFINE_GUID
(
IID_IVLCDeinterlace
,
0xbc97469f
,
0xcb11
,
0x4037
,
0x8d
,
0xce
,
0x5f
,
0xc9
,
0xf5
,
0xf8
,
0x53
,
0x07
);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface
IVLCDeinterlace
:
public
IDispatch
{
virtual
HRESULT
STDMETHODCALLTYPE
enable
(
BSTR
mode
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
disable
(
)
=
0
;
};
#else
typedef
struct
IVLCDeinterlaceVtbl
{
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT
(
STDMETHODCALLTYPE
*
QueryInterface
)(
IVLCDeinterlace
*
This
,
REFIID
riid
,
void
**
ppvObject
);
ULONG
(
STDMETHODCALLTYPE
*
AddRef
)(
IVLCDeinterlace
*
This
);
ULONG
(
STDMETHODCALLTYPE
*
Release
)(
IVLCDeinterlace
*
This
);
/*** IDispatch methods ***/
HRESULT
(
STDMETHODCALLTYPE
*
GetTypeInfoCount
)(
IVLCDeinterlace
*
This
,
UINT
*
pctinfo
);
HRESULT
(
STDMETHODCALLTYPE
*
GetTypeInfo
)(
IVLCDeinterlace
*
This
,
UINT
iTInfo
,
LCID
lcid
,
ITypeInfo
**
ppTInfo
);
HRESULT
(
STDMETHODCALLTYPE
*
GetIDsOfNames
)(
IVLCDeinterlace
*
This
,
REFIID
riid
,
LPOLESTR
*
rgszNames
,
UINT
cNames
,
LCID
lcid
,
DISPID
*
rgDispId
);
HRESULT
(
STDMETHODCALLTYPE
*
Invoke
)(
IVLCDeinterlace
*
This
,
DISPID
dispIdMember
,
REFIID
riid
,
LCID
lcid
,
WORD
wFlags
,
DISPPARAMS
*
pDispParams
,
VARIANT
*
pVarResult
,
EXCEPINFO
*
pExcepInfo
,
UINT
*
puArgErr
);
/*** IVLCDeinterlace methods ***/
HRESULT
(
STDMETHODCALLTYPE
*
enable
)(
IVLCDeinterlace
*
This
,
BSTR
mode
);
HRESULT
(
STDMETHODCALLTYPE
*
disable
)(
IVLCDeinterlace
*
This
);
END_INTERFACE
}
IVLCDeinterlaceVtbl
;
interface
IVLCDeinterlace
{
CONST_VTBL
IVLCDeinterlaceVtbl
*
lpVtbl
;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVLCDeinterlace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVLCDeinterlace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVLCDeinterlace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IVLCDeinterlace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IVLCDeinterlace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IVLCDeinterlace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IVLCDeinterlace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IVLCDeinterlace methods ***/
#define IVLCDeinterlace_enable(This,mode) (This)->lpVtbl->enable(This,mode)
#define IVLCDeinterlace_disable(This) (This)->lpVtbl->disable(This)
#endif
#endif
HRESULT
STDMETHODCALLTYPE
IVLCDeinterlace_enable_Proxy
(
IVLCDeinterlace
*
This
,
BSTR
mode
);
void
__RPC_STUB
IVLCDeinterlace_enable_Stub
(
IRpcStubBuffer
*
This
,
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
HRESULT
STDMETHODCALLTYPE
IVLCDeinterlace_disable_Proxy
(
IVLCDeinterlace
*
This
);
void
__RPC_STUB
IVLCDeinterlace_disable_Stub
(
IRpcStubBuffer
*
This
,
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
#endif
/* __IVLCDeinterlace_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVLCVideo interface
*/
...
...
@@ -2673,12 +2795,6 @@ interface IVLCVideo : public IDispatch
virtual
HRESULT
STDMETHODCALLTYPE
put_teletext
(
LONG
page
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
deinterlaceEnable
(
BSTR
mode
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
deinterlaceDisable
(
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
toggleFullscreen
(
)
=
0
;
...
...
@@ -2694,6 +2810,9 @@ interface IVLCVideo : public IDispatch
virtual
HRESULT
STDMETHODCALLTYPE
get_logo
(
IVLCLogo
**
obj
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
get_deinterlace
(
IVLCDeinterlace
**
obj
)
=
0
;
};
#else
typedef
struct
IVLCVideoVtbl
{
...
...
@@ -2790,13 +2909,6 @@ typedef struct IVLCVideoVtbl {
IVLCVideo
*
This
,
LONG
page
);
HRESULT
(
STDMETHODCALLTYPE
*
deinterlaceEnable
)(
IVLCVideo
*
This
,
BSTR
mode
);
HRESULT
(
STDMETHODCALLTYPE
*
deinterlaceDisable
)(
IVLCVideo
*
This
);
HRESULT
(
STDMETHODCALLTYPE
*
toggleFullscreen
)(
IVLCVideo
*
This
);
...
...
@@ -2815,6 +2927,10 @@ typedef struct IVLCVideoVtbl {
IVLCVideo
*
This
,
IVLCLogo
**
obj
);
HRESULT
(
STDMETHODCALLTYPE
*
get_deinterlace
)(
IVLCVideo
*
This
,
IVLCDeinterlace
**
obj
);
END_INTERFACE
}
IVLCVideoVtbl
;
interface
IVLCVideo
{
...
...
@@ -2844,13 +2960,12 @@ interface IVLCVideo {
#define IVLCVideo_put_crop(This,geometry) (This)->lpVtbl->put_crop(This,geometry)
#define IVLCVideo_get_teletext(This,page) (This)->lpVtbl->get_teletext(This,page)
#define IVLCVideo_put_teletext(This,page) (This)->lpVtbl->put_teletext(This,page)
#define IVLCVideo_deinterlaceEnable(This,mode) (This)->lpVtbl->deinterlaceEnable(This,mode)
#define IVLCVideo_deinterlaceDisable(This) (This)->lpVtbl->deinterlaceDisable(This)
#define IVLCVideo_toggleFullscreen(This) (This)->lpVtbl->toggleFullscreen(This)
#define IVLCVideo_takeSnapshot(This,picture) (This)->lpVtbl->takeSnapshot(This,picture)
#define IVLCVideo_toggleTeletext(This) (This)->lpVtbl->toggleTeletext(This)
#define IVLCVideo_get_marquee(This,obj) (This)->lpVtbl->get_marquee(This,obj)
#define IVLCVideo_get_logo(This,obj) (This)->lpVtbl->get_logo(This,obj)
#define IVLCVideo_get_deinterlace(This,obj) (This)->lpVtbl->get_deinterlace(This,obj)
#endif
#endif
...
...
@@ -2951,21 +3066,6 @@ void __RPC_STUB IVLCVideo_put_teletext_Stub(
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
HRESULT
STDMETHODCALLTYPE
IVLCVideo_deinterlaceEnable_Proxy
(
IVLCVideo
*
This
,
BSTR
mode
);
void
__RPC_STUB
IVLCVideo_deinterlaceEnable_Stub
(
IRpcStubBuffer
*
This
,
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
HRESULT
STDMETHODCALLTYPE
IVLCVideo_deinterlaceDisable_Proxy
(
IVLCVideo
*
This
);
void
__RPC_STUB
IVLCVideo_deinterlaceDisable_Stub
(
IRpcStubBuffer
*
This
,
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
HRESULT
STDMETHODCALLTYPE
IVLCVideo_toggleFullscreen_Proxy
(
IVLCVideo
*
This
);
void
__RPC_STUB
IVLCVideo_toggleFullscreen_Stub
(
...
...
@@ -3004,6 +3104,14 @@ void __RPC_STUB IVLCVideo_get_logo_Stub(
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
HRESULT
STDMETHODCALLTYPE
IVLCVideo_get_deinterlace_Proxy
(
IVLCVideo
*
This
,
IVLCDeinterlace
**
obj
);
void
__RPC_STUB
IVLCVideo_get_deinterlace_Stub
(
IRpcStubBuffer
*
This
,
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
#endif
/* __IVLCVideo_INTERFACE_DEFINED__ */
...
...
projects/activex/test.html
View file @
ce00864d
...
...
@@ -205,9 +205,9 @@ Insert Slider widget
</TR>
<TR>
<TD>
Deinterlacing:
<INPUT
type=
button
value=
"BLEND"
onClick=
'getVLC("vlc").video.deinterlace
E
nable("blend");'
>
<INPUT
type=
button
value=
" X "
onClick=
'getVLC("vlc").video.deinterlace
E
nable("x");'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.deinterlace
D
isable();'
>
<INPUT
type=
button
value=
"BLEND"
onClick=
'getVLC("vlc").video.deinterlace
.e
nable("blend");'
>
<INPUT
type=
button
value=
" X "
onClick=
'getVLC("vlc").video.deinterlace
.e
nable("x");'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.deinterlace
.d
isable();'
>
</TD>
</TR>
<TR>
...
...
projects/activex/vlccontrol2.cpp
View file @
ce00864d
...
...
@@ -65,6 +65,7 @@ BIND_INTERFACE( VLCAudio )
BIND_INTERFACE
(
VLCInput
)
BIND_INTERFACE
(
VLCMarquee
)
BIND_INTERFACE
(
VLCLogo
)
BIND_INTERFACE
(
VLCDeinterlace
)
BIND_INTERFACE
(
VLCPlaylistItems
)
BIND_INTERFACE
(
VLCPlaylist
)
BIND_INTERFACE
(
VLCVideo
)
...
...
@@ -288,6 +289,39 @@ STDMETHODIMP VLCAudio::toggleMute()
/****************************************************************************/
STDMETHODIMP
VLCDeinterlace
::
disable
()
{
libvlc_media_player_t
*
p_md
;
HRESULT
hr
=
getMD
(
&
p_md
);
if
(
SUCCEEDED
(
hr
)
)
{
libvlc_exception_t
ex
;
libvlc_exception_init
(
&
ex
);
libvlc_video_set_deinterlace
(
p_md
,
0
,
""
,
&
ex
);
hr
=
exception_bridge
(
&
ex
);
}
return
hr
;
}
STDMETHODIMP
VLCDeinterlace
::
enable
(
BSTR
mode
)
{
libvlc_media_player_t
*
p_md
;
HRESULT
hr
=
getMD
(
&
p_md
);
if
(
SUCCEEDED
(
hr
)
)
{
libvlc_exception_t
ex
;
libvlc_exception_init
(
&
ex
);
char
*
psz_mode
=
CStrFromBSTR
(
CP_UTF8
,
mode
);
libvlc_video_set_deinterlace
(
p_md
,
1
,
psz_mode
,
&
ex
);
CoTaskMemFree
(
psz_mode
);
hr
=
exception_bridge
(
&
ex
);
}
return
hr
;
}
/****************************************************************************/
STDMETHODIMP
VLCInput
::
get_length
(
double
*
length
)
{
if
(
NULL
==
length
)
...
...
@@ -1177,39 +1211,6 @@ STDMETHODIMP VLCVideo::put_teletext(long page)
return
hr
;
};
STDMETHODIMP
VLCVideo
::
deinterlaceDisable
()
{
libvlc_media_player_t
*
p_md
;
HRESULT
hr
=
getMD
(
&
p_md
);
if
(
SUCCEEDED
(
hr
)
)
{
libvlc_exception_t
ex
;
libvlc_exception_init
(
&
ex
);
libvlc_video_set_deinterlace
(
p_md
,
0
,
""
,
&
ex
);
hr
=
exception_bridge
(
&
ex
);
}
return
hr
;
};
STDMETHODIMP
VLCVideo
::
deinterlaceEnable
(
BSTR
mode
)
{
libvlc_media_player_t
*
p_md
;
HRESULT
hr
=
getMD
(
&
p_md
);
if
(
SUCCEEDED
(
hr
)
)
{
libvlc_exception_t
ex
;
libvlc_exception_init
(
&
ex
);
/* get deinterlace mode from the user */
char
*
psz_mode
=
CStrFromBSTR
(
CP_UTF8
,
mode
);
/* enable deinterlace filter if possible */
libvlc_video_set_deinterlace
(
p_md
,
1
,
psz_mode
,
&
ex
);
hr
=
exception_bridge
(
&
ex
);
CoTaskMemFree
(
psz_mode
);
}
return
hr
;
};
STDMETHODIMP
VLCVideo
::
takeSnapshot
(
LPPICTUREDISP
*
picture
)
{
if
(
NULL
==
picture
)
...
...
@@ -1351,6 +1352,11 @@ STDMETHODIMP VLCVideo::get_logo(IVLCLogo** obj)
return
object_get
(
obj
,
_p_vlclogo
);
}
STDMETHODIMP
VLCVideo
::
get_deinterlace
(
IVLCDeinterlace
**
obj
)
{
return
object_get
(
obj
,
_p_vlcdeint
);
}
/****************************************************************************/
...
...
projects/activex/vlccontrol2.h
View file @
ce00864d
...
...
@@ -239,6 +239,18 @@ private:
HRESULT
do_get_int
(
unsigned
idx
,
LONG
*
val
);
};
class
VLCDeinterlace
:
public
VLCInterface
<
VLCDeinterlace
,
IVLCDeinterlace
>
{
public:
VLCDeinterlace
(
VLCPlugin
*
p
)
:
VLCInterface
<
VLCDeinterlace
,
IVLCDeinterlace
>
(
p
)
{
}
STDMETHODIMP
enable
(
BSTR
val
);
STDMETHODIMP
disable
();
};
class
VLCPlaylistItems
:
public
VLCInterface
<
VLCPlaylistItems
,
IVLCPlaylistItems
>
{
public:
...
...
@@ -293,8 +305,13 @@ class VLCVideo: public VLCInterface<VLCVideo,IVLCVideo>
{
public:
VLCVideo
(
VLCPlugin
*
p
)
:
VLCInterface
<
VLCVideo
,
IVLCVideo
>
(
p
),
_p_vlcmarquee
(
new
VLCMarquee
(
p
)),
_p_vlclogo
(
new
VLCLogo
(
p
))
{
}
virtual
~
VLCVideo
()
{
delete
_p_vlcmarquee
;
delete
_p_vlclogo
;
}
_p_vlcmarquee
(
new
VLCMarquee
(
p
)),
_p_vlclogo
(
new
VLCLogo
(
p
)),
_p_vlcdeint
(
new
VLCDeinterlace
(
p
))
{
}
virtual
~
VLCVideo
()
{
delete
_p_vlcmarquee
;
delete
_p_vlclogo
;
delete
_p_vlcdeint
;
}
// IVLCVideo methods
STDMETHODIMP
get_fullscreen
(
VARIANT_BOOL
*
);
...
...
@@ -311,15 +328,15 @@ public:
STDMETHODIMP
put_teletext
(
long
);
STDMETHODIMP
get_marquee
(
IVLCMarquee
**
);
STDMETHODIMP
get_logo
(
IVLCLogo
**
);
STDMETHODIMP
deinterlaceDisable
();
STDMETHODIMP
deinterlaceEnable
(
BSTR
);
STDMETHODIMP
get_deinterlace
(
IVLCDeinterlace
**
);
STDMETHODIMP
takeSnapshot
(
LPPICTUREDISP
*
);
STDMETHODIMP
toggleFullscreen
();
STDMETHODIMP
toggleTeletext
();
private:
IVLCMarquee
*
_p_vlcmarquee
;
IVLCLogo
*
_p_vlclogo
;
IVLCMarquee
*
_p_vlcmarquee
;
IVLCLogo
*
_p_vlclogo
;
IVLCDeinterlace
*
_p_vlcdeint
;
};
class
VLCControl2
:
public
IVLCControl2
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment