Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
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-1.1
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
...
@@ -41,6 +41,7 @@ library AXVLC
interface
IVLCAudio
;
interface
IVLCAudio
;
interface
IVLCInput
;
interface
IVLCInput
;
interface
IVLCLogo
;
interface
IVLCLogo
;
interface
IVLCDeinterlace
;
interface
IVLCMarquee
;
interface
IVLCMarquee
;
interface
IVLCPlaylist
;
interface
IVLCPlaylist
;
interface
IVLCSubtitle
;
interface
IVLCSubtitle
;
...
@@ -442,6 +443,21 @@ library AXVLC
...
@@ -442,6 +443,21 @@ library AXVLC
[
propput
,
helpstring
(
"Picture y offset."
)
]
[
propput
,
helpstring
(
"Picture y offset."
)
]
HRESULT
y
(
[
in
]
long
val
)
;
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
...
@@ -485,11 +501,6 @@ library AXVLC
[
propput
,
helpstring
(
"Sets teletext page to use."
)
]
[
propput
,
helpstring
(
"Sets teletext page to use."
)
]
HRESULT
teletext
(
[
in
]
long
page
)
;
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."
)
]
[
helpstring
(
"toggle fullscreen/windowed state."
)
]
HRESULT
toggleFullscreen
()
;
HRESULT
toggleFullscreen
()
;
...
@@ -504,6 +515,9 @@ library AXVLC
...
@@ -504,6 +515,9 @@ library AXVLC
[
propget
,
helpstring
(
"Returns the logo object."
)
]
[
propget
,
helpstring
(
"Returns the logo object."
)
]
HRESULT
logo
(
[
out
,
retval
]
IVLCLogo
**
obj
)
;
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 <rpc.h>
#include <rpcndr.h>
#include <rpcndr.h>
...
@@ -19,6 +19,7 @@ DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0
...
@@ -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_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_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_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_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
(
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
);
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 <rpc.h>
#include <rpcndr.h>
#include <rpcndr.h>
...
@@ -61,6 +61,11 @@ typedef interface IVLCMarquee IVLCMarquee;
...
@@ -61,6 +61,11 @@ typedef interface IVLCMarquee IVLCMarquee;
typedef
interface
IVLCLogo
IVLCLogo
;
typedef
interface
IVLCLogo
IVLCLogo
;
#endif
#endif
#ifndef __IVLCDeinterlace_FWD_DEFINED__
#define __IVLCDeinterlace_FWD_DEFINED__
typedef
interface
IVLCDeinterlace
IVLCDeinterlace
;
#endif
#ifndef __IVLCVideo_FWD_DEFINED__
#ifndef __IVLCVideo_FWD_DEFINED__
#define __IVLCVideo_FWD_DEFINED__
#define __IVLCVideo_FWD_DEFINED__
typedef
interface
IVLCVideo
IVLCVideo
;
typedef
interface
IVLCVideo
IVLCVideo
;
...
@@ -105,6 +110,11 @@ typedef interface IVLCInput IVLCInput;
...
@@ -105,6 +110,11 @@ typedef interface IVLCInput IVLCInput;
typedef
interface
IVLCLogo
IVLCLogo
;
typedef
interface
IVLCLogo
IVLCLogo
;
#endif
#endif
#ifndef __IVLCDeinterlace_FWD_DEFINED__
#define __IVLCDeinterlace_FWD_DEFINED__
typedef
interface
IVLCDeinterlace
IVLCDeinterlace
;
#endif
#ifndef __IVLCMarquee_FWD_DEFINED__
#ifndef __IVLCMarquee_FWD_DEFINED__
#define __IVLCMarquee_FWD_DEFINED__
#define __IVLCMarquee_FWD_DEFINED__
typedef
interface
IVLCMarquee
IVLCMarquee
;
typedef
interface
IVLCMarquee
IVLCMarquee
;
...
@@ -2627,6 +2637,118 @@ void __RPC_STUB IVLCLogo_put_y_Stub(
...
@@ -2627,6 +2637,118 @@ void __RPC_STUB IVLCLogo_put_y_Stub(
#endif
/* __IVLCLogo_INTERFACE_DEFINED__ */
#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
* IVLCVideo interface
*/
*/
...
@@ -2673,12 +2795,6 @@ interface IVLCVideo : public IDispatch
...
@@ -2673,12 +2795,6 @@ interface IVLCVideo : public IDispatch
virtual
HRESULT
STDMETHODCALLTYPE
put_teletext
(
virtual
HRESULT
STDMETHODCALLTYPE
put_teletext
(
LONG
page
)
=
0
;
LONG
page
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
deinterlaceEnable
(
BSTR
mode
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
deinterlaceDisable
(
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
toggleFullscreen
(
virtual
HRESULT
STDMETHODCALLTYPE
toggleFullscreen
(
)
=
0
;
)
=
0
;
...
@@ -2694,6 +2810,9 @@ interface IVLCVideo : public IDispatch
...
@@ -2694,6 +2810,9 @@ interface IVLCVideo : public IDispatch
virtual
HRESULT
STDMETHODCALLTYPE
get_logo
(
virtual
HRESULT
STDMETHODCALLTYPE
get_logo
(
IVLCLogo
**
obj
)
=
0
;
IVLCLogo
**
obj
)
=
0
;
virtual
HRESULT
STDMETHODCALLTYPE
get_deinterlace
(
IVLCDeinterlace
**
obj
)
=
0
;
};
};
#else
#else
typedef
struct
IVLCVideoVtbl
{
typedef
struct
IVLCVideoVtbl
{
...
@@ -2790,13 +2909,6 @@ typedef struct IVLCVideoVtbl {
...
@@ -2790,13 +2909,6 @@ typedef struct IVLCVideoVtbl {
IVLCVideo
*
This
,
IVLCVideo
*
This
,
LONG
page
);
LONG
page
);
HRESULT
(
STDMETHODCALLTYPE
*
deinterlaceEnable
)(
IVLCVideo
*
This
,
BSTR
mode
);
HRESULT
(
STDMETHODCALLTYPE
*
deinterlaceDisable
)(
IVLCVideo
*
This
);
HRESULT
(
STDMETHODCALLTYPE
*
toggleFullscreen
)(
HRESULT
(
STDMETHODCALLTYPE
*
toggleFullscreen
)(
IVLCVideo
*
This
);
IVLCVideo
*
This
);
...
@@ -2815,6 +2927,10 @@ typedef struct IVLCVideoVtbl {
...
@@ -2815,6 +2927,10 @@ typedef struct IVLCVideoVtbl {
IVLCVideo
*
This
,
IVLCVideo
*
This
,
IVLCLogo
**
obj
);
IVLCLogo
**
obj
);
HRESULT
(
STDMETHODCALLTYPE
*
get_deinterlace
)(
IVLCVideo
*
This
,
IVLCDeinterlace
**
obj
);
END_INTERFACE
END_INTERFACE
}
IVLCVideoVtbl
;
}
IVLCVideoVtbl
;
interface
IVLCVideo
{
interface
IVLCVideo
{
...
@@ -2844,13 +2960,12 @@ interface IVLCVideo {
...
@@ -2844,13 +2960,12 @@ interface IVLCVideo {
#define IVLCVideo_put_crop(This,geometry) (This)->lpVtbl->put_crop(This,geometry)
#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_get_teletext(This,page) (This)->lpVtbl->get_teletext(This,page)
#define IVLCVideo_put_teletext(This,page) (This)->lpVtbl->put_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_toggleFullscreen(This) (This)->lpVtbl->toggleFullscreen(This)
#define IVLCVideo_takeSnapshot(This,picture) (This)->lpVtbl->takeSnapshot(This,picture)
#define IVLCVideo_takeSnapshot(This,picture) (This)->lpVtbl->takeSnapshot(This,picture)
#define IVLCVideo_toggleTeletext(This) (This)->lpVtbl->toggleTeletext(This)
#define IVLCVideo_toggleTeletext(This) (This)->lpVtbl->toggleTeletext(This)
#define IVLCVideo_get_marquee(This,obj) (This)->lpVtbl->get_marquee(This,obj)
#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_logo(This,obj) (This)->lpVtbl->get_logo(This,obj)
#define IVLCVideo_get_deinterlace(This,obj) (This)->lpVtbl->get_deinterlace(This,obj)
#endif
#endif
#endif
#endif
...
@@ -2951,21 +3066,6 @@ void __RPC_STUB IVLCVideo_put_teletext_Stub(
...
@@ -2951,21 +3066,6 @@ void __RPC_STUB IVLCVideo_put_teletext_Stub(
IRpcChannelBuffer
*
pRpcChannelBuffer
,
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
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
(
HRESULT
STDMETHODCALLTYPE
IVLCVideo_toggleFullscreen_Proxy
(
IVLCVideo
*
This
);
IVLCVideo
*
This
);
void
__RPC_STUB
IVLCVideo_toggleFullscreen_Stub
(
void
__RPC_STUB
IVLCVideo_toggleFullscreen_Stub
(
...
@@ -3004,6 +3104,14 @@ void __RPC_STUB IVLCVideo_get_logo_Stub(
...
@@ -3004,6 +3104,14 @@ void __RPC_STUB IVLCVideo_get_logo_Stub(
IRpcChannelBuffer
*
pRpcChannelBuffer
,
IRpcChannelBuffer
*
pRpcChannelBuffer
,
PRPC_MESSAGE
pRpcMessage
,
PRPC_MESSAGE
pRpcMessage
,
DWORD
*
pdwStubPhase
);
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__ */
#endif
/* __IVLCVideo_INTERFACE_DEFINED__ */
...
...
projects/activex/test.html
View file @
ce00864d
...
@@ -205,9 +205,9 @@ Insert Slider widget
...
@@ -205,9 +205,9 @@ Insert Slider widget
</TR>
</TR>
<TR>
<TR>
<TD>
Deinterlacing:
<TD>
Deinterlacing:
<INPUT
type=
button
value=
"BLEND"
onClick=
'getVLC("vlc").video.deinterlace
E
nable("blend");'
>
<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=
" 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=
"Disable"
onClick=
'getVLC("vlc").video.deinterlace
.d
isable();'
>
</TD>
</TD>
</TR>
</TR>
<TR>
<TR>
...
...
projects/activex/vlccontrol2.cpp
View file @
ce00864d
...
@@ -65,6 +65,7 @@ BIND_INTERFACE( VLCAudio )
...
@@ -65,6 +65,7 @@ BIND_INTERFACE( VLCAudio )
BIND_INTERFACE
(
VLCInput
)
BIND_INTERFACE
(
VLCInput
)
BIND_INTERFACE
(
VLCMarquee
)
BIND_INTERFACE
(
VLCMarquee
)
BIND_INTERFACE
(
VLCLogo
)
BIND_INTERFACE
(
VLCLogo
)
BIND_INTERFACE
(
VLCDeinterlace
)
BIND_INTERFACE
(
VLCPlaylistItems
)
BIND_INTERFACE
(
VLCPlaylistItems
)
BIND_INTERFACE
(
VLCPlaylist
)
BIND_INTERFACE
(
VLCPlaylist
)
BIND_INTERFACE
(
VLCVideo
)
BIND_INTERFACE
(
VLCVideo
)
...
@@ -288,6 +289,39 @@ STDMETHODIMP VLCAudio::toggleMute()
...
@@ -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
)
STDMETHODIMP
VLCInput
::
get_length
(
double
*
length
)
{
{
if
(
NULL
==
length
)
if
(
NULL
==
length
)
...
@@ -1177,39 +1211,6 @@ STDMETHODIMP VLCVideo::put_teletext(long page)
...
@@ -1177,39 +1211,6 @@ STDMETHODIMP VLCVideo::put_teletext(long page)
return
hr
;
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
)
STDMETHODIMP
VLCVideo
::
takeSnapshot
(
LPPICTUREDISP
*
picture
)
{
{
if
(
NULL
==
picture
)
if
(
NULL
==
picture
)
...
@@ -1351,6 +1352,11 @@ STDMETHODIMP VLCVideo::get_logo(IVLCLogo** obj)
...
@@ -1351,6 +1352,11 @@ STDMETHODIMP VLCVideo::get_logo(IVLCLogo** obj)
return
object_get
(
obj
,
_p_vlclogo
);
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:
...
@@ -239,6 +239,18 @@ private:
HRESULT
do_get_int
(
unsigned
idx
,
LONG
*
val
);
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
>
class
VLCPlaylistItems
:
public
VLCInterface
<
VLCPlaylistItems
,
IVLCPlaylistItems
>
{
{
public:
public:
...
@@ -293,8 +305,13 @@ class VLCVideo: public VLCInterface<VLCVideo,IVLCVideo>
...
@@ -293,8 +305,13 @@ class VLCVideo: public VLCInterface<VLCVideo,IVLCVideo>
{
{
public:
public:
VLCVideo
(
VLCPlugin
*
p
)
:
VLCInterface
<
VLCVideo
,
IVLCVideo
>
(
p
),
VLCVideo
(
VLCPlugin
*
p
)
:
VLCInterface
<
VLCVideo
,
IVLCVideo
>
(
p
),
_p_vlcmarquee
(
new
VLCMarquee
(
p
)),
_p_vlclogo
(
new
VLCLogo
(
p
))
{
}
_p_vlcmarquee
(
new
VLCMarquee
(
p
)),
_p_vlclogo
(
new
VLCLogo
(
p
)),
virtual
~
VLCVideo
()
{
delete
_p_vlcmarquee
;
delete
_p_vlclogo
;
}
_p_vlcdeint
(
new
VLCDeinterlace
(
p
))
{
}
virtual
~
VLCVideo
()
{
delete
_p_vlcmarquee
;
delete
_p_vlclogo
;
delete
_p_vlcdeint
;
}
// IVLCVideo methods
// IVLCVideo methods
STDMETHODIMP
get_fullscreen
(
VARIANT_BOOL
*
);
STDMETHODIMP
get_fullscreen
(
VARIANT_BOOL
*
);
...
@@ -311,15 +328,15 @@ public:
...
@@ -311,15 +328,15 @@ public:
STDMETHODIMP
put_teletext
(
long
);
STDMETHODIMP
put_teletext
(
long
);
STDMETHODIMP
get_marquee
(
IVLCMarquee
**
);
STDMETHODIMP
get_marquee
(
IVLCMarquee
**
);
STDMETHODIMP
get_logo
(
IVLCLogo
**
);
STDMETHODIMP
get_logo
(
IVLCLogo
**
);
STDMETHODIMP
deinterlaceDisable
();
STDMETHODIMP
get_deinterlace
(
IVLCDeinterlace
**
);
STDMETHODIMP
deinterlaceEnable
(
BSTR
);
STDMETHODIMP
takeSnapshot
(
LPPICTUREDISP
*
);
STDMETHODIMP
takeSnapshot
(
LPPICTUREDISP
*
);
STDMETHODIMP
toggleFullscreen
();
STDMETHODIMP
toggleFullscreen
();
STDMETHODIMP
toggleTeletext
();
STDMETHODIMP
toggleTeletext
();
private:
private:
IVLCMarquee
*
_p_vlcmarquee
;
IVLCMarquee
*
_p_vlcmarquee
;
IVLCLogo
*
_p_vlclogo
;
IVLCLogo
*
_p_vlclogo
;
IVLCDeinterlace
*
_p_vlcdeint
;
};
};
class
VLCControl2
:
public
IVLCControl2
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