BIND_INTERFACE( VLCInput )
BIND_INTERFACE( VLCMarquee )
BIND_INTERFACE( VLCLogo )
+BIND_INTERFACE( VLCDeinterlace )
BIND_INTERFACE( VLCPlaylistItems )
BIND_INTERFACE( VLCPlaylist )
BIND_INTERFACE( VLCVideo )
/****************************************************************************/
+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 )
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 )
return object_get(obj,_p_vlclogo);
}
+STDMETHODIMP VLCVideo::get_deinterlace(IVLCDeinterlace** obj)
+{
+ return object_get(obj,_p_vlcdeint);
+}
+
/****************************************************************************/