Fix property get_aspectRatio (forward port of [17383])

This commit is contained in:
Jean-Paul Saman 2006-10-30 19:21:06 +00:00
parent a399551429
commit 043ddf1233
4 changed files with 11 additions and 14 deletions

View File

@ -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);

View File

@ -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,

View File

@ -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 );
}

View File

@ -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();