throbber
DirectShow COM Interfaces
`
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket