diff --git a/activex/axvlc.idl b/activex/axvlc.idl index 0cd7992318..b946e6e9c0 100644 --- a/activex/axvlc.idl +++ b/activex/axvlc.idl @@ -403,7 +403,7 @@ library AXVLC HRESULT height([out, retval] long* height); [propget, helpstring("Returns video aspect ratio.")] - HRESULT aspectRatio([out, retval] BSTR *aspect); + HRESULT aspectRatio([out, retval] BSTR aspect); [propput, helpstring("Sets video aspect ratio.")] HRESULT aspectRatio([in] BSTR aspect); diff --git a/activex/axvlc_idl.h b/activex/axvlc_idl.h index ec703cca53..6b779a45dd 100644 --- a/activex/axvlc_idl.h +++ b/activex/axvlc_idl.h @@ -2035,7 +2035,7 @@ interface IVLCVideo : public IDispatch long* height) = 0; virtual HRESULT STDMETHODCALLTYPE get_aspectRatio( - BSTR* aspect) = 0; + BSTR aspect) = 0; virtual HRESULT STDMETHODCALLTYPE put_aspectRatio( BSTR aspect) = 0; @@ -2109,7 +2109,7 @@ typedef struct IVLCVideoVtbl { HRESULT (STDMETHODCALLTYPE *get_aspectRatio)( IVLCVideo* This, - BSTR* aspect); + BSTR aspect); HRESULT (STDMETHODCALLTYPE *put_aspectRatio)( IVLCVideo* This, @@ -2180,7 +2180,7 @@ void __RPC_STUB IVLCVideo_get_height_Stub( DWORD* pdwStubPhase); HRESULT CALLBACK IVLCVideo_get_aspectRatio_Proxy( IVLCVideo* This, - BSTR* aspect); + BSTR aspect); void __RPC_STUB IVLCVideo_get_aspectRatio_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, diff --git a/activex/vlccontrol2.cpp b/activex/vlccontrol2.cpp index 7c1b8ed483..cf27691b36 100755 --- a/activex/vlccontrol2.cpp +++ b/activex/vlccontrol2.cpp @@ -1758,9 +1758,9 @@ STDMETHODIMP VLCVideo::get_height(long* height) return hr; }; -STDMETHODIMP VLCVideo::get_aspectRatio(BSTR *aspect) +STDMETHODIMP VLCVideo::get_aspectRatio(BSTR aspect) { - if( NULL == *aspect ) + if( NULL == aspect ) return E_POINTER; libvlc_instance_t* p_libvlc; @@ -1775,19 +1775,16 @@ STDMETHODIMP VLCVideo::get_aspectRatio(BSTR *aspect) { char *psz_aspect = libvlc_video_get_aspect_ratio(p_input, &ex); - if( !psz_aspect ) + libvlc_input_free(p_input); + if( NULL == psz_aspect ) return E_OUTOFMEMORY; if( ! libvlc_exception_raised(&ex) ) { - *aspect = SysAllocStringByteLen(psz_aspect, strlen(psz_aspect)); + aspect = SysAllocStringByteLen(psz_aspect, strlen(psz_aspect)); free( psz_aspect ); psz_aspect = NULL; - libvlc_input_free(p_input); - if( ! libvlc_exception_raised(&ex) ) - { - return NOERROR; - } + return NOERROR; } if( psz_aspect ) free( psz_aspect ); } diff --git a/activex/vlccontrol2.h b/activex/vlccontrol2.h index 380a38cf99..f2ba69a541 100755 --- a/activex/vlccontrol2.h +++ b/activex/vlccontrol2.h @@ -460,7 +460,7 @@ public: STDMETHODIMP put_fullscreen(VARIANT_BOOL); STDMETHODIMP get_width(long*); STDMETHODIMP get_height(long*); - STDMETHODIMP get_aspectRatio(BSTR*); + STDMETHODIMP get_aspectRatio(BSTR); STDMETHODIMP put_aspectRatio(BSTR); STDMETHODIMP toggleFullscreen();