[propput, helpstring("Sets teletext page to use.")]\r
HRESULT teletext([in] long page);\r
\r
+ [helpstring("Enable deinterlace filter.")]\r
+ HRESULT deinterlaceEnable([in] BSTR mode);\r
+ [helpstring("Disable deinterlace filter.")]\r
+ HRESULT deinterlaceDisable();\r
+\r
[helpstring("toggle fullscreen/windowed state.")]\r
HRESULT toggleFullscreen();\r
\r
return hr;
};
+STDMETHODIMP VLCVideo::deinterlaceDisable()
+{
+ libvlc_media_player_t *p_md;
+ HRESULT hr = _p_instance->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 = _p_instance->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 )
STDMETHODIMP put_crop(BSTR);
STDMETHODIMP get_teletext(long*);
STDMETHODIMP put_teletext(long);
+ STDMETHODIMP deinterlaceDisable();
+ STDMETHODIMP deinterlaceEnable(BSTR);
STDMETHODIMP takeSnapshot(LPPICTUREDISP*);
STDMETHODIMP toggleFullscreen();
STDMETHODIMP toggleTeletext();