?? dspack.pas
字號:
IVideoFrameStep, IVideoWindow. <br>
<b>gmCapture: </b> all gmNormal interfaces and ICaptureGraphBuilder2.<br>
<b>gmDVD: </b> all gmNormal interfaces and IDvdGraphBuilder, IDvdControl2,
IDvdInfo2, IAMLine21Decoder.}
function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
{ The Run method runs all the filters in the filter graph. While the graph
is running, data moves through the graph and is rendered. }
function Play: boolean;
{ The Pause method pauses all the filters in the filter graph. }
function Pause: boolean;
{ The Stop method stops all the filters in the graph. }
function Stop: boolean;
{ This method disconnect all pins.}
procedure DisconnectFilters;
{ Disconnect and remove all filters from the filter graph excepting the custom components. }
procedure ClearGraph;
{ Render a single file. }
function RenderFile(FileName: WideString): HRESULT;
function RenderFileEx(FileName: WideString): HRESULT;
{ Render a DVD Video Volume or a File Name if specified. }
function RenderDVD(out status: TAMDVDRenderStatus;
FileName: WideString = ''; Mode: Integer = AM_DVD_HWDEC_PREFER): HRESULT;
{ Save the current state and position of a DVD movie to a file.<br>
See also: @link(DVDRestoreBookmark).}
procedure DVDSaveBookmark(BookMarkFile: WideString);
{ Restore the State and position of a DVD movie saved by @link(DVDSaveBookmark).}
procedure DVDRestoreBookmark(BookMarkFile: WideString);
published
{ Specify a File Name to save the Filter Graph Log. }
property LogFile: String read FLogFileName write SetLogFile;
{ Activate the Filter Graph.}
property Active: boolean read FActive write SetActive default False;
{ Auto-Activate the Filter Graph when component is created.}
property AutoCreate: boolean read FAutoCreate write FAutoCreate default False;
{ There is 3 modes: gmNormal, gmCapture and gmDVD. <br>
See also: @link(GraphInterFace).}
property Mode: TGraphMode read FMode write SetGraphMode default gmNormal;
{ if true you can use GraphEdit application to connect with the Filter Graph.}
property GraphEdit: boolean read FGraphEdit write SetGraphEdit;
{ if true, Volume and Balance is set by using a linear algorythm instead of
logatithmic. }
property LinearVolume: Boolean read FLinearVolume write SetLinearVolume;
// -------------------------------------------------------------------------
// Events
// -------------------------------------------------------------------------
property OnActivate: TNotifyEvent read FOnActivate write FOnActivate;
{ Generic Filter Graph event.<br>
<b>Event:</b> message sent.<br>
<b>Param1:</b> first message parameter.<br>
<b>Param2:</b> second message parameter.}
property OnDSEvent: TOnDSEvent read FOnDSEvent write FOnDSEvent;
{ The graph is buffering data, or has stopped buffering data.
A filter can send this event if it needs to buffer data from an external
source. (for example, it might be loading data from a network.)
The application can use this event to adjust its user interface.<br>
<b>buffering:</b> TRUE if the graph is starting to buffer, or FALSE if
the graph has stopped buffering. }
property OnGraphBufferingData: TOnGraphBufferingData read FOnGraphBufferingData write FOnGraphBufferingData;
{ The reference clock has changed. The filter graph manager sends this event
when its IMediaFilter.SetSyncSource method is called.}
property OnGraphClockChanged: TNotifyEvent read FOnGraphClockChanged write FOnGraphClockChanged;
{ All data from a particular stream has been rendered.
By default, the filter graph manager does not forward this event to the
application. However, after all the streams in the graph report EC_COMPLETE,
the filter graph manager posts a separate EC_COMPLETE event to the application.<br>
<b>Result:</b> HRESULT value; can be S_OK.<br>
<b>Renderer:</b> nil, or a reference to the renderer's IBaseFilter interface.}
property OnGraphComplete: TOnGraphComplete read FOnGraphComplete write FOnGraphComplete;
{ A Plug and Play device was removed or became available again. When the
device becomes available again, the previous state of the device filter is
no longer valid. The application must rebuild the graph in order to use the device.<br>
<b>Device:</b> IUnknown interface of the filter that represents the device.<br>
<b>Removed:</b> True if the device was removed, or False if the device is available again.}
property OnGraphDeviceLost: TOnGraphDeviceLost read FOnGraphDeviceLost write FOnGraphDeviceLost;
{ The end of a segment was reached.
This event code supports seamless looping. When a call to the IMediaSeeking.SetPositions
method includes the AM_SEEKING_Segment flag, the source filter sends this
event code instead of calling IPin.EndOfStream.<br>
<b>StreamTime:</b> TREFERENCE_TIME value that specifies the accumulated stream time since the start of the segment.<br>
<b>NumSegment:</b> Cardinal value indicating the segment number (zero-based).}
property OnGraphEndOfSegment: TOnGraphEndOfSegment read FOnGraphEndOfSegment write FOnGraphEndOfSegment;
{ An asynchronous command to run the graph has failed.
if the filter graph manager issues an asynchronous run command that fails,
it sends this event to the application. The graph remains in a running state.
The state of the underlying filters is indeterminate. Some filters might be
running, others might not.<br>
<b>Result:</b> value of the operation that failed.}
property OnGraphErrorStillPlaying: TOnDSResult read FOnGraphErrorStillPlaying write FOnGraphErrorStillPlaying;
{ An operation was aborted because of an error.<br>
<b>Result:</b> value of the operation that failed.}
property OnGraphErrorAbort: TOnDSResult read FOnGraphErrorAbort write FOnGraphErrorAbort;
{ The video renderer is switching out of full-screen mode.
When the Full Screen Renderer loses activation, it sends this event. When
another video renderer switches out of full-screen mode, the filter graph
manager sends this event, in response to an EC_ACTIVATE event from the renderer.<br>
<b>Renderer:</b> the video renderer's IBaseFilter interface, or nil.}
property OnGraphFullscreenLost: TOnGraphFullscreenLost read FOnGraphFullscreenLost write FOnGraphFullscreenLost;
{ The filter graph has changed.
This event code is intended for debugging. It is not sent for all graph changes.}
property OnGraphChanged: TNotifyEvent read FOnGraphChanged write FOnGraphChanged;
{ A filter is passing a text string to the application.
By convention, the first parameter contains type information (for example, Text)
and the second parameter contains the text string.<br>
<b>String1, String2:</b> Wide Strings}
property OnGraphOleEvent: TOnGraphOleEvent read FOnGraphOleEvent write FOnGraphOleEvent;
{ The graph is opening a file, or has finished opening a file.
A filter can send this event if it spends significant time opening a file.
(for example, the file might be located on a network.) The application can use
this event to adjust its user interface.<br>
<b>opening:</b> TRUE if the graph is starting to open a file, or FALSE
if the graph is no longer opening the file.}
property OnGraphOpeningFile: TOnGraphOpeningFile read FOnGraphOpeningFile write FOnGraphOpeningFile;
{ The video palette has changed.
Video renderers send this event if they detect a palette change in the stream.}
property OnGraphPaletteChanged: TNotifyEvent read FOnGraphPaletteChanged write FOnGraphPaletteChanged;
{ A pause request has completed.
The filter graph manager sends this event when it completes an asynchronous pause command.<br>
<b>Result:</b> value that indicates the result of the transition. if the
value is S_OK, the filter graph is now in a paused state.}
property OnGraphPaused: TOnDSResult read FOnGraphPaused write FOnGraphPaused;
{ The graph is dropping samples, for quality control.
A filter sends this event if it drops samples in response to a quality control
message. It sends the event only when it adjusts the quality level, not for each
sample that it drops. }
property OnGraphQualityChange: TNotifyEvent read FOnGraphQualityChange write FOnGraphQualityChange;
{ An audio device error occurred on an input pin.<br>
<b>OccurWhen:</b> value from the TSNDDEV_ERR enumerated type, indicating how the device was being accessed when the failure occurred.<br>
<b>ErrorCode:</b> value indicating the error returned from the sound device call.}
property OnGraphSNDDevInError: TOnGraphSNDDevError read FOnGraphSNDDevInError write FOnGraphSNDDevInError;
{ An audio device error occurred on an output pin.<br>
<b>OccurWhen:</b> value from the TSNDDEV_ERR enumerated type, indicating how the device was being accessed when the failure occurred.<br>
<b>ErrorCode:</b> value indicating the error returned from the sound device call.}
property OnGraphSNDDevOutError: TOnGraphSNDDevError read FOnGraphSNDDevOutError write FOnGraphSNDDevOutError;
{ A filter has completed frame stepping.
The filter graph manager pauses the graph and passes the event to the application.}
property OnGraphStepComplete: TNotifyEvent read FOnGraphStepComplete write FOnGraphStepComplete;
{ A stream-control start command has taken effect.
Filters send this event in response to the IAMStreamControl.StartAt method.
This method specifies a reference time for a pin to begin streaming.
When streaming does begin, the filter sends this event.<br>
<b>PinSender</b> parameter specifies the pin that executes the start command.
Depending on the implementation, it might not be the pin that
received the StartAt call.<br>
<b>Cookie</b> parameter is specified by the application in the StartAt method.
This parameter enables the application to track multiple calls to the method.}
property OnGraphStreamControlStarted: TOnGraphStreamControl read FOnGraphStreamControlStarted write FOnGraphStreamControlStarted;
{ A stream-control start command has taken effect.
Filters send this event in response to the IAMStreamControl.StopAt method.
This method specifies a reference time for a pin to stop streaming.
When streaming does halt, the filter sends this event.<br>
<b>PinSender</b> parameter specifies the pin that executes the stop command.
Depending on the implementation, it might not be the pin
that received the StopAt call.<br>
<b>Cookie</b> parameter is specified by the application in the StopAt method.
This parameter enables the application to track multiple calls to the method.}
property OnGraphStreamControlStopped: TOnGraphStreamControl read FOnGraphStreamControlStopped write FOnGraphStreamControlStopped;
{ An error occurred in a stream, but the stream is still playing.<br>
<b>Operation:</b> HRESULT of the operation that failed.<br>
<b>Value:</b> LongWord value, generally zero. }
property OnGraphStreamErrorStillPlaying : TOnGraphStreamError read FOnGraphStreamErrorStillPlaying write FOnGraphStreamErrorStillPlaying;
{ A stream has stopped because of an error.<br>
<b>Operation:</b> HRESULT of the operation that failed.<br>
<b>Value:</b> LongWord value, generally zero. }
property OnGraphStreamErrorStopped: TOnGraphStreamError read FOnGraphStreamErrorStopped write FOnGraphStreamErrorStopped;
{ The user has terminated playback.<br>
This event code signals that the user has terminated normal graph playback.
for example, video renderers send this event if the user closes the video window.<br>
After sending this event, the filter should reject all samples and not send
any EC_REPAINT events, until the filter stops and is reset.}
property OnGraphUserAbort: TNotifyEvent read FOnGraphUserAbort write FOnGraphUserAbort;
{ The native video size has changed.<br>
<b>width:</b> new width, in pixels.<br>
<b>height:</b> new height, in pixels. }
property OnGraphVideoSizeChanged: TOnGraphVideoSizeChanged read FOnGraphVideoSizeChanged write FOnGraphVideoSizeChanged;
{ Sent by filter supporting timecode.<br>
<b>From:</b> sending object.<br>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -