`
`Page 225 of 658
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E_FAIL
`Failure.
`E_POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`Remarks
`
`This method, along with the IPin: :Oueryld method, is used to implement persistent filter
`graphs. A filter must be able to translate the IPin interface pointers to its pins into identifiers
`that can be saved along with the configuration of the filter graph. It does this by using the
`IPin::Queryid method. It must then be able to convert those identifiers back into IPin
`interface pointers when the filter and its connections are restored as part of a persistent filter
`graph. This is accomplished by using the IBaseFilter::FindPin method.
`
`The ppPin parameter is set to NULL if the identifier cannot be matched.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQiji.li!:M l!i.!11ij
`
`Topic Contents
`
`l@i§i 11111+
`
`•;<¥[.]++ l![.1::'j
`
`Topic Contents
`
`l@i§lllMM
`
`I Base Filter: :Join FilterGra ph
`
`IBaseFilter Interface
`
`Notifies a filter that it has joined a filter graph.
`
`HRESULT JoinFilterGraph(
`IFilterGraph * pGraph,
`LPCWSTR pName
`);
`
`Parameters
`
`pGraph
`[in] Pointer to the filter graph to join.
`pName
`[in, string] Name of the filter being added.
`
`616
`
`
`
`DirectShow COM Interfaces
`
`Page 226 of 658
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E_FAIL
`Failure.
`E_POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`Remarks
`
`The filter should store this interface for later use because it might need to notify the interface
`about events. The filter should not add a reference count to this interface. Doing so causes
`circular references and prevents the graph or the filter from ever being correctly released. The
`filter graph manager does hold a reference on the filter. The filter does not need to hold a
`reference to ensure that the interface does not disappear; it is notified of any such
`disappearance by a further call to IBaseFilter::JoinFilterGraph, with a null value for the
`pGraph parameter to indicate that the filter is no longer part of the graph.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+;<§1[.]jj,i '!!·!:.!¥
`
`Topic Contents i@i§ll!¥+
`
`+Qi@[.]+• 111.1,.19
`
`Topic Contents
`
`i@i§i i!fttiM
`
`I Base Filter: :Queryf i lterlnfo
`
`IBaseFilter Interface
`
`Returns information about the filter.
`
`HRESULT QueryFilterinfo(
`FILTER_INFO * plnfo
`);
`
`Parameters
`
`plnfo
`
`[out] Pointer to a FILTER INFO structure.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`
`617
`
`
`
`DirectShow COM Interfaces
`
`Page 227 of 658
`
`following standard constants, or other values not listed:
`Value
`Meaning
`E_ FAIL
`Failure.
`E POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`Remarks
`
`The FILTER INFO structure is defined as follows:
`
`typedef struct Filterinfo {
`[string] WCHAR achName[MAX_FILTER NAME]; II allowed to be null
`II null if not part of graph
`IFilterGraph * pGraph;
`} FILTER_INFO ;
`
`Note that on return, if the pGraph member of the FILTER INFO structure is non-NULL, it will
`have an outstanding reference count and should be released when the interface is no longer
`needed.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jlj,M l!i.l:.ij
`
`Topic Contents
`
`l@i§i llfttiM
`
`+Qi§i[.jjj,+ 111.],.[j
`
`Topic Contents •@m••1m+
`
`IBaseFi lter: :QueryVendorlnfo
`
`IBaseFilter Interface
`
`Returns a vendor information string.
`
`HRESULT QueryVendorinfo(
`LPWSTR * pVendorinfo
`);
`
`Parameters
`
`pVendorinfo
`[out] Pointer to a string containing vendor information.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`
`618
`
`
`
`DirectShow COM Interfaces
`
`Page 228 of 658
`
`Meaning
`Value
`Failure.
`E FAIL
`Null pointer argument.
`E_ POINTER
`E INVALIDARG
`Invalid argument.
`Method isn't supported.
`E_ NOTIMPL
`S_OK or NOERROR Success.
`
`Remarks
`
`This method is optional and can return E_NOTIMPL. If implemented, memory returned should
`be freed using the Microsoft® Win32® CoTaskMemFree function when the application is done
`using it.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qij[.jlj,M 11!.l:.ij Topic Contents
`
`l@i§i llfttiM
`
`MQl§i[.jlj,M l!l.Hj Topic Contents •@m••1m+
`
`IBasicAudio Interface
`
`IBasicAudio is an interface that supports the filter graph's audio component. It allows access
`to volume and balance functionality.
`
`The Volume property is a value between -10,000 and 0 representing a set of logarithmic steps.
`This follows the DirectSound model. Not all devices support 10,000 distinguishable steps.
`
`The Balance property is a value between -10,000 and 10,000. A value of -10,000 indicates
`that the right speaker has been disabled and only the left speaker is receiving an audio signal.
`A value of 0 indicates that both speakers are receiving equivalent audio signals. A value of
`10,000 indicates that the left speaker has been disabled and only the right speaker is receiving
`an audio signal.
`
`When to Implement
`
`The audio renderer filter supplied with Microsoft® DirectShow™ implements this interface. It is
`also implemented by the filter graph manager (by means of a plug-in distributor) to pass
`method calls from the application to the audio renderer filter's implementation of the interface.
`
`Implement this interface if you are writing a replacement audio renderer filter or a
`replacement DirectShow plug-in distributor. You can use the CBasicAudio class, which handles
`the !Dispatch implementation for Automation, to help implement this interface.
`
`When to Use
`
`When the filter graph manager exposes this interface, it is used by applications that need to
`control the properties of the audio renderer filter. Applications should not use the interface
`
`619
`
`
`
`DirectShow COM Interfaces
`
`Page 229 of 658
`
`exposed by the audio renderer directly. When the audio renderer filter exposes this interface, it
`is used by plug-in distributors, such as the DirectShow plug-in distributor, which pass calls
`from the application.
`
`Methods in Vtable Order
`!Unknown methods Description
`Queryinterface
`Returns pointers to supported interfaces.
`AddRef
`Increments the reference count.
`Release
`Decrements the reference count.
`I Dispatch
`Description
`methods
`GetTyoeinfoCount Determines whether there is type information available for this
`dis pi nterface.
`Retrieves the type information for this dispinterface if GetTypeinfoCount
`returned successfully.
`Converts text names of properties and methods (including arguments) to
`their corresponding DISPIDs.
`Calls a method or accesses a property in this dispinterface if given a
`DISPID and any other necessary parameters.
`IBasicAudio methods Description
`put Volume
`Sets the volume (amplitude) of the audio signal.
`get Volume
`Retrieves the volume (amplitude) of the audio signal.
`Sets the balance for the audio signal.
`put Balance
`get Balance
`Retrieves the balance for the audio signal.
`
`GetTyoeinfo
`
`GetlDsOfNames
`
`Invoke
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]1!,+ 1 !1·HM
`
`Topic Contents
`
`ifflj[§ii!¥M
`
`+Q<@[.]ij,+ 111.11119
`
`Topic Contents
`
`1@1§11!¥+
`
`IBasicAudio: :get_Balance
`
`I BasicAud io Interface
`
`Retrieves the balance for the audio signal.
`
`HRESULT get_Balance(
`long * pf Balance
`);
`
`Parameters
`
`pl Balance
`[out] Returned value of the Balance property.
`
`620
`
`
`
`DirectShow COM Interfaces
`
`Page 230 of 658
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`As with the Volume property, units correspond to .01 decibels (multiplied by -1 when
`p/Balance is a positive value). For example, a value of 1000 indicates -10 dB on the right
`channel and -90 dB on the left channel.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]I!:+ +!!.HM
`
`Topic Contents
`
`ifflj[§ii!¥M
`
`IBasicAudio: :get_ Volume
`
`I BasicAud io Interface
`
`Retrieves the volume (amplitude) of the audio signal.
`
`HRESULT get_ Volume(
`long * p/Volume
`);
`
`Parameters
`
`pf Volume
`[out] Returned value of the Volume property. Divide by 100 to get equivalent decibel
`value (for example -10,000 = -100 dB).
`
`Return Values
`
`Returns an HRESULT value.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi@[.]I!:+ 111.11119 Topic Contents
`
`i@i§i 11111+
`
`IBasicAudio::put_Balance
`
`IBasicAudio Interface
`
`621
`
`
`
`DirectShow COM Interfaces
`
`Page 231of658
`
`Sets the balance of the audio signal.
`
`HRESULT put_Balance(
`long /Balance
`);
`
`Parameters
`
`/Balance
`[in] Value to which to set the Balance property. The allowable input range is -10,000 to
`10,000. A value of 0 sets a neutral balance-both left and right speakers will be given
`the same amplitude audio signal.
`
`Return Values
`
`Returns an HRESULT value. E_INVALIDARG is returned for values outside the allowable input
`range and E_ FAIL is returned if the underlying device returns an error.
`
`Remarks
`
`As with the Volume property, units correspond to .01 decibels (multiplied by -1 when /Balance
`is a positive value). For example, a value of 1000 indicates -10 dB on the right channel and -
`90 dB on the left channel.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`•;1;1.111,; 111.1::11
`
`Topic Contents
`
`l@i§i 11111+
`
`IBasicAudio::put_Volume
`
`IBasicAudio Interface
`
`Sets the volume (amplitude) of the audio signal.
`
`HRESULT put_ Volume(
`long /Volume
`);
`
`Parameters
`
`/Volume
`[in] Value to which to set the Volume property. The allowable input range is -10,000 to
`0.
`
`Return Values
`
`Returns an HRESULT value. E_INVALIDARG is returned for values outside the allowable input
`
`622
`
`
`
`DirectShow COM Interfaces
`
`Page 232 of 658
`
`range and E_FAIL is returned if the underlying device returns an error.
`
`Remarks
`
`Full volume is 0, and -10,000 is silence; the scale is logarithmic. Multiply the desired decibel
`level by 100 (for example -10,000 = -100 dB).
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qij[.jlj,M 11!.l:.ij Topic Contents
`
`l@i§i llfttiM
`
`IBasicVideo Interface
`
`The IBasicVideo interface supports the video properties of a generic video window. Generally,
`this is a video renderer that draws video into a window on the display.
`
`The IBasicVideo interface supports both properties and methods. Properties are more easily
`accessible from many Automation controllers (such as the Microsoft® Visual Basic®
`programming system). However, some operations require several properties to be changed
`simultaneously; for this reason, methods are provided that allow a number of related
`properties to be changed.
`
`The IBasicVideo interface methods require only that the video renderer be connected. If it is
`not connected, all the interface methods return VFW E NOT CONNECTED. Properties set on a
`video renderer persist between successive connections and disconnections. All applications
`should ensure that they reset the renderer properties before starting a presentation.
`
`When working with video, the application can select a portion of the video to use. This portion
`is the source rectangle that the IBasicVideo interface controls. IBasicVideo allows the
`source rectangle to be set and retrieved. All the rectangles that IBasicVideo uses employ top,
`left, width, and height rather than top, left, right, and bottom, which is favored in Microsoft
`Win32® programming. When no source rectangle has been set, the properties of the source
`rectangle return the full, native video size.
`
`When to Implement
`
`The video renderer filter supplied with Microsoft DirectShow™ implements this interface. It is
`also implemented by the filter graph manager (via a plug-in distributor) to pass method calls
`from the application to the video renderer filter's implementation of the interface. Implement
`this interface if you are writing a replacement video renderer filter or a replacement
`DirectShow plug-in distributor. You can use the CBaseBasicVideo class, which handles the
`IDisoatch implementation for Automation, to help implement this interface.
`
`When to Use
`
`When the filter graph manager exposes this interface, it is used by applications that must
`control the properties of the video renderer filter.
`
`Methods in Vtable Order
`
`623
`
`
`
`DirectShow COM Interfaces
`
`Page 233 of 658
`
`GetTyoelnfo
`
`Get! DsOfNa mes
`
`Invoke
`
`!Unknown methods Description
`Ouerylnterface
`Returns pointers to supported interfaces.
`AddRef
`Increments the reference count.
`Release
`Decrements the reference count.
`I Dispatch
`Description
`methods
`GetTyoelnfoCount Determines whether there is type information available for this
`dispinterface.
`Retrieves the type information for this dispinterface if GetTyoelnfoCount
`returned successfully.
`Converts text names of properties and methods (including arguments) to
`their corresponding DISP!Ds.
`Calls a method or accesses a property in this dispinterface if given a
`DISPID and any other necessary parameters.
`IBasicVideo methods
`Description
`get AvgTimePerFrame
`Retrieves the average time between successive frames in 100-
`nanosecond units.
`Retrieves an approximate bit rate for the video stream.
`Retrieves an approximate bit error rate for the video stream.
`Retrieves the current video width.
`Retrieves the current video height.
`Sets the x-axis coordinate for the source video rectangle.
`Retrieves the x-axis coordinate for the source video rectangle.
`Sets the width of the source video rectangle.
`Retrieves the width of the source video rectangle.
`Sets the y-axis coordinate for the source video rectangle.
`Retrieves the y-axis coordinate for the source video rectangle.
`Sets the height of the source video rectangle.
`Retrieves the height of the source video rectangle.
`Sets the x-axis coordinate for the destination video rectangle.
`Retrieves the x-axis coordinate for the destination video
`rectangle.
`Sets the width of the destination video rectangle.
`Retrieves the width of the destination video rectangle.
`Sets the y-axis coordinate for the destination video rectangle.
`Retrieves the y-axis coordinate for the destination video
`rectangle.
`Sets the height of the destination video rectangle.
`RUt DestinationHeight
`Retrieves the height of the destination video rectangle.
`get DestinationHeight
`Sets the source video rectangle.
`SetSourcePosition
`Retrieves the source video rectangle.
`GetSourcePosition
`Informs the renderer to use the default source rectangle.
`SetDefa u ltSou rcePosition
`Sets the destination rectangle for the window.
`SetDestinationPosition
`Retrieves the destination video rectangle for the window.
`GetDestinationPosition
`SetDefaultDestinationPosition Sets the default destination position for the window.
`GetVideoSize
`Retrieves the native video dimensions.
`
`get Bit Rate
`get BitErrorRate
`get VideoWidth
`get VideoHeight
`()Ut Source Left
`get Sourceleft
`()Ut Source Width
`get SourceWidth
`()Ut Source TOR
`get SourceToR
`()Ut SourceHeight
`get SourceHeight
`()Ut Destination Left
`get Destination Left
`
`()Ut Destination Width
`get Destination Width
`()Ut DestinationToR
`get DestinationToR
`
`624
`
`
`
`DirectShow COM Interfaces
`
`Page 234 of 658
`
`GetVideoPa letteEntries
`GetCurrentlmage
`
`IsUsingDefa ultSource
`IsUsingDefaultDestination
`
`Retrieves the color palette entries required by the video.
`Returns a copy of the current image that is waiting at the
`renderer.
`Determines if the renderer is using the default source rectangle.
`Determines if the renderer is using the default destination
`rectangle.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi@[.jjj,M l!i.! 111j Topic Contents
`
`l@IJll!MM
`
`+Qi§i[.]jj,+ 11!·!:.!j Topic Contents
`
`l@IJll!MM
`
`IBasicVideo: :get_AvgTi mePerFra me
`
`IBasicVideo Interface
`
`Retrieves the average time between successive frames in 100-nanosecond units.
`
`HRESULT get_AvgTimePerFrame(
`REFTIME *pAvgTimePerFrame
`);
`
`Parameters
`
`pAvgTimePerFrame
`[out] Time between frames.
`
`Return Values
`
`Returns an HRESULT value.
`
`© 1997 Microsoft Comoration. All rights reserved. Terms of Use.
`
`+Qi§i[.]11,+ 1!!·Hi
`
`Topic Contents
`
`l@IJll!MM
`
`IBasicVideo: :get_BitErrorRate
`
`IBasicVideo Interface
`
`Retrieves a bit error rate for the video stream (one error for approximately this many bits).
`
`625
`
`
`
`DirectShow COM Interfaces
`
`Page 235 of 658
`
`HRESULT get_BitErrorRate(
`long *pBitErrorRate
`);
`
`Parameters
`
`pBitErrorRate
`[out] Approximate bit error rate.
`
`Return Values
`
`Returns an HRESULT value.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi@[.jjj,M l!i.! 111j
`
`Topic Contents
`
`l@IJll!MM
`
`IBasicVideo: :get_BitRate
`
`IBasicVideo Interface
`
`Retrieves an approximate bit rate for the video stream (in bits per second).
`
`HRESULT get_BitRate(
`long *pBitRate
`);
`
`Parameters
`
`pBitRate
`[out] Approximate bit rate.
`
`Return Values
`
`Returns an HRESULT value.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`+ Q<M [.] jj,+ 111.Hj
`
`Topic Contents
`
`•@!§' 1gnw
`
`IBasicVideo: :GetCu rrentlmage
`
`626
`
`
`
`DirectShow COM Interfaces
`
`Page 236 of 658
`
`IBasicVideo Interface
`
`Retrieves the current image waiting at the renderer.
`
`HRESULT GetCurrentimage(
`long *pBufferSize,
`long *pDIBimage
`);
`
`Parameters
`
`pBufferSize
`[in, out] Size of the buffer the caller is passing in.
`pDIBimage
`[out] Pointer to a buffer where the complete image will be stored in device-independent
`bitmap (DIB) format. The buffer must be cast to a long pointer for the function.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`An application can use this method to get a copy of the current image the video renderer holds
`when paused. The size of the buffer required to hold the image can be obtained by calling the
`method with a null image pointer. In this case, the buffer size is filled out with the byte count
`required. The buffer size pointer must always be valid. If the application calls this method and
`the buffer size is too small to hold the complete image, the renderer returns
`E_OUTOFMEMORY.
`
`Pause the video renderer before calling this method. Calling this method in any other state
`than paused returns VFW E NOT PAUSED. Depending on what data the source filter has
`available, the video renderer is not guaranteed to service this request. If no image is available,
`it returns E_ FAIL.
`
`When called successfully, the output image pointer is filled with the entire DIB image,
`including the Microsoft Win32 BITMAPINFOHEADER structure, any required palette, and bit
`masks as defined in the Win32 BITMAPINFO structure. The format of the image that is
`returned depends on the type provided by the source filter, and cannot be explicitly defined in
`advance. Typically, the image will be a 24-bit, 16-bit, or 8-bit palettized image.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+QH"·h' 111.q9 Topic Contents 1@1§111¥+
`
`IBasicVideo: :get_Desti nation Height
`
`IBasicVideo Interface
`
`627
`
`
`
`DirectShow COM Interfaces
`
`Page 237 of 658
`
`Retrieves the height of the destination rectangle.
`
`HRESULT get_DestinationHeight(
`long *pDestinationHeight
`);
`
`Parameters
`
`pDes tina tionHeigh t
`[out] Current height.
`
`Return Values
`
`Returns an HRESULT value.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M MB.HS Topic Contents
`
`i@faii!MM
`
`IBasicVideo: :get_Desti nation Left
`
`IBasicVideo Interface
`
`Retrieves the destination x-axis origin coordinate.
`
`HRESULT get_Destinationleft(
`long *pDestinationLeft
`);
`
`Parameters
`
`pDestinationLeft
`[out] Current x-axis origin.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`Setting this coordinate does not affect the destination rectangle width.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.]11,M '!!·HM Topic Contents
`
`i@faii!MM
`
`628
`
`
`
`DirectShow COM Interfaces
`
`Page 238 of 658
`
`I Basi cVideo:: GetDesti nation Position
`
`IBasicVideo Interface
`
`Retrieves the position of the destination rectangle in window coordinates.
`
`HRESULT GetDestinationPosition(
`long *pLeft,
`long *pTop,
`long *pWidth,
`long *pHeight
`);
`
`Parameters
`
`pLeft
`
`pTop
`
`[out] The x-axis origin of the destination window.
`
`[out] The y-axis origin of the destination window.
`pWidth
`[out] Width of the destination window.
`pHeight
`[out] Height of the destination window.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method has the same effect as individually calling the IBasicVideo: :get DestinationLeft,
`IBasicVideo: :get DestinationTop, IBasicVideo: :get DestinationWidth, and
`IBasicVideo: :get DestinationHeight methods.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`w Q<M [.] 11,1 Mii.HM Topic Contents •=@• 1gnw
`MQi§1[.]1!,i 1 !!·H¥ Topic Contents
`
`l@l§il!MM
`
`IBasicVideo: :get_Desti nationTop
`
`IBasicVideo Interface
`
`629
`
`
`
`DirectShow COM Interfaces
`
`Page 239 of 658
`
`Retrieves the destination y-axis origin coordinate.
`
`HRESULT get_DestinationTop(
`long *pDestinationTop
`);
`
`Parameters
`
`pDestinationTop
`[out] Current y-axis origin.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`Setting this coordinate does not affect the destination rectangle height.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jjj,M l!i.! 11ij Topic Contents
`
`l@l§lllMM
`
`I Basi cVideo:: get_Desti nation Width
`
`IBasicVideo Interface
`
`Retrieves the width of the destination rectangle.
`
`HRESULT get_DestinationWidth(
`long *pDestinationWidth
`);
`
`Parameters
`
`pDestinationWidth
`[out] Current width.
`
`Return Values
`
`Returns an HRESULT value.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.Hj
`
`Topic Contents
`
`l@l§lllMM
`
`630
`
`
`
`DirectShow COM Interfaces
`
`Page 240 of 658
`
`IBasicVideo: :get_Sou rceHeig ht
`
`IBasicVideo Interface
`
`Retrieves the height of the source rectangle.
`
`HRESULT get_SourceHeight(
`long *pSourceHeight
`);
`
`Parameters
`
`pSourceHeight
`[out] Current rectangle height.
`
`Return Values
`
`Returns an HRESULT value.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+;<§1[.]jj,i '!!·!:.!¥
`
`Topic Contents i@i§ll!¥+
`
`IBasicVideo: :get_Sou rceleft
`
`IBasicVideo Interface
`
`Retrieves the source rectangle x-axis coordinate.
`
`HRESULT get_Sourceleft(
`long *pSourceLeft
`);
`
`Parameters
`
`pSourceLeft
`[out] The x-axis origin of the source rectangle.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`631
`
`
`
`DirectShow COM Interfaces
`
`Page 241 of 658
`
`This method has no effect on the source rectangle width.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]1!,+ 1 !1·HM Topic Contents
`
`ifflj[§ii!MM
`
`IBasicVideo: :GetSou rcePosition
`
`IBasicVideo Interface
`
`Retrieves the source position rectangle, clipped to the available video.
`
`H RESULT GetSourcePosition (
`long *pLeft,
`long *pTop,
`long *pWidth,
`long *pHeight
`);
`
`Parameters
`
`pLeft
`
`[out] The x-axis origin of the source window.
`
`pTop
`
`[out] The y-axis origin of the source window.
`pWidth
`[out] Width of the source window.
`pHeight
`[out] Height of the source window.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method has the same effect as individually calling the IBasicVideo: :get Sourceleft,
`IBasicVideo: :get SourceTop, IBasicVideo: :get SourceWidth, and
`IBasicVideo: :get SourceHeight methods.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]1!,+ 1 !1·HM Topic Contents
`
`ifflj[§ii!MM
`
`+Q<@[.]ij,+ 111.1111M Topic Contents
`
`i@i§ii!MM
`
`632
`
`
`
`DirectShow COM Interfaces
`
`Page 242 of 658
`
`IBasicVideo: :get_SourceTop
`
`IBasicVideo Interface
`
`Retrieves the source rectangle y-axis origin coordinate.
`
`HRESULT get_SourceTop(
`long * pSourceTop
`);
`
`Parameters
`
`pSourceTop
`[out] New top coordinate.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`Setting this method has no effect on the source rectangle height.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M MB.HS
`
`Topic Contents
`
`i@faii!MM
`
`IBasicVideo: :get_Sou rceWidth
`
`IBasicVideo Interface
`
`Retrieves the source rectangle width.
`
`HRESULT get_SourceWidth(
`long *pSourceWidth
`);
`
`Parameters
`
`pSourceWidth
`[out] Current width.
`
`Return Values
`
`633
`
`
`
`DirectShow COM Interfaces
`
`Page 243 of 658
`
`Returns an HRESULT value.
`
`Remarks
`
`This method has no effect on the source rectangle x-axis coordinate.
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use.
`
`w Q<M [.] +• 811.HM
`
`Topic Contents
`
`8ml!§M 8gnw
`
`IBasicVideo: :get_ VideoHeight
`
`IBasicVideo Interface
`
`Retrieves the current video height.
`
`HRESULT get_ VideoHeight(
`long *pVideoHeight
`);
`
`Parameters
`
`pVideoHeight
`[out] Native height of the video.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method returns the actual height of the video supplied to the renderer. It does not
`address any set source rectangle, but simply returns the native vertical dimension.
`Applications can use this method to negotiate size requirements with in-place container
`documents.
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use.
`
`w Q<M [.] +• 811.HM Topic Contents 8ml!§M 8gnw
`
`I Basi cVideo:: GetVideoPa letteE ntri es
`
`634
`
`
`
`DirectShow COM Interfaces
`
`Page 244 of 658
`
`IBasicVideo Interface
`
`Retrieves the palette colors for the video.
`
`HRESULT GetVideoPaletteEntries(
`long Startlndex,
`long Entries,
`long *pRetrieved,
`long *pPalette
`);
`
`Parameters
`
`Startlndex
`[in] Start index for the palette.
`Entries
`[in] Number of palette entries required.
`pRetrieved
`[out] Number of entries actually returned.
`pPalette
`[out] Pointer to an array of Microsoft Win32 PALETTEENTRY structures.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`An application can query the colors required by the video with this method. An application can
`pass in a null pPalette parameter, and the pRetrieved parameter is filled in with the number of
`colors in use. The pPalette parameter is a pointer to an array of PALETTEENTRY structures.
`With the Startlndex and Entries parameters, an application can request any contiguous section
`of the palette in a single method. The interface was modeled on the Win32
`GetSystem Pa letteEntries function.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jlj,M 11!.l:.ij Topic Contents
`
`l@i§lllMM
`
`+Qi§i[.jjj,+ 111.],.[j Topic Contents
`
`l@bll!MM
`
`IBasicVideo: :GetVideoSize
`
`IBasicVideo Interface
`
`Retrieves the native video dimensions.
`
`HRESULT GetVideoSize(
`
`635
`
`
`
`DirectShow COM Interfaces
`
`Page 245 of 658
`
`long *pWidth,
`long *pHeight
`);
`
`Parameters
`
`pWidth
`[out] Width of the video window.
`pHeight
`[out] Height of the video window.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method retrieves the native video width and height, disregarding any source rectangle
`that might have been set. ActiveX™ Controls or other applications can use this information to
`negotiate space in compound documents.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS
`
`Topic Contents
`
`lmli§lllMM
`
`IBasicVideo: :get_ VideoWidth
`
`IBasicVideo Interface
`
`Retrieves the current video width.
`
`HRESULT get_VideoWidth(
`long *pVideoWidth
`);
`
`Parameters
`
`pVideoWidth
`[out] Native width of the video.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method returns the actual width of the video supplied to the renderer. It does not address
`any set source rectangle, but simply returns the native horizontal dimension. Applications can
`
`636
`
`
`
`DirectShow COM Interfaces
`
`Page 246 of 658
`
`use it to negotiate size requirements with in-place ActiveX documents.
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use .
`
`MQ<§i[.jjj,M Ill.HS Topic Contents
`
`lmll§lll¥M
`
`IBasicVideo: :lsUsi ngDefa u ltDesti nation
`
`IBasicVideo Interface
`
`Determines if the renderer is using the default destination rectangle.
`
`HRESULT IsUsingDefaultDestination( );
`
`Return Values
`
`Returns an HRESULT value. Returns S_OK if using the default destination; otherwise, returns
`S FALSE.
`
`Remarks
`
`The IBasicVideo: :SetDefaultDestinationPosition method can be used to tell the filter to use the
`default settings for the destination rectangle. This method returns whether or not they are in
`use.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`8 4'41M+• 1 !1·HM Topic Contents
`
`lfflj[§ill¥M
`
`IBasicVideo::lsUsingDefaultSource
`
`IBasicVideo Interface
`
`Determines if the renderer is using the default source rectangle.
`
`HRESULT IsUsingDefaultSource( );
`
`Return Values
`
`Returns an HRESULT value. Returns S_OK if using the default source; otherwise, returns
`S FALSE.
`
`Remarks
`
`637
`
`
`
`DirectShow COM Interfaces
`
`Page 247 of 658
`
`You can use the IBasicVideo: :SetDefaultSourcePosition method to inform the filter to use the
`default settings for the source rectangle. This method returns whether or not the settings are
`in use.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+QH"·h' 111.q9 Topic Contents
`
`1@1§11!¥+
`
`IBasicVideo:: put_Desti nation Height
`
`IBasicVideo Interface
`
`Sets the height of the destination rectangle.
`
`HRESULT put_DestinationHeight(
`long DestinationHeight
`);
`
`Parameters
`
`DestinationHeight
`[in] New height.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`Setting this coordinate does not affect the destination rectangle y-axis origin.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi§i[.]ii,M +!!.HM Topic Contents
`
`l@i§il!MM
`
`IBasicVideo:: put_Desti nation Left
`
`IBasicVideo Interface
`
`Sets the destination x-axis origin coordinate.
`
`HRESULT put_Destinationleft(
`
`638
`
`
`
`DirectShow COM Interfaces
`
`Page 248 of 658
`
`long DestinationLeft
`);
`
`Parameters
`
`DestinationLeft
`[in] New x-axis origin.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`Setting this coordinate does not affect the destination rectangle width.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M MB.HS Topic Contents
`
`i@faii!MM
`
`IBasicVideo:: put_Desti nationTop
`
`IBasicVideo Interface
`
`Sets the destination y-axis origin coordinate.
`
`HRESULT put_DestinationTop(
`long DestinationTop
`);
`
`Parameters
`
`Destination Top
`[in] New y-axis origin.
`
`Return Values
`
`Returns an HRESULT value.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi§i!!.ljj,i Mh.J,,[5 Topic Contents
`
`i@faii!MM
`
`IBasicVideo:: put_Desti nation Width
`
`639
`
`
`
`DirectShow COM Interfaces
`
`Page 249 of 658
`
`IBasicVideo Interface
`
`Sets the width of the destination rectangle.
`
`HRESULT put_DestinationWidth(
`long DestinationWidth
`);
`
`Parameters
`
`Destination Width
`[in] New width.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`Setting this coordinate does not affect the destination rectangle x-axis origin.
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use.
`
`w Q<M [.] +• 111.H5
`
`Topic Contents
`
`•=@• 1gnw
`
`IBasicVideo:: put_Sou rceHeig ht
`
`IBasicVideo Interface
`
`Sets the height of the source rectangle.
`
`HRESULT put_SourceHeight(
`long SourceHeight
`);
`
`Parameters
`
`SourceHeight
`[in] New rectangle height.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`640
`
`
`
`DirectShow COM Interfaces
`
`Page 250 of 658
`
`Setting the height of the source rectangle has no effect on the source y-axis coordinate.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]i!,+ 1 !1·HM
`
`Topic Contents
`
`ifflj[§ii!MM
`
`IBasicVideo:: put_Sou rceleft
`
`IBasicVideo Interface
`
`Sets the source rectangle x-axis coordinate.
`
`HRESULT put_Sourceleft(
`long SourceLeft
`);
`
`Parameters
`
`SourceLeft
`[in] The x-axis origin of the source rectangle.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`Setting this method has no effect on the source rectangle width.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41H++ 1 11·!:.!M
`
`Topic Contents
`
`i@i§iil@i+
`
`IBasicVideo:: put_Sou rceTop
`
`IBasicVideo Interface
`
`Sets t