throbber
DirectShow COM Interfaces
`
`Page 110 of 658
`
`IAM Fi leC utlistE le ment:: GetTri ml n Position
`
`IAMFileCutlistElement Interface
`
`Retrieves the media time of the trimin point, based on the timeline of the cut's source file.
`
`HRESULT GetTriminPosition(
`REFERENCE_TIME *pmtTrimin
`);
`
`Parameters
`
`pmtTrimin
`[out] Pointer that will receive the trimin point.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. HRESULT
`can include one of the following standard constants, or other values not listed.
`Value
`Meaning
`E FAIL
`Failure.
`E_INVALIDARG Argument is invalid.
`E NOTIMPL
`Method is not supported.
`E_ POINTER
`Null pointer argument.
`S_OK
`Success.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS
`
`Topic Contents
`
`lml!§lllMM
`
`MQl§i[.jjj,M '!!·HM
`
`Topic Contents
`
`i@i§ill@iM
`
`IAM Fi leCutlistElement: :GetTri m Length
`
`IAMFileCutlistElement Interface
`
`Retrieves the length of time between the trimin and trimout points.
`
`HRESULT GetTrimlength(
`REFERENCE_TIME *pmtlength
`);
`
`Parameters
`
`501
`
`

`
`DirectShow COM Interfaces
`
`Page 111 of 658
`
`pmtlength
`[out] Pointer that will receive the length in media time.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. HRESULT
`can include one of the following standard constants, or other values not listed.
`Value
`Meaning
`E FAIL
`Failure.
`E_INVALIDARG Argument is invalid.
`E NOTIMPL
`Method is not supported.
`E_ POINTER
`Null pointer argument.
`S_OK
`Success.
`
`Remarks
`
`This method retrieves the length of time between the in and out points specified by
`GetTriminPosition and GetTrimOutPosition.
`
`The value that GetTrimlength retrieves equals the value that GetElementDuration retrieves
`(trimout minus trimin). Other lengths are not supported.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lmli§lll¥M
`
`MQl§i[.jjj,M '!!·HM Topic Contents l@i§il/¥8
`
`IAM Fi leC utlistE le ment:: GetTri mOutPosition
`
`IAMFileCutlistElement Interface
`
`Retrieves the media time of the trimout point, based on the timeline of the cut's source file.
`
`HRESULT GetTrimOutPosition(
`REFERENCE_TIME *pmtTrimOut
`);
`
`Parameters
`
`pmtTrimOut
`[out] Pointer that will receive the trimout point, in REFERENCE TIME.
`
`Return Values
`
`502
`
`

`
`DirectShow COM Interfaces
`
`Page 112 of 658
`
`Returns an HRESULT value that depends on the implementation of the interface. HRESULT
`can include one of the following standard constants, or other values not listed.
`Value
`Meaning
`E_FAIL
`Failure.
`E_INVALIDARG Argument is invalid.
`E_NOTIMPL
`Method is not supported.
`E_POINTER
`Null pointer argument.
`S_OK
`Success.
`
`Remarks
`
`The media time does not include the trimout point.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M MB.HS
`
`Topic Contents
`
`i@fa111¥M
`
`8 4'41[.]1!,M 1!1·H¥
`
`Topic Contents
`
`i@fa111¥M
`
`IAMLine21Decoder Interface
`
`The IAMLine21Decoder interface provides access to closed-captioned information and
`settings. Closed-captioned information is transmitted in the vertical blanking interval (VBI) of
`television signals, specifically on line 21 (Line21) of field 1 in the VBI. Video cassette recorders
`record this information on video tape, and you can use Microsoft® DirectShow™ filters to
`capture the Line21 data and save it on disk in a media file format such as audio-video
`interleaved (AVI). The closed-captioned information appears as a separate stream within the
`media file.
`
`Closed-captioned text is currently used mainly in digital versatile disc (DVD) movies. DVD
`movies contain Line21 data as part of the user data section of each Group of Pictures (GOP) in
`the video stream. Capture cards with Windows Driver Model (WDM) drivers will provide Line21
`data.
`
`When to Implement
`
`Do not implement this interface. DirectShow provides the Line 21 Decoder in the DirectX Media
`5.1 SDK, which implements it for you.
`
`When to Use
`
`Applications use this interface when they want to provide closed-captioned text, primarily to
`turn closed-captioned capabilities on and off. Use this interface in your application or in the
`filter immediately downstream of the Line21 Decoder filter (typically a mixer filter) to change
`closed-captioned options, such as the output video's size and whether to make the caption
`background opaque or transparent. Mixer filters can also change the physical color used for the
`
`503
`
`

`
`DirectShow COM Interfaces
`
`Page 113 of 658
`
`background color key.
`
`Applications can call the GetDrawBackqroundMode and SetDrawBackqroundMode methods so
`the user can select transparent or opaque captioning.
`
`Methods in Vtable Order
`!Unknown methods Description
`Querylnterface
`Retrieves pointers to supported interfaces.
`AddRef
`Increments the reference count.
`Decrements the reference count.
`Release
`Description
`IAMLine21Decoder
`methods
`GetDecoderLevel
`GetCurrentService
`
`SetCu rrentService
`GetServiceState
`SetSe rv ice State
`GetOutputFormat
`
`SetOutp utFormat
`
`GetBackgroundColor
`SetBackg rou ndColor
`GetRedrawAlways
`
`SetRed raw Always
`
`GetDrawBackgroundMode
`
`SetDrawBackg round Mode
`
`Retrieves the closed-captioned decoder level.
`Retrieves the current closed captioning service selected by the
`user.
`Sets the current closed captioning service.
`Retrieves the closed captioning service state (on or off).
`Sets the closed captioning service state.
`Retrieves information about output video characteristics such as
`size and bit depth.
`Sets information that describes output video characteristics
`such as size and bit depth.
`Retrieves the physical color to use as background for overlays.
`Sets the physical color to use as background for overlays.
`Retrieves whether the renderer should redraw the whole output
`bitmap for each sample.
`Sets whether the renderer should redraw the whole output
`bitmap for each sample.
`Retrieves whether the caption text background should be
`opaque or transparent.
`Sets whether to make the caption text background opaque or
`transparent.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi@[.jlj,M l!i.! 11ij Topic Contents
`
`l@i§i 11111+
`
`•;<¥!.ll!:' iu.H; Topic Contents
`
`l@i§lllMM
`
`IAM Line 21 Decoder:: Get Ba ckg rou n dColor
`
`IAMLine21Decoder Interface
`
`Retrieves the physical color to use as background for overlays.
`
`504
`
`

`
`DirectShow COM Interfaces
`
`Page 114 of 658
`
`HRESULT GetBackgroundColor(
`DWORD *pdwPhysColor
`);
`
`Parameters
`
`pdwPhysColor
`Pointer to the retrieved DWORD value.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`Remarks
`
`Magenta is the default background color.
`
`See Also
`
`IAMLine21Decoder:: SetBackgroundColor
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lmli§lllMM
`
`IAMLine21Decoder::GetCurrentService
`
`IAMLine21Decoder Interface
`
`Retrieves the current closed captioning service selected by the user.
`
`HRESULT GetCurrentService(
`AM_LINE21_CCSERVICE *lpService
`);
`
`Parameters
`
`lpService
`Pointer to the current service. This value is a member of the AM LINE21 CCSERVICE
`enumerated data type. The default service is AM L21 CCSERVICE Caption!.
`
`Return Values
`
`505
`
`

`
`DirectShow COM Interfaces
`
`Page 115 of 658
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`See Also
`
`IAM Li ne21 Decoder: : SetC u rrentService
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lml!§lllMM
`
`IAM Li ne21 Decoder: :GetDecoderlevel
`
`IAMLine21Decoder Interface
`
`Retrieves the closed-captioned decoder level.
`
`HRESULT GetDecoderlevel(
`AM_LINE21_CCLEVEL *lpLevel
`);
`
`Parameters
`
`lpLevel
`Pointer to the retrieved decoder level. AM L21 CCLEVEL TC2 (TC2) is the only supported
`operating channel level and is an enhanced and backward-compatible version of the
`original TC1 level.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`Remarks
`
`This method is for informational purposes only.
`
`TC1 and TC2 are television set decoder levels that represent whether the television can handle
`some closed-captioned byte pairs and produce the desired captioning results. The Line21
`Decoder is capable of TC2 level decoding, which includes all TC1 decoding. Only the first
`100,000 television sets manufactured that included closed-captioned capability were TC1
`compliant; the later TV sets are TC2 compliant.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`506
`
`

`
`DirectShow COM Interfaces
`
`Page 116 of 658
`
`+Qi§1[.]++ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`IAM Line 21 Decoder:: GetD rawBackg round Mode
`
`IAMLine21Decoder Interface
`
`Retrieves whether the caption text background should be opaque or transparent.
`
`HRESULT GetDrawBackgroundMode(
`AM_LINE21_DRAWBGMODE *lpMode
`);
`
`Parameters
`
`lpMode
`Retrieved mode. Supported mode values are AM L21 DRAWBGMODE Opaque and
`AM L21 DRAWBGMODE Transparent.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`Remarks
`
`By default, the caption background is opaque.
`
`See Also
`
`IAMLine21Decoder:: SetDrawBackgroundMode
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`+ ;<§1 [.] jj,+ +II.HM Topic Contents Mttfjl§i +gn+
`
`IAM Li ne21 Decoder: :GetOutputFormat
`
`IAMLine21Decoder Interface
`
`Retrieves information about output video characteristics such as size and bit depth.
`
`507
`
`

`
`DirectShow COM Interfaces
`
`Page 117 of 658
`
`HRESULT GetOutputFormat(
`LPBITMAPINFOHEADER lpbmih
`);
`
`Parameters
`
`lpbmih
`Pointer to the retrieved BITMAPINFOHEADER structure.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface.
`
`If successful, the default implementation returns S_FALSE if downstream filters haven't
`defined an output format, or S_OK if an output format has been defined.
`
`Remarks
`
`The default video output size is 320 x 240 pixels.
`
`See Also
`
`IAM Li ne21 Decoder: : SetOutoutFormat
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi§1[.]1!,+ '!!·HM Topic Contents
`
`i@l§ii!MM
`
`IAM Li ne21 Decoder: :GetRedraw Always
`
`IAMLine21Decoder Interface
`
`Retrieves whether the renderer should redraw the whole output bitmap for each sample.
`
`HRESULT GetRedrawAlways(
`LPBOOL lpbOption
`);
`
`Parameters
`
`lpbOption
`Pointer to a value indicating whether the whole bitmap should be redrawn; FALSE by
`default, indicating don't always redraw. TRUE means always redraw.
`
`Return Values
`
`508
`
`

`
`DirectShow COM Interfaces
`
`Page 118 of 658
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`See Also
`
`IAMLine21Decoder:: SetRedrawAlways
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lml!§lllMM
`
`IAM Li ne21 Decoder: :GetServiceState
`
`IAMLine21Decoder Interface
`
`Retrieves the closed captioning service state (on or off).
`
`HRESULT GetServiceState(
`AM_LINE21_CCSTATE *lpState
`);
`
`Parameters
`
`lpState
`Pointer to the retrieved state. Supported state values are AM L21 CCSTATE On and
`AM L21 CCSTATE Off. Closed-captioned text is off by default.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`See Also
`
`IAMLine21Decoder:: SetServiceState
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use .
`
`•Q<M!.l+' •11·!:.!¥ Topic Contents
`
`lml!§lllMM
`
`509
`
`

`
`DirectShow COM Interfaces
`
`Page 119 of 658
`
`IAM Line 21 Decoder:: SetBackg rou ndColor
`
`IAMLine21Decoder Interface
`
`Sets the physical color to use as background for overlays.
`
`HRESULT SetBackgroundColor(
`DWORD dwPhysColor
`);
`
`Parameters
`
`dwPhysColor
`DWORD value that specifies the physical background color.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`Remarks
`
`Magenta is the default background color.
`
`See Also
`
`IAM Li ne21 Decoder: : GetBackq rou ndColor
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]1!,+ 1 !1·HM Topic Contents
`
`ifflj[§ii!¥M
`
`IAM Line 21 Decoder:: SetC u rre ntServi ce
`
`IAMLine21Decoder Interface
`
`Sets the current closed captioning service.
`
`HRESULT SetCurrentService(
`AM_LINE21_CCSERVICE Service
`);
`
`Parameters
`
`510
`
`

`
`DirectShow COM Interfaces
`
`Page 120 of 658
`
`Service
`Specified service. This value is a member of the AM LINE21 CCSERVICE enumerated
`data type. The default service is AM L21 CCSERVICE Caption!.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`See Also
`
`IAM Li ne21 Decoder: : GetCu rrentService
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jlj,M l!i.l:.ij Topic Contents
`
`l@i§i llfttiM
`
`IAM Line 21 Decoder:: SetDrawBackg round Mode
`
`IAMLine21Decoder Interface
`
`Sets whether to make the caption text background opaque or transparent.
`
`HRESULT SetDrawBackgroundMode(
`AM_LINE21_DRAWBGMODE Mode
`);
`
`Parameters
`
`Mode
`
`Mode to set. Supported mode values are AM L21 DRAWBGMODE Opaque and
`AM L21 DRAWBGMODE Transparent.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`Remarks
`
`By default, the caption background is opaque.
`
`See Also
`
`511
`
`

`
`DirectShow COM Interfaces
`
`Page 121 of 658
`
`IAMLine21Decoder: :GetDrawBackqroundMode
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]i!,+ 1 !1·HM Topic Contents
`
`ifflj[§ii!MM
`
`IAM Li ne21 Decoder: :SetOutputFormat
`
`IAMLine21Decoder Interface
`
`Sets information that describes output video characteristics such as size and bit depth.
`
`HRESULT SetOutputFormat(
`LPBITMAPINFO lpbmi
`);
`
`Parameters
`
`lpbmi
`Pointer to the specified BITMAPINFO structure containing the desired output format.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface.
`
`Remarks
`
`The default video output size is 320 x 240 pixels.
`
`See Also
`
`IAM Li ne21 Decoder: : GetOutp utFormat
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`+Q'41!.l+1 1 !1·HM Topic Contents
`
`i@i§ii!MM
`
`IAM Li ne21 Decoder: :SetRedraw Always
`
`IAMLine21Decoder Interface
`
`512
`
`

`
`DirectShow COM Interfaces
`
`Page 122 of 658
`
`Sets whether the renderer should redraw the whole output bitmap for each sample.
`
`HRESULT SetRedrawAlways(
`BOOL bOption
`);
`
`Parameters
`
`bOption
`Value indicating whether the whole bitmap should be redrawn. TRUE indicates redraw
`always, FALSE means do not redraw always.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`Remarks
`
`Call this method from your filter if it dirties the buffer that it provides to the Line21 Decoder
`filter. Typically, a mixer filter resides in the filter graph directly downstream from the Line21
`Decoder filter. The mixer filter should call this method and set bOption to TRUE to ensure the
`entire bitmap is redrawn properly.
`
`A downstream mixer (or any filter that needs to do so) should only call this method with
`bOption set to TRUE if it provides the same buffer to the Line21 decoder as it uses to mix
`secondary video streams(s).
`
`Redrawing (setting bOption to TRUE) degrades performance and increases CPU load, because it
`negates any potentia I optimizations.
`
`See Also
`
`IAM Li ne21 Decoder: : GetRed raw Always
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use .
`
`MQ<§i[.jjj,M 111.],.(9 Topic Contents
`
`lmli§lllMM
`
`IAM Li ne21 Decoder: :SetServiceState
`
`IAMLine21Decoder Interface
`
`Sets the closed captioning service state.
`
`513
`
`

`
`DirectShow COM Interfaces
`
`Page 123 of 658
`
`HRESULT SetServiceState(
`AM_LINE21_CCSTATE State
`);
`
`Parameters
`
`State
`
`Specified state. Supported state values are AM L21 CCSTATE On and
`AM L21 CCSTATE Off. Closed-captioned text is off by default.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. The current
`DirectShow implementation returns E_INVALIDARG if a parameter is invalid or NOERROR to
`indicate success.
`
`See Also
`
`IAM Li ne21 Decoder: : GetServiceState
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi§1[.]1!,+ '!!·HM Topic Contents
`
`i@l§ii!MM
`
`IAMovie Interface
`
`The IAMovie interface is a plug-in distributor (PID) interface that you could use as a
`replacement for all other interfaces on the filter graph manager. It wraps the most commonly
`used methods of IGraohBuilder, IMediaControl, IMediaEvent, and IMediaPosition by providing
`the same methods as these interfaces and simply calling these interfaces on the filter graph
`manager for the implementation. It also adds several unique methods that simplify
`instantiating and running a filter graph.
`
`When to Implement
`
`This interface is implemented by the IAMovie sample plug-in distributor included in this SDK. It
`is not expected that anything else will implement this interface.
`
`When to Use
`
`Applications use plug-in distributors. If this interface is implemented through the IAMovie
`sample application, you can use the methods on this interface rather than the methods on the
`IGraphBuilder, IMediaControl, IMediaEvent, and IMediaPosition interfaces. You can also use
`specialized methods on this interface to render a filter graph and play it in one command, to
`enumerate filters in the filter graph that contain a specified interface, to enumerate all pins in
`the filter graph, and to perform other tasks.
`
`514
`
`

`
`DirectShow COM Interfaces
`
`Page 124 of 658
`
`Render
`Run
`Pause
`Stoo
`GetState
`RenderFile
`AddSourceFilter
`
`get StoQTime
`
`QUt StoQTime
`
`Methods in Vtable Order
`!Unknown methods Description
`Ouerylnterface
`Returns pointers to supported interfaces.
`AddRef
`Increments the reference count.
`Release
`Decrements the reference count.
`IFilterGraph methods Description
`Add Filter
`Adds a filter to the graph and gives it a name.
`RemoveFilter
`Removes a filter from the graph.
`Breaks the existing pin connection and reconnects it to the same pin.
`Reconnect
`Provides an enumerator for all filters in the graph.
`EnumFilters
`Finds a filter that was added with a specified name.
`FindFilterByName
`ConnectDirect
`Connects the two !Pin objects directly (without intervening filters).
`Reconnect
`Breaks the existing pin connection and reconnects it to the same pin.
`Disconnect
`Disconnects the pin, if connected.
`SetDefaultSyncSource Sets the default synchronization source (a clock).
`IAMovie methods
`Description
`Connect
`Connects two !Pin objects. If they will not connect directly, this
`method connects them with intervening transforms.
`Adds a chain of filters to this output pin so as to render it.
`Switches the entire filter graph into running mode.
`Pauses all filters in the filter graph.
`Switches all filters in the filter graph to a stopped state.
`Retrieves the state of the filter graph.
`Adds and connects filters needed to play the specified file.
`Adds to the graph the source filter that can read the given file name,
`and returns an interface pointer to the filter object.
`GetEventHandle
`Retrieves a handle to a manual-reset event that will be signaled.
`Retrieves the next notification event.
`Get Event
`Waits until the graph's operation has completed.
`WaitForComoletion
`Cancels any default handling of the specified event by the filter graph.
`Ca ncelDefa ultHa ndling
`RestoreDefaultHandling Restores default handling for this event.
`get Duration
`Retrieves the total duration of the media stream.
`QUt CurrentPosition
`Sets the time that the media stream begins.
`Retrieves the current position in terms of the total length of the media
`get CurrentPosition
`stream.
`Retrieves the position within the media stream at which playback
`should stop.
`Sets the position within the media stream at which playback should
`stop.
`Retrieves the time prior to the start position that the filter graph
`begins any nonrandom access device rolling.
`Sets the time prior to the start position that the filter graph begins
`any nonrandom access device rolling.
`Sets the playback rate, relative to norma I playback of the media
`stream.
`
`get PrerollTime
`
`QUt PrerollTime
`
`QUt Rate
`
`515
`
`

`
`DirectShow COM Interfaces
`
`Page 125 of 658
`
`get Rate
`
`Retrieves the playback rate, relative to norma I playback of the media
`stream.
`Removes all filters from the filter graph.
`RemoveAllFilters
`Plays the media in the current filter graph.
`flay_
`Play File
`Plays the media in a given file.
`EnumFiltersByinterface Retrieves a list of filters supporting a specified interface.
`EnumPins
`Retrieves a list of pins in the filter graph.
`EnumPinsin
`Retrieves a list of input pins in the filter graph.
`Retrieves a list of output pins in the filter graph.
`EnumPinsOut
`Renders all output pins in the filter graph.
`RenderAll
`Renders a filter graph for a file name, possibly reusing existing filters.
`RenderNewFi le
`Free Event Para ms
`Frees the resources associated with an event's parameters.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jjj,M l!i.! 11ij Topic Contents
`MQl§i[.jjj,M 111.l:.!j Topic Contents •@m• •gnw
`
`l@i§lllMM
`
`IAMovie: :AddSourceFilter
`
`IAMovie Interface
`
`Adds a source filter to the filter graph for this file. The IGraphBuilder:: RenderFile method adds
`the same source filter.
`
`HRESULT AddSourceFilter(
`LPCWSTR lpwstrFileName,
`IBaseFilter* * ppFilter
`);
`
`Parameters
`
`lpwstrFileName
`[in] Pointer to the file.
`ppFilter
`[out] Pointer to an IBaseFilter interface on the filter that was added.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IGraphBuilder: :AddSourceFilter method. The lpwstrFileName file
`name is used as the filter name when IGraphBuilder::AddSourceFilter is called.
`
`516
`
`

`
`DirectShow COM Interfaces
`
`Page 126 of 658
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lml!§I 11$8
`
`IAMovie::CancelDefaultHandling
`
`IAMovie Interface
`
`Cancels any default handling by the filter graph of the specified event and ensures that it is
`passed to the application.
`
`HRESULT CancelDefaultHandling(
`long IEvCode
`);
`
`Parameters
`
`/EvCode
`Event code for which to cancel default handling.
`
`Return Values
`
`Returns S_OK if successful, or S_FALSE if the event does not have any default handling.
`
`Remarks
`
`This method simply calls the IMediaEvent: :CancelDefaultHandling method.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M Ill.HS
`
`Topic Contents
`
`lffll!§M 1gnw
`
`IAMovie: :Connect
`
`IAMovie Interface
`
`Connects the two pins, using intermediates if necessary.
`
`HRESULT Connect(
`IPin * ppinOut,
`IPin * ppinin
`);
`
`517
`
`

`
`DirectShow COM Interfaces
`
`Page 127 of 658
`
`Parameters
`
`ppinOut
`[in] Output pin.
`ppinln
`[in] Input pin.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IGraphBuilder: :Connect method.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M MB.HS Topic Contents
`
`i@faii!MM
`
`IAMovie::EnumFiltersBylnterface
`
`IAMovie Interface
`
`Retrieves a list of filters supporting a specified interface.
`
`HRESULT EnumFiltersBylnterface(
`REFllD riid,
`I En um Filters * * ppEnum
`);
`
`Parameters
`
`riid
`
`[in] REFIID of the interface qualifying the search.
`ppEnum
`[out] Retrieved IEnumFilters enumerator containing the matching filters.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method retrieves an IEnumFilters enumerator containing a list of pointers to filters in the
`filter graph that support a specified interface. Note that the pointers in the list (as returned by
`IEnumFilters:: Next) actually point to the specified riid interface on each filter rather than to
`the IBaseFilter interface. For implementation details of this method, see the IAMovie sample
`
`518
`
`

`
`DirectShow COM Interfaces
`
`Page 128 of 658
`
`plug-in distributor included in this SDK.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M Ill.HS
`
`Topic Contents
`
`lmll§lllMM
`
`IAMovie::EnumPins
`
`IAMovie Interface
`
`Retrieves a list of pins in the filter graph.
`
`HRESULT EnumPins(
`IEnumPins ** ppEnum
`);
`
`Parameters
`
`ppEnum
`[out] Enumerator containing the list of pins.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`For implementation details of this method, see the IAMovie sample plug-in distributor included
`in this SDK.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M Ill.HS
`
`Topic Contents
`
`l@fail!MM
`
`IAMovie::EnumPinsln
`
`IAMovie Interface
`
`Retrieves a list of input pins in the filter graph.
`
`HRESULT EnumPinsin(
`IEnumPins ** ppEnum
`);
`
`519
`
`

`
`DirectShow COM Interfaces
`
`Page 129 of 658
`
`Parameters
`
`ppEnum
`[out] Enumerator containing the list of input pins.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`For implementation details of this method, see the IAMovie sample plug-in distributor included
`in this SDK.
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use.
`
`w Q<M [.] +• 111.H5
`
`Topic Contents •=@• 1gnw
`
`IAMovie::EnumPinsOut
`
`IAMovie Interface
`
`Retrieves a list of output pins in the filter graph.
`
`HRESULT EnumPinsOut(
`IEnumPins ** ppEnum
`);
`
`Parameters
`
`ppEnum
`[out] Enumerator containing the list of output pins.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`For implementation details of this method, see the IAMovie sample plug-in distributor included
`in this SDK.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.]11,M 11!.HM Topic Contents
`
`lml!§lllMM
`
`520
`
`

`
`DirectShow COM Interfaces
`
`Page 130 of 658
`
`IAMovie::FreeEventParams
`
`IAMovie Interface
`
`Frees the resources associated with an event's parameters.
`
`HRESULT FreeEventParams(
`long /EvCode,
`long /Param1,
`long /Param2
`);
`
`Parameters
`
`/EvCode
`Event code.
`/Param1
`Event's first para meter.
`/Param2
`Event's second para meter.
`
`Return Values
`
`Returns an HRESULT.
`
`Remarks
`
`The /Param1 and /Param2 parameters must be LONG values, BSTR values, or IUnknown
`interface pointers. If an argument is a LONG value, FreeEventParams does nothing to it. If it
`is an !Unknown interface pointer, its reference count has been incremented. Call its Release
`method to decrement its reference count after calling FreeEventParams. If the argument is a
`BSTR value, free it by calling the task allocator after FreeEventParams.
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use .
`
`MQ<§i[.jjj,M 111.],.(9 Topic Contents
`
`lmli§lllMM
`
`MQi§i!!.llj,i 111.J,,[9 Topic Contents 1@1§111$8
`
`IAMovie: :get_ Cu rrentPosition
`
`IAMovie Interface
`
`521
`
`

`
`DirectShow COM Interfaces
`
`Page 131of658
`
`Retrieves the current position in terms of the total length of the media stream.
`
`HRESULT get_CurrentPosition(
`REFTIME* pl/Time
`);
`
`Parameters
`
`pl/Time
`[out] Reference time of the current position.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IMediaPosition: :get CurrentPosition method.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jlj,M l!i.! 11ij
`
`Topic Contents
`
`l@i§lllMM
`
`IAMovie: :get_Duration
`
`IAMovie Interface
`
`Retrieves the total duration of the media stream.
`
`HRESULT get_Duration(
`REFTIME* plength
`);
`
`Parameters
`
`plength
`[out] Returned length of the media stream.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IMediaPosition: :get Duration method.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`522
`
`

`
`DirectShow COM Interfaces
`
`Page 132 of 658
`
`+Qi§1[.]++ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`IAMovie: :GetEvent
`
`IAMovie Interface
`
`Retrieves the next notification event.
`
`HRESULT GetEvent(
`long * /EventCode,
`long * /Param1,
`long * /Param2,
`long msTimeout
`);
`
`Parameters
`
`/EventCode
`[out] Next event notification.
`/Param1
`[out] First parameter of the event.
`/Param2
`[out] Second parameter of the event.
`ms Timeout
`[in] Time, in milliseconds, to wait before assuming that there are no events.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IMediaEvent: :GetEvent method.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`HQ i§i [.] jj,M I !1.],.[9 Topic Contents i@l§ii/¥+
`
`MQl@[.jjj,M M!l.l:.19 Topic Contents
`
`i@l§i i!fttiM
`
`IAMovie: :GetEventHandle
`
`523
`
`

`
`DirectShow COM Interfaces
`
`Page 133 of 658
`
`IAMovie Interface
`
`Retrieves a handle to a manual-reset event that will be signaled as long as there are event
`notifications to deliver.
`
`HRESULT GetEventHandle(
`OAEVE NT * hEvent
`);
`
`Parameters
`
`hEvent
`[out] Handle for the event.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IMediaEvent: :GetEventHandle method.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi@[.jlj,M l!i.! 111j Topic Contents
`
`l@IJll!MM
`
`IAMovie: :get_PrerollTime
`
`IAMovie Interface
`
`Retrieves the time prior to the start position that devices should start rolling.
`
`HRESULT get_PrerollTime(
`REFTIME* pTime
`);
`
`Parameters
`
`pTime
`[out] Returned preroll time.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IMediaPosition: :get PrerollTime method.
`
`524
`
`

`
`DirectShow COM Interfaces
`
`Page 134 of 658
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lml!§I 11$8
`
`IAMovie: :get_Rate
`
`IAMovie Interface
`
`Retrieves the rate of playback relative to normal playback speed.
`
`HRESULT get_Rate(
`double * pdRate
`);
`
`Parameters
`
`pdRate
`[out] Returned rate.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IMediaPosition: :get Rate method.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`•Q<M!.l+' 111.],.[5
`
`Topic Contents
`
`lml!§I 11$8
`
`IAMovie: :GetState
`
`IAMovie Interface
`
`Determines the state of the filter.
`
`HRESULT GetState(
`DWORD dwMilliSecsTimeout,
`FILTER_STATE *State
`);
`
`525
`
`

`
`DirectShow COM Interfaces
`
`Page 135 of 658
`
`Parameters
`
`dwMilliSecsTimeout
`[in] Duration of the time-out, in milliseconds. To block indefinitely, pass INFINITE.
`
`State
`
`[out] Holder of the returned state of the filter. States include stopped, paused, running,
`or intermediate (in the process of changing).
`
`Return Values
`
`Returns an HRESULT value, which will be VFW S STATE INTERMEDIATE if the state transition
`is not complete, or S_OK if it has been successfully completed.
`
`Remarks
`
`This method simply calls the IMediaControl: :GetState method. Note that the state is returned
`in a FILTER STATE structure rather than as an OAFilterState type.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`w Q<M [.] +• 111.H5
`
`Topic Contents
`
`•=@• 1gnw
`
`IAMovie: :get_StopTime
`
`IAMovie Interface
`
`Retrieves the time at which the media stream stops.
`
`HRESULT get_StopTime(
`REFTIME* pTime
`);
`
`Parameters
`
`pTime
`[out] Returned stop time.
`
`Return Values
`
`Returns an HRESULT value.
`
`Remarks
`
`This method simply calls the IMediaPosition: :get StopTime method.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`526
`
`

`
`DirectShow COM Interfaces
`
`Page 136 of 658
`
`+Qi§1[.]++ 1 !!

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