DSPack 2.3.3 (Sep 2004).

DSPack is a set of Components and class to write Multimedia Applications using MS Direct Show and DirectX technologies. DSPack is designed to work with DirectX 9 on Win9X, ME, 2000, and Windows XP operating systems. Now VMR (Video Mixing Renderer) is available on all Windows Operating Systems. DSPack 2 is designed to work with Delphi 5,6,7 and CPP Builder 6.

What can I do with DSPack ?

I've writen DSPack with the idea to provide a non limitative set of components and class to use DirectShow easier. With DSpack you can create all that you want: DVD, capture, compression, filters, TV, webcam, DV ...

How to install ?

All Versions

1 - Install DirectX9 if you plan to use VMR or Direct3D : http://www.microsoft.com/windows/directx/downloads/drx90.asp

2 - Install Direct3D libraries if you plan to use Direct3D : http://clootie.narod.ru/delphi/download_dx90.html

3 - Install Windows Media if you plan to use ASF compression or streaming: http://www.progdigy.com/download/wmfdist.exe

Delphi 5,6 & 7

1 - Add this paths to your search directory:
- (DSPackDir)\src\Directx9
- (DSPackDir)\src\DSPack

2 - Compile DirectX 9 Package (DirectX9_Dx.dpk) from the "packages" directtory.

3 - Compile DSPack Package (DSPack_Dx.dpk) from the "packages" directory.

4- Install Design Package (DSPackDesign_Dx.dpk) from the "packages" directory.

If you have a warning message during the last step on Win9x, probaby the path : "../Delphi.../bin" is not correctly defined in "c:\autoexec.bat", in most case the path is too long. To correct this problem you have to set this path again. Alternatively change the bpl output directory option on each package to "$(DELPHI)\Bin" (Options>Directories/Conditionals>Output directory).

CPP Builder 6

1 - Download the DirectX9 SDK from MS and update the "$(BCB)\Include" directory. You must also updates the DX SDK with the file provided in the "(DSPackDir)\Include" directory.

2 - Add this paths to your search directory:
- (DSPackDir)\src\Directx9
- (DSPackDir)\src\DSPack

2 - Compile DirectX 9 Package (DirectX9_BCB6.dpk) from the "packages" directtory.

3 - Compile DSPack Package (DSPack_BCB6.dpk) from the "packages" directory.

4- Install Design Package (DSPackDesign_BCB6.dpk) from the "packages" directory.

What does it cost ?

Nothing, DSPack is distributed under the MPL 1.1, but I accept money to pay web hosting.

Henri Gourvest
hgourvest@progdigy.com


Mozilla Public License version 1.1

MOZILLA PUBLIC LICENSE
Version 1.1

1. Definitions.

    1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.

    1.1. ''Contributor'' means each entity that creates or contributes to the creation of Modifications.

    1.2. ''Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.

    1.3. ''Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.

    1.4. ''Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.

    1.5. ''Executable'' means Covered Code in any form other than Source Code.

    1.6. ''Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.

    1.7. ''Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.

    1.8. ''License'' means this document.

    1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.

    1.9. ''Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:

      A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.

      B. Any new file that contains any part of the Original Code or previous Modifications.

    1.10. ''Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.

    1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.

    1.11. ''Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.

    1.12. "You'' (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.

2. Source Code License.
    2.1. The Initial Developer Grant.
    The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
      (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and

      (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).

        (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.

        (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.

      2.2. Contributor Grant.
      Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license

        (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and

        (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).

        (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.

        (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.

    3. Distribution Obligations.

      3.1. Application of License.
      The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.

      3.2. Availability of Source Code.
      Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.

      3.3. Description of Modifications.
      You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.

      3.4. Intellectual Property Matters

        (a) Third Party Claims.
        If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.

        (b) Contributor APIs.
        If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.

      (c) Representations.
        Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.

      3.5. Required Notices.
      You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.

      3.6. Distribution of Executable Versions.
      You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.

      3.7. Larger Works.
      You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.

    4. Inability to Comply Due to Statute or Regulation.
      If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
    5. Application of this License.
      This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
    6. Versions of the License.
      6.1. New Versions.
      Netscape Communications Corporation (''Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.

      6.2. Effect of New Versions.
      Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.

      6.3. Derivative Works.
      If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)

    7. DISCLAIMER OF WARRANTY.
      COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
    8. TERMINATION.
      8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.

      8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:

      (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.

      (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.

      8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.

      8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.

    9. LIMITATION OF LIABILITY.
      UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
    10. U.S. GOVERNMENT END USERS.
      The Covered Code is a ''commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and ''commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
    11. MISCELLANEOUS.
      This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
    12. RESPONSIBILITY FOR CLAIMS.
      As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
    13. MULTIPLE-LICENSED CODE.
      Initial Developer may designate portions of the Covered Code as “Multiple-Licensed”. “Multiple-Licensed” means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.

    EXHIBIT A -Mozilla Public License.

      ``The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
      http://www.mozilla.org/MPL/

      Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
      ANY KIND, either express or implied. See the License for the specific language governing rights and
      limitations under the License.

      The Original Code is ______________________________________.

      The Initial Developer of the Original Code is ________________________. Portions created by
      ______________________ are Copyright (C) ______ _______________________. All Rights
      Reserved.

      Contributor(s): ______________________________________.

      Alternatively, the contents of this file may be used under the terms of the _____ license (the “[___] License”), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License."

      [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]


Progdigy DSPack Components v2.3.3: Legend

Legend

Private | Private
Protected | Protected
Public | Public
Published | Published
Generated by DIPasDoc 0.8.7 on sam. 04/ sept. 2004 01:49:58


Progdigy DSPack Components v2.3.3: All Units

All Units

Name | Description
DSPack | ------------------------------------------------------------------------------
DSUtil | Methods & usefull Class for Direct Show programming.


Progdigy DSPack Components v2.3.3: DSPack

Unit DSPack

Description

------------------------------------------------------------------------------

Classes, Interfaces and Objects

Name | Description
Class TAbstractAllocator |
Class TASFWriter |
Class TColorControl |
Class TDSTrackBar |
Class TDSVideoWindowEx2 |
Class TDSVideoWindowEx2Caps |
Class TFilter |
Class TFilterGraph |
Class TSampleGrabber |
Class TVideoWindow |
Class TVMRBitmap |
Class TVMROptions |

Types

Overview

PVMRPreferences = ^TVMRPreferences
TAbstractAllocatorClass = of TAbstractAllocator
TOnCreatedFilter = function (Filter: IBaseFilter; ClassID: TGuid): Boolean of Object
TOnDSEvent = procedure(sender: TComponent; Event, Param1, Param2: Integer) of object
TOnSelectedFilter = function (Moniker: IMoniker; FilterName: WideString; ClassID: TGuid): Boolean of Object
TOnUnableToRender = function (Pin: IPin): Boolean of Object
TSeekingCaps = set of TSeekingCap
TVMRBitmapOptions = set of TVMRBitmapOption
TVMRPreferences = set of TVMRPreference
TVMRRenderDevice = Integer

Description

PVMRPreferences = ^TVMRPreferences

Pointer to TVMRPreferences.

TAbstractAllocatorClass = of TAbstractAllocator

TOnCreatedFilter = function (Filter: IBaseFilter; ClassID: TGuid): Boolean of Object

TOnDSEvent = procedure(sender: TComponent; Event, Param1, Param2: Integer) of object

TOnSelectedFilter = function (Moniker: IMoniker; FilterName: WideString; ClassID: TGuid): Boolean of Object

TOnUnableToRender = function (Pin: IPin): Boolean of Object

TSeekingCaps = set of TSeekingCap

Specifies the seeking capabilities of a media stream.

TVMRBitmapOptions = set of TVMRBitmapOption

TVMRPreferences = set of TVMRPreference

Set of TVMRPreference.

TVMRRenderDevice = Integer

Render device returned by then OnGraphVMRRenderDevice event.

Enumerations

TControlEvent
WARNING: @exclude
 | cePlay
 | cePause
 | ceStop
 | ceFileRendering
 | ceFileRendered
 | ceDVDRendering
 | ceDVDRendered
 | ceActive
TFilterOperation
WARNING: @exclude
 | foAdding |
 | foAdded | Before the filter is added to graph.
 | foRemoving | After the filter is added to graph.
 | foRemoved | Before the filter is removed from graph.
 | foRefresh | After the filter is removed from graph.
TGraphMode
Graph Mode to use with TFilterGraph.
 | gmNormal
 | gmCapture
 | gmDVD
TGraphState
WARNING: @exclude
 | gsUninitialized
 | gsStopped
 | gsPaused
 | gsPlaying
TRatioModes
WARNING: @exclude
 | rmStretched
 | rmLetterBox
 | rmCrop
TSeekingCap
Specifies the seeking capabilities of a media stream.
 | CanSeekAbsolute |
 | CanSeekForwards | The stream can seek to an absolute position.
 | CanSeekBackwards | The stream can seek forward.
 | CanGetCurrentPos | The stream can seek backward.
 | CanGetStopPos | The stream can report its current position.
 | CanGetDuration | The stream can report its stop position.
 | CanPlayBackwards | The stream can report its duration.
 | CanDoSegments | The stream can play backward.
 | Source | The stream can do seamless looping (see IMediaSeeking.SetPositions).
TVideoMode
Video mode to use with TVideoWindow.
 | vmNormal
 | vmVMR
TVMRBitmapOption
vmrbDisable: Disable the alpha bitmap. vmrbSrcColorKey: Enable ColorKey. vmrbSrcRect: Indicates that the Dest property is valid and specifies a sub-rectangle of the original image to be blended.
 | vmrbDisable
 | vmrbSrcColorKey
 | vmrbSrcRect
TVMRPreference
Video Mixer Render Preferences: vpForceOffscreen: Indicates that the VMR should use only offscreen surfaces for rendering. vpForceOverlays: Indicates that the VMR should fail if no overlay surfaces are available. vpForceMixer: Indicates that the VMR must use Mixer when the number of streams is 1. vpDoNotRenderColorKeyAndBorder: Indicates that the application is responsible for painting the color keys. vpRestrictToInitialMonitor: Indicates that the VMR should output only to the initial monitor. vpPreferAGPMemWhenMixing: Indicates that the VMR should attempt to use AGP memory when allocating texture surfaces.
 | vpForceOffscreen
 | vpForceOverlays
 | vpForceMixer
 | vpDoNotRenderColorKeyAndBorder
 | vpRestrictToInitialMonitor
 | vpPreferAGPMemWhenMixing
TVMRVideoMode
See VRMOptions.
 | vmrWindowed
 | vmrWindowless
 | vmrRenderless

Constants

Overview

rdOverlay = 1
rdSysMem = 4
rdVidMem = 2
WM_CAPTURE_BITMAP = WM_APP + 2
WM_GRAPHNOTIFY = WM_APP + 1

Description

rdOverlay = 1

rdSysMem = 4

rdVidMem = 2

WM_CAPTURE_BITMAP = WM_APP + 2

Sample Grabber message identifier.

WM_GRAPHNOTIFY = WM_APP + 1

Filter Graph message identifier.


Progdigy DSPack Components v2.3.3: DSPack: Class TAbstractAllocator

Class TAbstractAllocator

Unit

DSPack

Declaration

type TAbstractAllocator = class(TInterfacedObject)

Description

*****************************************************************************

Methods

Overview

Public constructor Create(out hr: HResult; wnd: THandle; d3d: IDirect3D9 = nil; d3dd: IDirect3DDevice9 = nil); virtual; abstract;

Description

Public constructor Create(out hr: HResult; wnd: THandle; d3d: IDirect3D9 = nil; d3dd: IDirect3DDevice9 = nil); virtual; abstract;


Progdigy DSPack Components v2.3.3: DSPack: Class TASFWriter

Class TASFWriter

Unit

DSPack

Declaration

type TASFWriter = class(TComponent, IFilter)

Description

This component is designed to create a ASF file or to stream over a network.

Fields

 | Name | Description
Public | AudioInput | The Audio Input Pin.
Public | AudioStreamConfig | Audio Input configuration.
Public | VideoInput | The Video Input Pin.
Public | VideoStreamConfig | VideoInput configuration
Public | WriterAdvanced2 | Sink configuration.
Public | WriterNetworkSink | NetWork streaming configuration.

Methods

Overview

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;

Description

Public constructor Create(AOwner: TComponent); override;

Destructor method.

Public destructor Destroy; override;

Properties

Overview

Published | property AutoIndex: boolean;
Published | property DontCompress: boolean;
Published | property FileName: String;
Published | property FilterGraph: TFilterGraph;
Published | property MaxUsers: DWORD;
Published | property MultiPass: boolean;
Published | property Port: DWORD;
Published | property Profile: TWMPofiles8;

Description

Published property AutoIndex: boolean;

Published property DontCompress: boolean;

Published property FileName: String;

Destination file name to write the compressed file.

Published property FilterGraph: TFilterGraph;

The filter must be connected to a TFilterGraph component.

Published property MaxUsers: DWORD;

The max number of connections.

Published property MultiPass: boolean;

Published property Port: DWORD;

Port number to stream.

Published property Profile: TWMPofiles8;

Windows media profile to use.


Progdigy DSPack Components v2.3.3: DSPack: Class TColorControl

Class TColorControl

Unit

DSPack

Declaration

type TColorControl = class(TPersistent)

Description

Set and Get ColorControls from DSVideoWindowEx's OverlayMixer. This is Hardware based so your graphic card has to support it. Check DSVideoWindowEx's Capabilities if your card support a given colorcontrol.

Methods

Overview

Public procedure RestoreDefault;

Description

Public procedure RestoreDefault;

Restore the colorcontrols to there (Default) values. Default is the value the colorcontrol hat, just after we initilized the overlay Mixer.

Properties

Overview

Published | property Brightness: Integer;
Published | property ColorEnable: Boolean;
Published | property Contrast: Integer;
Published | property Gamma: Integer;
Published | property Hue: Integer;
Published | property Saturation: Integer;
Published | property Sharpness: Integer;

Description

Published property Brightness: Integer;

The Brightness property defines the luminance intensity, in IRE units, multiplied by 100. The possible range is from 0 to 10,000 with a default of 750.

Published property ColorEnable: Boolean;

The ColorEnable property defines whether color is utilized or not. Color is used if this property is 1. Color is not used if this property is 0. The default value is 1.

Published property Contrast: Integer;

The Contrast property defines the relative difference between higher and lower luminance values, in IRE units, multiplied by 100. The possible range is from 0 to 20,000 with a default value of 10,000.

Published property Gamma: Integer;

The Gamma property defines the amount, in gamma units, of gamma correction applied to the luminance values. The possible range is from 1 to 500, with a default of 1.

Published property Hue: Integer;

The Hue property defines the phase relationship, in degrees, of the chrominance components. The possible range is from -180 to 180, with a default of 0.

Published property Saturation: Integer;

The Saturation property defines the color intensity, in IRE units, multiplied by 100. The possible range is 0 to 20,000, with a default value of 10,000.

Published property Sharpness: Integer;

The Sharpness property defines the sharpness, in arbitrary units, of an image. The possible range is 0 to 10, with a default value of 5.


Progdigy DSPack Components v2.3.3: DSPack: Class TDSTrackBar

Class TDSTrackBar

Unit

DSPack

Declaration

type TDSTrackBar = class(TTrackBar, IEvent)

Description

This control implement a seek bar for a media-player application. The seek bar is implemented as a TTrackbar control.

Methods

Overview

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;

Description

Public constructor Create(AOwner: TComponent); override;

constructor method.

Public destructor Destroy; override;

destructor method.

Properties

Overview

Published | property FilterGraph: TFilterGraph;
Published | property OnTimer: TTimerEvent;
Published | property TimerInterval: Cardinal;

Description

Published property FilterGraph: TFilterGraph;

Select the filtergraph to seek.

Published property OnTimer: TTimerEvent;

OnTimer event, you can retrieve the current and stop positions here.

Published property TimerInterval: Cardinal;

Select the time interval in miliseconds. default = 1000 mls.


Progdigy DSPack Components v2.3.3: DSPack: Class TDSVideoWindowEx2

Class TDSVideoWindowEx2

Unit

DSPack

Declaration

type TDSVideoWindowEx2 = class(TCustomControl, IFilter, IEvent)

Description

A alternative to the regular Video Renderer (TVideoWindow), that give a easy way to overlay graphics onto your video in your application.

Fields

 | Name | Description
Protected | FIsVideoWindowOwner |

Methods

Overview

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure ClearBack;
Public | procedure NormalPlayback;
Public | procedure StartDesktopPlayback; overload;
Public | procedure StartDesktopPlayBack(OnMonitor : TMonitor); overload;
Public | procedure StartFullScreen(OnMonitor : TMonitor); overload;
Public | procedure StartFullScreen; overload;

Description

Public constructor Create(AOwner: TComponent); override;

constructor method.

Public destructor Destroy; override;

destructor method.

Public procedure ClearBack;

Clear the graphic ontop of DSVideoWindowEx.

Public procedure NormalPlayback;

Return to normal window playback from Fullscreen or Desktop mode.

Public procedure StartDesktopPlayback; overload;

Use your Desktop as the Video renderer. The video will display as a "wallpaper" on your Desktop

Public procedure StartDesktopPlayBack(OnMonitor : TMonitor); overload;

Use your Desktop as the Video renderer. The video will display as a "wallpaper" on your Desktop on the specifyed monitor

Public procedure StartFullScreen(OnMonitor : TMonitor); overload;

Start playback in fullscreen on specifyed Monitor

Public procedure StartFullScreen; overload;

Start playback in fullscreen

Properties

Overview

Published | property AspectRatio: TRatioModes;
Published | property AutoHideCursor: Integer;
Public | property Canvas;
Public | property Capabilities: TDSVideoWindowEx2Caps;
Published | property Color;
Published | property ColorControl: TColorControl;
Public | property ColorKey: TColor;
Public | property DesktopPlayback: Boolean;
Published | property DigitalZoom: Integer;
Published | property FilterGraph: TFilterGraph;
Public | property FullScreen: boolean;
Published | property FullScreenTopMost: boolean;
Public | property IsVideoWindowOwner: Boolean;
Published | property NoScreenSaver: Boolean;
Published | property OnColorKeyChanged: TNotifyEvent;
Published | property OnCursorShowHide: TCursorVisibleEvent;
Published | property OnOverlayVisible: TOverlayVisibleEvent;
Published | property OnPaint: TNotifyevent;
Public | property OverlayVisible: Boolean;

Description

Published property AspectRatio: TRatioModes;

The AspectRatio property sets the aspect ratio correction mode for window resizing. rmSTRETCHED : No aspect ratio correction. rmLETTERBOX : Put the video in letterbox format. Paint background color in the excess region so the video is not distorted. rmCROP : Crop the video to the correct aspect ratio.

Published property AutoHideCursor: Integer;

Set the amounts of milliseconds befor the cursor is hidden, if it is not moved. Setting the value to 0 will disable this feature.

Public property Canvas;

Canvas

Public property Capabilities: TDSVideoWindowEx2Caps;

TDSVideoWindowEx2Caps

Published property Color;

Published property ColorControl: TColorControl;

TColorControl

Public property ColorKey: TColor;

The Colorkey is the color that the Overlay Mixer Filter used by DSVideoWindowEx sees as transparent, when you draw ontop of the movie always set the canvas’s brush color to this color or set the style to bsclear. Note: The colors returned through this method vary depending on the current display mode. if the colors are 8-bit palettized, they will be bright system colors (such as magenta). if the display is in a true-color mode, they will be shades of black.

Public property DesktopPlayback: Boolean;

repporting if you are currently playing on the Desktop.

Published property DigitalZoom: Integer;

Specify a Zoom factor from 0 to 99 procent.

Published property FilterGraph: TFilterGraph;

The TFilterGraph component

Public property FullScreen: boolean;

repporting if you are currently playing in fullscreen.

Published property FullScreenTopMost: boolean;

Select if the VideoWindow it topmost or not.

Public property IsVideoWindowOwner: Boolean;

Published property NoScreenSaver: Boolean;

Setting this to true will prevent the screen to go into screensaver or powerdown.

Published property OnColorKeyChanged: TNotifyEvent;

Event to tell the main application that the Colorkey has changed. Note: if you have controls placed ontop of your VideoWindow that need to act as transparent, set there color to the same as the Colorkey.

Published property OnCursorShowHide: TCursorVisibleEvent;

This event accure when the cursor change from showing to hiding or from hiding to showing.

Published property OnOverlayVisible: TOverlayVisibleEvent;

This event accure when the Visible state of the overlay changes Note: Most used to hide the video in the player window when going to DesktopPlayback.

Published property OnPaint: TNotifyevent;

Public property OverlayVisible: Boolean;

Check this property to see if the overlay is visible when you draw on DSVideoWindowEx's canvas, if it is visible you should set your brush color to the same as the VideoColor and if not set your brush to the same color as DSVideoWindowEx color.


Progdigy DSPack Components v2.3.3: DSPack: Class TDSVideoWindowEx2Caps

Class TDSVideoWindowEx2Caps

Unit

DSPack

Declaration

type TDSVideoWindowEx2Caps = class(TPersistent)

Description

Check capability of DSVideoWindowEx.

Fields

 | Name | Description
Protected | Owner | Protected declarations

Methods

Overview

Protected | function GetCanControlBrigtness : Boolean;
Protected | function GetCanControlContrast : Boolean;
Protected | function GetCanControlGamma : Boolean;
Protected | function GetCanControlHue : Boolean;
Protected | function GetCanControlSaturation : Boolean;
Protected | function GetCanControlSharpness : Boolean;
Protected | function GetCanControlUtilizedColor : Boolean;
Protected | function GetCanOverlay : Boolean;

Description

Protected function GetCanControlBrigtness : Boolean;

Protected function GetCanControlContrast : Boolean;

Protected function GetCanControlGamma : Boolean;

Protected function GetCanControlHue : Boolean;

Protected function GetCanControlSaturation : Boolean;

Protected function GetCanControlSharpness : Boolean;

Protected function GetCanControlUtilizedColor : Boolean;

Protected function GetCanOverlay : Boolean;

Properties

Overview

Published | property CanControlBrigtness: Boolean;
Published | property CanControlColorEnabled: Boolean;
Published | property CanControlContrast: Boolean;
Published | property CanControlGamma: Boolean;
Published | property CanControlHue: Boolean;
Published | property CanControlSaturation: Boolean;
Published | property CanControlSharpness: Boolean;
Published | property CanOverlayGraphic: Boolean;

Description

Published property CanControlBrigtness: Boolean;

Repport if you can control Brightness on the video overlay

Published property CanControlColorEnabled: Boolean;

Repport if you can control ColorEnabled on the video overlay

Published property CanControlContrast: Boolean;

Repport if you can control Contrast on the video overlay

Published property CanControlGamma: Boolean;

Repport if you can control Gamma on the video overlay

Published property CanControlHue: Boolean;

Repport if you can control Hue on the video overlay

Published property CanControlSaturation: Boolean;

Repport if you can control Saturation on the video overlay

Published property CanControlSharpness: Boolean;

Repport if you can control Sharpness on the video overlay

Published property CanOverlayGraphic: Boolean;

if CanOverlayGraphics return true, you draw on DSVideoWindowEx's canvas and the graphic will bee ontop of the Video.


Progdigy DSPack Components v2.3.3: DSPack: Class TFilter

Class TFilter

Unit

DSPack

Declaration

type TFilter = class(TComponent, IFilter)

Description

This component is an easy way to add a specific filter to a filter graph. You can retrieve an interface using the as operator whith D6 :)

Methods

Overview

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;

Description

Public constructor Create(AOwner: TComponent); override;

Constructor method.

Public destructor Destroy; override;

Destructor method.

Public function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;

Retrieve a filter interface.

Properties

Overview

Published | property BaseFilter: TBaseFilter;
Published | property FilterGraph: TFilterGraph;

Description

Published property BaseFilter: TBaseFilter;

This is the Filter Editor .

Published property FilterGraph: TFilterGraph;

The filter must be connected to a TFilterGraph component.


Progdigy DSPack Components v2.3.3: DSPack: Class TFilterGraph

Class TFilterGraph

Unit

DSPack

Declaration

type TFilterGraph = class(TComponent, IAMGraphBuilderCallback, IAMFilterGraphCallback, IServiceProvider)

Description

This component is the central component in DirectShow, the Filter Graph handle synchronization, event notification, and other aspects of the controlling the filter graph.

Methods

Overview

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure ClearGraph;
Public | procedure DisconnectFilters;
Public | procedure DVDRestoreBookmark(BookMarkFile: WideString);
Public | procedure DVDSaveBookmark(BookMarkFile: WideString);
Public | function Pause: boolean;
Public | function Play: boolean;
Public | function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
Public | function RenderDVD(out status: TAMDVDRenderStatus; FileName: WideString = ''; Mode: Integer = AM_DVD_HWDEC_PREFER): HRESULT;
Public | function RenderFile(FileName: WideString): HRESULT;
Public | function RenderFileEx(FileName: WideString): HRESULT;
Public | function Stop: boolean;

Description

Public constructor Create(AOwner: TComponent); override;

TFilterGraph constructor.

Public destructor Destroy; override;

TFilterGraph destructor.

Public procedure ClearGraph;

Disconnect and remove all filters from the filter graph excepting the custom components.

Public procedure DisconnectFilters;

This method disconnect all pins.

Public procedure DVDRestoreBookmark(BookMarkFile: WideString);

Restore the State and position of a DVD movie saved by DVDSaveBookmark.

Public procedure DVDSaveBookmark(BookMarkFile: WideString);

Save the current state and position of a DVD movie to a file.
See also: DVDRestoreBookmark.

Public function Pause: boolean;

The Pause method pauses all the filters in the filter graph.

Public function Play: boolean;

The Run method runs all the filters in the filter graph. While the graph is running, data moves through the graph and is rendered.

Public function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;

Retrieve an Interface from the current Graph.
ex: (FilterGraph as IGraphBuilder).RenderFile('C:\speedis.avi', nil);
Remark: The interfaces you can Query depend of the Mode you have defined.
gmNormal: IAMGraphStreams, IAMStats, IBasicAudio, IBasicVideo, IBasicVideo2, IFilterChain, IFilterGraph, IFilterGraph2, IFilterMapper2, IGraphBuilder, IGraphConfig, IGraphVersion, IMediaControl, IMediaEvent, IMediaEventEx, IMediaEventSink, IMediaFilter, IMediaPosition, IMediaSeeking, IQueueCommand, IRegisterServiceProvider, IResourceManager, IServiceProvider, IVideoFrameStep, IVideoWindow.
gmCapture: all gmNormal interfaces and ICaptureGraphBuilder2.
gmDVD: all gmNormal interfaces and IDvdGraphBuilder, IDvdControl2, IDvdInfo2, IAMLine21Decoder.

Public function RenderDVD(out status: TAMDVDRenderStatus; FileName: WideString = ''; Mode: Integer = AM_DVD_HWDEC_PREFER): HRESULT;

Render a DVD Video Volume or a File Name if specified.

Public function RenderFile(FileName: WideString): HRESULT;

Render a single file.

Public function RenderFileEx(FileName: WideString): HRESULT;

Public function Stop: boolean;

The Stop method stops all the filters in the graph.

Properties

Overview

Published | property Active: boolean;
Published | property AutoCreate: boolean;
Public | property Balance: integer;
Public | property Duration: Integer;
Published | property GraphEdit: boolean;
Published | property LinearVolume: Boolean;
Published | property LogFile: String;
Published | property Mode: TGraphMode;
Published | property OnActivate: TNotifyEvent;
Published | property OnCreatedFilter: TOnCreatedFilter;
Published | property OnDSEvent: TOnDSEvent;
Published | property OnDVDAngleChange: TOnDVDChange;
Published | property OnDVDAnglesAvailable: TOnDVDAnglesAvailable;
Published | property OnDVDAudioStreamChange: TOnDVDAudioStreamChange;
Published | property OnDVDButtonAutoActivated: TOnDVDButtonAutoActivated;
Published | property OnDVDButtonChange: TOnDVDChange;
Published | property OnDVDChapterAutoStop: TNotifyEvent;
Published | property OnDVDChapterStart: TOnDVDChapterStart;
Published | property OnDVDCMDEnd: TOnDVDCMD;
Published | property OnDVDCMDStart: TOnDVDCMD;
Published | property OnDVDCurrentHMSFTime: TOnDVDCurrentHMSFTime;
Published | property OnDVDCurrentTime: TOnDVDCurrentTime;
Published | property OnDVDDiscEjected: TNotifyEvent;
Published | property OnDVDDiscInserted: TNotifyEvent;
Published | property OnDVDDomainFirstPlay: TNotifyEvent;
Published | property OnDVDDomainStop: TNotifyEvent;
Published | property OnDVDDomainTitle: TNotifyEvent;
Published | property OnDVDDomainVideoManagerMenu: TNotifyEvent;
Published | property OnDVDDomainVideoTitleSetMenu: TNotifyEvent;
Published | property OnDVDErrorCopyProtectFail: TNotifyEvent;
Published | property OnDVDErrorIncompatibleDiscAndDecoderRegions: TNotifyEvent;
Published | property OnDVDErrorIncompatibleSystemAndDecoderRegions: TNotifyEvent;
Published | property OnDVDErrorInvalidDiscRegion: TNotifyEvent;
Published | property OnDVDErrorInvalidDVD1_0Disc: TNotifyEvent;
Published | property OnDVDErrorLowParentalLevel: TNotifyEvent;
Published | property OnDVDErrorMacrovisionFail: TNotifyEvent;
Published | property OnDVDErrorUnexpected: TNotifyEvent;
Published | property OnDVDKaraokeMode: TOnDVDKaraokeMode;
Published | property OnDVDNoFP_PGC: TNotifyEvent;
Published | property OnDVDParentalLevelChange: TOnDVDParentalLevelChange;
Published | property OnDVDPlaybackRateChange: TOnDVDPlaybackRateChange;
Published | property OnDVDPlaybackStopped: TNotifyEvent;
Published | property OnDVDPlayPeriodAutoStop: TNotifyEvent;
Published | property OnDVDStillOff: TNotifyEvent;
Published | property OnDVDStillOn: TOnDVDStillOn;
Published | property OnDVDSubpictureStreamChange: TOnDVDSubpictureStreamChange;
Published | property OnDVDTitleChange: TOnDVDTitleChange;
Published | property OnDVDValidUOPSChange: TOnDVDValidUOPSChange;
Published | property OnDVDWarningFormatNotSupported: TNotifyEvent;
Published | property OnDVDWarningIllegalNavCommand: TNotifyEvent;
Published | property OnDVDWarningInvalidDVD1_0Disc: TNotifyEvent;
Published | property OnDVDWarningOpen: TNotifyEvent;
Published | property OnDVDWarningRead: TNotifyEvent;
Published | property OnDVDWarningSeek: TNotifyEvent;
Published | property OnGraphBufferingData: TOnGraphBufferingData;
Published | property OnGraphChanged: TNotifyEvent;
Published | property OnGraphClockChanged: TNotifyEvent;
Published | property OnGraphClockUnset: TNotifyEvent;
Published | property OnGraphComplete: TOnGraphComplete;
Published | property OnGraphDeviceLost: TOnGraphDeviceLost;
Published | property OnGraphEndOfSegment: TOnGraphEndOfSegment;
Published | property OnGraphErrorAbort: TOnDSResult;
Published | property OnGraphErrorStillPlaying: TOnDSResult;
Published | property OnGraphEXTDeviceModeChange: TOnGraphEXTDeviceModeChange;
Published | property OnGraphFullscreenLost: TOnGraphFullscreenLost;
Published | property OnGraphOleEvent: TOnGraphOleEvent;
Published | property OnGraphOpeningFile: TOnGraphOpeningFile;
Published | property OnGraphPaletteChanged: TNotifyEvent;
Published | property OnGraphPaused: TOnDSResult;
Published | property OnGraphQualityChange: TNotifyEvent;
Published | property OnGraphSNDDevInError: TOnGraphSNDDevError;
Published | property OnGraphSNDDevOutError: TOnGraphSNDDevError;
Published | property OnGraphStepComplete: TNotifyEvent;
Published | property OnGraphStreamControlStarted: TOnGraphStreamControl;
Published | property OnGraphStreamControlStopped: TOnGraphStreamControl;
Published | property OnGraphStreamErrorStillPlaying: TOnGraphStreamError;
Published | property OnGraphStreamErrorStopped: TOnGraphStreamError;
Published | property OnGraphTimeCodeAvailable: TOnGraphTimeCodeAvailable;
Published | property OnGraphUserAbort: TNotifyEvent;
Published | property OnGraphVideoSizeChanged: TOnGraphVideoSizeChanged;
Published | property OnGraphVMRRenderDevice: TOnGraphVMRRenderDevice;
Published | property OnSelectedFilter: TOnSelectedFilter;
Published | property OnUnableToRender: TOnUnableToRender;
Public | property Rate: Double;
Public | property SeekCapabilities: TSeekingCaps;
Public | property State: TGraphState;
Public | property Volume: integer;

Description

Published property Active: boolean;

Activate the Filter Graph.

Published property AutoCreate: boolean;

Auto-Activate the Filter Graph when component is created.

Public property Balance: integer;

The volume balance.

Public property Duration: Integer;

Retrieve the total duration of a stream.

Published property GraphEdit: boolean;

if true you can use GraphEdit application to connect with the Filter Graph.

Published property LinearVolume: Boolean;

if true, Volume and Balance is set by using a linear algorythm instead of logatithmic.

Published property LogFile: String;

Specify a File Name to save the Filter Graph Log.

Published property Mode: TGraphMode;

There is 3 modes: gmNormal, gmCapture and gmDVD.
See also: GraphInterFace.

Published property OnActivate: TNotifyEvent;

-------------------------------------------------------------------------

Published property OnCreatedFilter: TOnCreatedFilter;

Notifys when a Filter has been created and is about to enter the Graph. Return True to allow this Filter to be added, otherwise return False.

Published property OnDSEvent: TOnDSEvent;

Generic Filter Graph event.
Event: message sent.
Param1: first message parameter.
Param2: second message parameter.

Published property OnDVDAngleChange: TOnDVDChange;

Signals that either the number of available angles changed or that the current angle number changed.
Angle numbers range from 1 to 9. The current angle number can change automatically with a navigation command authored on the disc as well as through application control by using the IDvdControl2 interface.
total: value indicating the number of available angles. When the number of available angles is 1, the current video is not multiangle.
current: value indicating the current angle number.

Published property OnDVDAnglesAvailable: TOnDVDAnglesAvailable;

Indicates whether an angle block is being played and angle changes can be performed.
Angle changes are not restricted to angle blocks and the manifestation of the angle change can be seen only in an angle block.
available: Boolean value that indicates if an angle block is being played back. False indicates that playback is not in an angle block and angles are not available, True indicates that an angle block is being played back and angle changes can be performed.

Published property OnDVDAudioStreamChange: TOnDVDAudioStreamChange;

Signals that the current audio stream number changed for the main title.
The current audio stream can change automatically with a navigation command authored on the disc as well as through application control by using the IDvdControl2 interface.
stream: value indicating the new user audio stream number. Audio stream numbers range from 0 to 7. Stream $FFFFFFFF indicates that no stream is selected.
lcid: Language identifier.
Lang: Language string.

Published property OnDVDButtonAutoActivated: TOnDVDButtonAutoActivated;

Signals that a menu button has been automatically activated per instructions on the disc. This occurs when a menu times out and the disc has specified a button to be automatically activated.
Button: value indicating the button that was activated.

Published property OnDVDButtonChange: TOnDVDChange;

Signals that either the number of available buttons changed or that the currently selected button number changed.
This event can signal any of the available button numbers. These numbers do not always correspond to button numbers used for IDvdControl2.SelectAndActivateButton because that method can activate only a subset of buttons.
total: value indicating the number of available buttons.
current: value indicating the currently selected button number. Selected button number zero implies that no button is selected.

Published property OnDVDChapterAutoStop: TNotifyEvent;

Indicates that playback stopped as the result of a call to the IDvdControl2.PlayChaptersAutoStop method.

Published property OnDVDChapterStart: TOnDVDChapterStart;

Signals that the DVD player started playback of a new program in the DVD_DOMAIN_Title domain.
Only simple linear movies signal this event.
chapter: value indicating the new chapter (program) number.

Published property OnDVDCMDEnd: TOnDVDCMD;

Signals that a particular command has completed.
CmdID The Command ID and the completion result.

Published property OnDVDCMDStart: TOnDVDCMD;

Signals that a particular command has begun.
CmdID: The Command ID and the HRESULT return value.

Published property OnDVDCurrentHMSFTime: TOnDVDCurrentHMSFTime;

Signals the current time, in DVD_HMSF_TIMECODE format, relative to the start of the title. This event is triggered at the beginning of every VOBU, which occurs every 0.4 to 1.0 seconds.
The TDVD_HMSF_TIMECODE format is intended to replace the old BCD format that is returned in OnDVDCurrentTime events. The HMSF timecodes are easier to work with. To have the Navigator send EC_DVD_CURRENT_HMSF_TIME events instead of EC_DVD_CURRENT_TIME events, an application must call IDvdControl2.SetOption(DVD_HMSF_TimeCodeEvents, TRUE). When this flag is set, the Navigator will also expect all time parameters in the IDvdControl2 and IDvdInfo2 methods to be passed as TDVD_HMSF_TIMECODEs.
HMSFTimeCode: HMS Time code structure.
TimeCode: old time format, do not use.

Published property OnDVDCurrentTime: TOnDVDCurrentTime;

Deprecated, use OnDVDCurrentHMSFTime instead.
Signals the beginning of every video object unit (VOBU), a video segment which is 0.4 to 1.0 seconds in length.

Published property OnDVDDiscEjected: TNotifyEvent;

Signals that a disc was ejected.
Playback automatically stops when a disc is ejected. The application does not have to take any special action in response to this event.

Published property OnDVDDiscInserted: TNotifyEvent;

Signals that a disc was inserted into the drive.
Playback automatically begins when a disc is inserted. The application does not have to take any special action in response to this event.

Published property OnDVDDomainFirstPlay: TNotifyEvent;

Performing default initialization of a DVD disc.

Published property OnDVDDomainStop: TNotifyEvent;

The DVD Navigator is in the DVD Stop domain.

Published property OnDVDDomainTitle: TNotifyEvent;

Displaying the current title.

Published property OnDVDDomainVideoManagerMenu: TNotifyEvent;

Displaying menus for whole disc.

Published property OnDVDDomainVideoTitleSetMenu: TNotifyEvent;

Displaying menus for current title set.

Published property OnDVDErrorCopyProtectFail: TNotifyEvent;

Key exchange for DVD copy protection failed. Playback is stopped.

Published property OnDVDErrorIncompatibleDiscAndDecoderRegions: TNotifyEvent;

The disc cannot be played because the disc is not authored to be played in the decoder's region.

Published property OnDVDErrorIncompatibleSystemAndDecoderRegions: TNotifyEvent;

No discs can be played because the system region does not match the decoder region.

Published property OnDVDErrorInvalidDiscRegion: TNotifyEvent;

DVD-Video disc cannot be played because the disc is not authored to play in the system region.

Published property OnDVDErrorInvalidDVD1_0Disc: TNotifyEvent;

DVD-Video disc is authored incorrectly for specification version 1.x. Playback is stopped.

Published property OnDVDErrorLowParentalLevel: TNotifyEvent;

Player parental level is lower than the lowest parental level available in the DVD content. Playback is stopped.

Published property OnDVDErrorMacrovisionFail: TNotifyEvent;

Macrovision® distribution failed. Playback stopped.

Published property OnDVDErrorUnexpected: TNotifyEvent;

Something unexpected happened; perhaps content is authored incorrectly. Playback is stopped.

Published property OnDVDKaraokeMode: TOnDVDKaraokeMode;

Indicates that the Navigator has either begun playing or finished playing karaoke data.
The DVD player signals this event whenever it changes domains.
Played: TRUE means that a karaoke track is being played and FALSE means that no karaoke data is being played.

Published property OnDVDNoFP_PGC: TNotifyEvent;

Signals that the DVD disc does not have a FP_PGC (First Play Program Chain) and that the DVD Navigator will not automatically load any PGC and start playback.

Published property OnDVDParentalLevelChange: TOnDVDParentalLevelChange;

Signals that the parental level of the authored content is about to change.
The DVD Navigator source filter does not currently support "on the fly" parental level changes in response to SetTmpPML commands on a DVD disc.
level: value representing the new parental level set in the player.

Published property OnDVDPlaybackRateChange: TOnDVDPlaybackRateChange;

Signals that a rate change in the playback has been initiated. rate: indicate the new playback rate. rate < 0 indicates reverse playback mode. rate > 0 indicates forward playback mode.

Published property OnDVDPlaybackStopped: TNotifyEvent;

Indicates that playback has been stopped. The DVD Navigator has completed playback of the title or chapter and did not find any other branching instruction for subsequent playback.

Published property OnDVDPlayPeriodAutoStop: TNotifyEvent;

Indicates that the Navigator has finished playing the segment specified in a call to PlayPeriodInTitleAutoStop.

Published property OnDVDStillOff: TNotifyEvent;

Signals the end of any still (PGC, Cell, or VOBU).
This event indicates that any currently active still has been released.

Published property OnDVDStillOn: TOnDVDStillOn;

Signals the beginning of any still (PGC, Cell, or VOBU). All combinations of buttons and still are possible (buttons on with still on, buttons on with still off, button off with still on, button off with still off).
NoButtonAvailable: Boolean value indicating whether buttons are available. False indicates buttons are available so the IDvdControl2.StillOff method won't work. True indicates no buttons are available, so IDvdControl2.StillOff will work.
seconds: value indicating the number of seconds the still will last. $FFFFFFFF indicates an infinite still, meaning wait until the user presses a button or until the application calls IDvdControl2.StillOff.

Published property OnDVDSubpictureStreamChange: TOnDVDSubpictureStreamChange;

Signals that the current subpicture stream number changed for the main title.
The subpicture can change automatically with a navigation command authored on disc as well as through application control using IDvdControl2.
SubNum: value indicating the new user subpicture stream number. Subpicture stream numbers range from 0 to 31. Stream $FFFFFFFF indicates that no stream is selected.
lcid: Language identifier.
Lang: Language string.

Published property OnDVDTitleChange: TOnDVDTitleChange;

Indicates when the current title number changes.
Title numbers range from 1 to 99. This number indicates the TTN, which is the title number with respect to the whole disc, not the VTS_TTN which is the title number with respect to just a current VTS.
Title: value indicating the new title number.

Published property OnDVDValidUOPSChange: TOnDVDValidUOPSChange;

Signals that the available set of IDvdControl2 interface methods has changed.
UOPS: value representing a ULONG whose bits indicate which IDvdControl2 commands the DVD disc explicitly disabled.

Published property OnDVDWarningFormatNotSupported: TNotifyEvent;

A decoder would not support the current format. Playback of a stream (audio, video or subpicture) might not function.

Published property OnDVDWarningIllegalNavCommand: TNotifyEvent;

The internal DVD navigation command processor attempted to process an illegal command.

Published property OnDVDWarningInvalidDVD1_0Disc: TNotifyEvent;

DVD-Video disc is authored incorrectly. Playback can continue, but unexpected behavior might occur.

Published property OnDVDWarningOpen: TNotifyEvent;

File Open failed.

Published property OnDVDWarningRead: TNotifyEvent;

File Read failed.

Published property OnDVDWarningSeek: TNotifyEvent;

File Seek failed.

Published property OnGraphBufferingData: TOnGraphBufferingData;

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.
buffering: TRUE if the graph is starting to buffer, or FALSE if the graph has stopped buffering.

Published property OnGraphChanged: TNotifyEvent;

The filter graph has changed. This event code is intended for debugging. It is not sent for all graph changes.

Published property OnGraphClockChanged: TNotifyEvent;

The reference clock has changed. The filter graph manager sends this event when its IMediaFilter.SetSyncSource method is called.

Published property OnGraphClockUnset: TNotifyEvent;

The clock provider was disconnected.
KSProxy signals this event when the pin of a clock-providing filter is disconnected.

Published property OnGraphComplete: TOnGraphComplete;

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.
Result: HRESULT value; can be S_OK.
Renderer: nil, or a reference to the renderer's IBaseFilter interface.

Published property OnGraphDeviceLost: TOnGraphDeviceLost;

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.
Device: IUnknown interface of the filter that represents the device.
Removed: True if the device was removed, or False if the device is available again.

Published property OnGraphEndOfSegment: TOnGraphEndOfSegment;

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.
StreamTime: TREFERENCE_TIME value that specifies the accumulated stream time since the start of the segment.
NumSegment: Cardinal value indicating the segment number (zero-based).

Published property OnGraphErrorAbort: TOnDSResult;

An operation was aborted because of an error.
Result: value of the operation that failed.

Published property OnGraphErrorStillPlaying: TOnDSResult;

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.
Result: value of the operation that failed.

Published property OnGraphEXTDeviceModeChange: TOnGraphEXTDeviceModeChange;

Sent by filter supporting IAMExtDevice.
NewMode: the new mode
DeviceID: the device ID of the sending object

Published property OnGraphFullscreenLost: TOnGraphFullscreenLost;

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.
Renderer: the video renderer's IBaseFilter interface, or nil.

Published property OnGraphOleEvent: TOnGraphOleEvent;

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.
String1, String2: Wide Strings

Published property OnGraphOpeningFile: TOnGraphOpeningFile;

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.
opening: TRUE if the graph is starting to open a file, or FALSE if the graph is no longer opening the file.

Published property OnGraphPaletteChanged: TNotifyEvent;

The video palette has changed. Video renderers send this event if they detect a palette change in the stream.

Published property OnGraphPaused: TOnDSResult;

A pause request has completed. The filter graph manager sends this event when it completes an asynchronous pause command.
Result: value that indicates the result of the transition. if the value is S_OK, the filter graph is now in a paused state.

Published property OnGraphQualityChange: TNotifyEvent;

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.

Published property OnGraphSNDDevInError: TOnGraphSNDDevError;

An audio device error occurred on an input pin.
OccurWhen: value from the TSNDDEV_ERR enumerated type, indicating how the device was being accessed when the failure occurred.
ErrorCode: value indicating the error returned from the sound device call.

Published property OnGraphSNDDevOutError: TOnGraphSNDDevError;

An audio device error occurred on an output pin.
OccurWhen: value from the TSNDDEV_ERR enumerated type, indicating how the device was being accessed when the failure occurred.
ErrorCode: value indicating the error returned from the sound device call.

Published property OnGraphStepComplete: TNotifyEvent;

A filter has completed frame stepping. The filter graph manager pauses the graph and passes the event to the application.

Published property OnGraphStreamControlStarted: TOnGraphStreamControl;

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.
PinSender parameter specifies the pin that executes the start command. Depending on the implementation, it might not be the pin that received the StartAt call.
Cookie parameter is specified by the application in the StartAt method. This parameter enables the application to track multiple calls to the method.

Published property OnGraphStreamControlStopped: TOnGraphStreamControl;

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.
PinSender parameter specifies the pin that executes the stop command. Depending on the implementation, it might not be the pin that received the StopAt call.
Cookie parameter is specified by the application in the StopAt method. This parameter enables the application to track multiple calls to the method.

Published property OnGraphStreamErrorStillPlaying: TOnGraphStreamError;

An error occurred in a stream, but the stream is still playing.
Operation: HRESULT of the operation that failed.
Value: LongWord value, generally zero.

Published property OnGraphStreamErrorStopped: TOnGraphStreamError;

A stream has stopped because of an error.
Operation: HRESULT of the operation that failed.
Value: LongWord value, generally zero.

Published property OnGraphTimeCodeAvailable: TOnGraphTimeCodeAvailable;

Sent by filter supporting timecode.
From: sending object.
DeviceID: device ID of the sending object

Published property OnGraphUserAbort: TNotifyEvent;

The user has terminated playback.
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.
After sending this event, the filter should reject all samples and not send any EC_REPAINT events, until the filter stops and is reset.

Published property OnGraphVideoSizeChanged: TOnGraphVideoSizeChanged;

The native video size has changed.
width: new width, in pixels.
height: new height, in pixels.

Published property OnGraphVMRRenderDevice: TOnGraphVMRRenderDevice;

Identifies the type of rendering mechanism the VMR is using to display video.

Published property OnSelectedFilter: TOnSelectedFilter;

Notifys when a Moniker has been found for a MediaType of a Pin in the Graph. Return True to allow this Filter to be added, otherwise return False. Note: The Guid might not be the real Filter Class ID, but a Group ID. eg: Renderer Filters.

Published property OnUnableToRender: TOnUnableToRender;

Notifys about a Pin that couldn't be Rendered. Return True to try it again, otherwise return False.

Public property Rate: Double;

Retrieve/Set the rate.

Public property SeekCapabilities: TSeekingCaps;

Retrieve the seeking capabilities.

Public property State: TGraphState;

Current state of the filter graph.

Public property Volume: integer;

The volume.


Progdigy DSPack Components v2.3.3: DSPack: Class TSampleGrabber

Class TSampleGrabber

Unit

DSPack

Declaration

type TSampleGrabber = class(TComponent, IFilter, ISampleGrabberCB)

Description

This class is designed make a snapshoot of Video or Audio Datas. WARNING: There is know problems with some DIVX movies, so use RGB32 Media Type instead of RBG24.

Fields

 | Name | Description
Public | InPutPin | The Input Pin. The FilterGraph must be active.
Public | OutPutPin | The Output Pin. The FilterGraph must be active.
Public | SampleGrabber | ISampleGrabber Interface to control the SampleGrabber Filter. The FilterGraph must be active.

Methods

Overview

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | class function CheckFilter: boolean;
Public | function GetBitmap(Bitmap: TBitmap; Buffer: Pointer; BufferLen: Integer): boolean; overload;
Public | function GetBitmap(Bitmap: TBitmap): boolean; overload;
Public | procedure SetBMPCompatible(Source: PAMMediaType; SetDefault: cardinal);
Public | procedure UpdateMediaType;

Description

Public constructor Create(AOwner: TComponent); override;

Constructor method.

Public destructor Destroy; override;

Destructor method.

Public class function CheckFilter: boolean;

This method check if the Sample Grabber Filter is correctly registered on the system.

Public function GetBitmap(Bitmap: TBitmap; Buffer: Pointer; BufferLen: Integer): boolean; overload;

This method read the buffer received in the OnBuffer event and paint the bitmap.

Public function GetBitmap(Bitmap: TBitmap): boolean; overload;

This method read the current buffer from the Sample Grabber Filter and paint the bitmap.

Public procedure SetBMPCompatible(Source: PAMMediaType; SetDefault: cardinal);

Configure the MediaType according to the Source MediaType to be compatible with the BMP format. if Source = nil then this method use the default value to set the resolution: 1..32. The MediaType is auto configured to RGB24.

Public procedure UpdateMediaType;

Configure the filter to cature the specified MediaType. This method disconnect the Input pin if connected. The FilterGraph must be active.

Properties

Overview

Published | property FilterGraph: TFilterGraph;
Published | property MediaType: TMediaType;
Published | property OnBuffer: TOnBuffer;

Description

Published property FilterGraph: TFilterGraph;

The filter must connected to a TFilterGraph component.

Published property MediaType: TMediaType;

The media type to capture. You can capture audio or video data.

Published property OnBuffer: TOnBuffer;

Receive the Buffer from the Sample Grabber Filter.


Progdigy DSPack Components v2.3.3: DSPack: Class TVideoWindow

Class TVideoWindow

Unit

DSPack

Declaration

type TVideoWindow = class(TCustomControl, IFilter, IEvent)

Description

Manage a Video Renderer or a Video Mixer Renderer (VMR) Filter to display a video in your application.

Fields

 | Name | Description
Protected | FIsVideoWindowOwner |

Methods

Overview

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CheckInputPinsConnected: boolean;
Public | class function CheckVMR: boolean;
Public | procedure SetAllocator(Allocator: TAbstractAllocatorClass; UserID: Cardinal);
Public | function VMRGetBitmap(Stream: TStream): boolean;

Description

Public constructor Create(AOwner: TComponent); override;

Constructor.

Public destructor Destroy; override;

Destructor.

Public function CheckInputPinsConnected: boolean;

Public class function CheckVMR: boolean;

Check if the Video Mixer Renderer is available (Windows XP).

Public procedure SetAllocator(Allocator: TAbstractAllocatorClass; UserID: Cardinal);

Public function VMRGetBitmap(Stream: TStream): boolean;

Retrieve the current bitmap, only in WindowLess VMR Mode.

Properties

Overview

Published | property FilterGraph: TFilterGraph;
Published | property FullScreen: boolean;
Published | property FullScreenTopMost: boolean;
Public | property IsVideoWindowOwner: Boolean;
Published | property Mode: TVideoMode;
Published | property OnPaint: TNotifyEvent;
Published | property VideoHandle: THandle;
Published | property VMROptions: TVMROptions;

Description

Published property FilterGraph: TFilterGraph;

The TFilterGraph component

Published property FullScreen: boolean;

Set the full screen mode.

Published property FullScreenTopMost: boolean;

The video Window stay on Top in FullScreen Mode.

Public property IsVideoWindowOwner: Boolean;

Published property Mode: TVideoMode;

Video Mode, you can use Normal mode or VMR mode (VMR is only available on WindowsXP).

Published property OnPaint: TNotifyEvent;

VMR/WindowsLess Mode only.

Published property VideoHandle: THandle;

Return the Handle where the video is displayed.

Published property VMROptions: TVMROptions;

Video Mixer Renderer property editor.


Progdigy DSPack Components v2.3.3: DSPack: Class TVMRBitmap

Class TVMRBitmap

Unit

DSPack

Declaration

type TVMRBitmap = class

Description

Methods

Overview

Public | constructor Create(VideoWindow: TVideoWindow);
Public | destructor Destroy; override;
Public | procedure Draw;
Public | procedure DrawTo(Left, Top, Right, Bottom, Alpha: Single; doUpdate: boolean = false);
Public | procedure LoadBitmap(Bitmap: TBitmap);
Public | procedure LoadEmptyBitmap(Width, Height: Integer; PixelFormat: TPixelFormat; Color: TColor);
Public | procedure Update;

Description

Public constructor Create(VideoWindow: TVideoWindow);

Contructor, set the video Window where the bitmat must be paint.

Public destructor Destroy; override;

Cleanup

Public procedure Draw;

Draw the bitmap to the Video Window.

Public procedure DrawTo(Left, Top, Right, Bottom, Alpha: Single; doUpdate: boolean = false);

Draw the bitmap on a particular position.

Public procedure LoadBitmap(Bitmap: TBitmap);

Load a Bitmap from a TBitmap class.

Public procedure LoadEmptyBitmap(Width, Height: Integer; PixelFormat: TPixelFormat; Color: TColor);

Initialize with an empty bitmap.

Public procedure Update;

update the video window with the current bitmap

Properties

Overview

Public | property Alpha: Single;
Public | property Canvas: TCanvas;
Public | property ColorKey: COLORREF;
Public | property Dest: TVMR9NormalizedRect;
Public | property DestBottom: Single;
Public | property DestLeft: Single;
Public | property DestRight: Single;
Public | property DestTop: Single;
Public | property Options: TVMRBitmapOptions;
Public | property Source: TRect;

Description

Public property Alpha: Single;

Change Alpha Blending

Public property Canvas: TCanvas;

Uses this property to draw on the internal bitmap.

Public property ColorKey: COLORREF;

Set the color key for transparency.

Public property Dest: TVMR9NormalizedRect;

Destination

Public property DestBottom: Single;

Destination Bottom

Public property DestLeft: Single;

Destination Left

Public property DestRight: Single;

Destination Right

Public property DestTop: Single;

Destination Top

Public property Options: TVMRBitmapOptions;

VMR Bitmap Options.

Public property Source: TRect;

set the source rectangle


Progdigy DSPack Components v2.3.3: DSPack: Class TVMROptions

Class TVMROptions

Unit

DSPack

Declaration

type TVMROptions = class(TPersistent)

Description

Video Mixer Renderer property editor.

Methods

Overview

Public constructor Create(AOwner: TVideoWindow);

Description

Public constructor Create(AOwner: TVideoWindow);

Constructor method.

Properties

Overview

Published | property KeepAspectRatio: boolean;
Published | property Mode: TVMRVideoMode;
Published | property Preferences: TVMRPreferences;
Published | property Streams: Cardinal;

Description

Published property KeepAspectRatio: boolean;

Keep Aspect Ration on the video window.

Published property Mode: TVMRVideoMode;

Windowed or WindowLess

Published property Preferences: TVMRPreferences;

Sets various application preferences related to video rendering.

Published property Streams: Cardinal;

Sets the number of streams to be mixed.


Progdigy DSPack Components v2.3.3: DSUtil

Unit DSUtil

Description

Methods & usefull Class for Direct Show programming.

Classes, Interfaces and Objects

Name | Description
Class EDirectShowException |
Class EDSPackException |
Interface IDivXFilterInterface |
Interface IDxDiagContainer |
Interface IDxDiagProvider |
Class TBaseFilter |
Class TEnumMediaType |
Class TFilterList |
Class TMediaBuffer |
Class TMediaType |
Class TPersistentMemory |
Class TPinList |
Class TSysDevEnum |

Functions and Procedures

Overview

function AddGraphToRot(Graph: IFilterGraph; out ID: integer): HRESULT;
function AmGetLastErrorToHResult: HRESULT;
function CanFrameStep(pGB: IGraphBuilder): Boolean;
function CheckDSError(HR: HRESULT): HRESULT;
procedure CopyMediaType(pmtTarget: PAMMediaType; pmtSource: PAMMediaType);
function CopyScreenToBitmap(Rect : TRect; pData : PByte; pHeader : PBitmapInfo) : HBitmap;
function CountFilterPins(pFilter: IBaseFilter; out pulInPins: Cardinal; out pulOutPins: Cardinal): HRESULT;
function CountTotalFilterPins(pFilter: IBaseFilter; out pulPins: Cardinal): HRESULT;
function CreateAudioMediaType(pwfx: PWaveFormatEx; pmt: PAMMediaType; bSetFormat: boolean): HRESULT;
function CreateMediaType(pSrc: PAMMediaType): PAMMediaType;
procedure DeleteMediaType(pmt: PAMMediaType);
function FCC(str: String): Cardinal;
function FindAudioRenderer(pGB: IGraphBuilder; out ppFilter: IBaseFilter): HRESULT;
function FindOtherSplitterPin(pPinIn: IPin; guid: TGUID; nStream: integer; out ppSplitPin: IPin): HRESULT;
function FindRenderer(pGB: IGraphBuilder; const mediatype: PGUID; out ppFilter: IBaseFilter): HRESULT;
function FindVideoRenderer(pGB: IGraphBuilder; out ppFilter: IBaseFilter): HRESULT;
function FOURCCMap(Fourcc: Cardinal): TGUID;
procedure FreeAndNil(var Obj);
procedure FreeMediaType(mt: PAMMediaType);
function Get8087CW: Word;
function GetBasicAudioPan(Value : integer) : integer;
function GetBasicAudioVolume(Value : integer) : integer;
function GetBitmapFormatSize(const Header: TBitmapInfoHeader): Integer;
function GetBitmapSize(Header: PBitmapInfoHeader): DWORD;
function GetBitmapSubtype(bmiHeader: PBitmapInfoHeader): TGUID; stdcall;
function GetDXSDKMediaPath : String;
function GetDXVersion(var pdwDirectXVersion : DWORD; out strDirectXVersion : String) : HResult;
function GetErrorString(hr: HRESULT): string;
function GetEventCodeDef(code: longint): string;
function GetFileDurationString(pMS: IMediaSeeking; out szDuration: WideString): HRESULT;
function GetFOURCC(Fourcc: Cardinal): string;
function GetGUIDString(GUID: TGUID): String;
function GetInPin(pFilter: IBaseFilter; nPin: integer): IPin;
function GetMediaTypeDescription(MediaType: PAMMediaType): string;
function GetOutPin(pFilter: IBaseFilter; nPin: integer): IPin;
function GetPin(pFilter: IBaseFilter; dirrequired: TPinDirection; iNum: integer; out ppPin: IPin): HRESULT;
function GetSourceRectFromMediaType(const MediaType: TAMMediaType): TRect;
function GetTrueColorType(bmiHeader: PBitmapInfoHeader): TGUID; stdcall;
function HaveFilterPropertyPage(Filter: IBaseFilter; PropertyPage: TPropertyPage = ppDefault): boolean;
function Int32x32To64(a, b: integer): Int64;
function Int64x32Div32(a: LONGLONG; b, c, d: LongInt): LONGLONG;
function IntToTimeCode(x : longint): TDVDTimeCode;
function IsEqualObject(pFirst, pSecond: IUnknown): Boolean;
function llMulDiv(a, b, c, d: LONGLONG): LONGLONG;
function LoadGraphFile(pGraph: IGraphBuilder; const wszName: WideString): HRESULT;
function MAKEFOURCC(ch0, ch1, ch2, ch3: char): Cardinal;
function MiliSecToRefTime(Milisec: int64): Int64;
function MILLISECONDS_TO_100NS_UNITS(Ms: LONGLONG): LONGLONG;
function ProfileFromGUID(const GUID: TGUID): TWMPofiles8;
function RefTimeToMiliSec(RefTime: Int64): Cardinal;
function RemoveGraphFromRot(ID: integer): HRESULT;
function SaveGraphFile(pGraph: IGraphBuilder; wszPath: WideString): HRESULT;
function SeekNextFrame(pSeeking: IMediaSeeking; FPS: Double; Frame: LongInt): HRESULT;
procedure Set8087CW(NewCW: Word);
function SetBasicAudioPan(Value : integer) : integer;
function SetBasicAudioVolume(Value : integer) : integer;
procedure ShowFilenameByCLSID(clsid: TGUID; out szFilename: WideString);
function ShowFilterPropertyPage(parent: THandle; Filter: IBaseFilter; PropertyPage: TPropertyPage = ppDefault): HRESULT;
function ShowPinPropertyPage(parent: THandle; Pin: IPin): HRESULT;
function StretchRect(R, IR: TRect): TRect;
function UInt32x32To64(a, b: DWORD): ULONGLONG;
procedure UtilDeleteMediaType(pmt: PAMMediaType);
procedure UtilFreeMediaType(pmt: PAMMediaType);

Description

function AddGraphToRot(Graph: IFilterGraph; out ID: integer): HRESULT;

Enable Graphedit to connect with a filter graph.
The application must register the filter graph instance in the Running Object Table (ROT). The ROT is a globally accessible look-up table that keeps track of running objects. Objects are registered in the ROT by moniker. To connect to the graph, GraphEdit searches the ROT for monikers whose display name matches a particular format: !FilterGraph X pid Y.
Graph: a graph interface (IGraphBuilder, IFilterGraph, IFilterGraph2).
ID: return the ROT identifier.

function AmGetLastErrorToHResult: HRESULT;

function CanFrameStep(pGB: IGraphBuilder): Boolean;

function CheckDSError(HR: HRESULT): HRESULT;

raise EDirectShowException exception if failed.

procedure CopyMediaType(pmtTarget: PAMMediaType; pmtSource: PAMMediaType);

The CopyMediaType function copies an AM_MEDIA_TYPE structure into another structure, including the format block. This function allocates the memory for the format block. If the pmtTarget parameter already contains an allocated format block, a memory leak will occur. To avoid a memory leak, call FreeMediaType before calling this function.

function CopyScreenToBitmap(Rect : TRect; pData : PByte; pHeader : PBitmapInfo) : HBitmap;

function CountFilterPins(pFilter: IBaseFilter; out pulInPins: Cardinal; out pulOutPins: Cardinal): HRESULT;

function CountTotalFilterPins(pFilter: IBaseFilter; out pulPins: Cardinal): HRESULT;

function CreateAudioMediaType(pwfx: PWaveFormatEx; pmt: PAMMediaType; bSetFormat: boolean): HRESULT;

The CreateAudioMediaType function initializes a media type from a TWAVEFORMATEX structure. If the bSetFormat parameter is TRUE, the method allocates the memory for the format block. If the pmt parameter already contains an allocated format block, a memory leak will occur. To avoid a memory leak, call FreeMediaType before calling this function. After the method returns, call FreeMediaType again to free the format block.

function CreateMediaType(pSrc: PAMMediaType): PAMMediaType;

The CreateMediaType function allocates a new AM_MEDIA_TYPE structure, including the format block. This also comes in useful when using the IEnumMediaTypes interface so that you can copy a media type, you can do nearly the same by creating a TMediaType class but as soon as it goes out of scope the destructor will delete the memory it allocated (this takes a copy of the memory).

procedure DeleteMediaType(pmt: PAMMediaType);

General purpose function to delete a heap allocated TAM_MEDIA_TYPE structure which is useful when calling IEnumMediaTypes.Next as the interface implementation allocates the structures which you must later delete the format block may also be a pointer to an interface to release.

function FCC(str: String): Cardinal;

Convert a FCC (Four Char Codes) to Cardinal. A FCC identifie a media type.

function FindAudioRenderer(pGB: IGraphBuilder; out ppFilter: IBaseFilter): HRESULT;

function FindOtherSplitterPin(pPinIn: IPin; guid: TGUID; nStream: integer; out ppSplitPin: IPin): HRESULT;

function FindRenderer(pGB: IGraphBuilder; const mediatype: PGUID; out ppFilter: IBaseFilter): HRESULT;

milenko start (added functions from dshowutil.cpp)

function FindVideoRenderer(pGB: IGraphBuilder; out ppFilter: IBaseFilter): HRESULT;

function FOURCCMap(Fourcc: Cardinal): TGUID;

The FOURCCMap function provides conversion between GUID media subtypes and old-style FOURCC 32-bit media tags. In the original Microsoft® Windows® multimedia APIs, media types were tagged with 32-bit values created from four 8-bit characters and were known as FOURCCs. Microsoft DirectShow® media types have GUIDs for the subtype, partly because these are simpler to create (creation of a new FOURCC requires its registration with Microsoft). Because FOURCCs are unique, a one-to-one mapping has been made possible by allocating a range of 4,000 million GUIDs representing FOURCCs. This range is all GUIDs of the form: XXXXXXXX-0000-0010-8000-00AA00389B71.

procedure FreeAndNil(var Obj);

Frees an object reference and replaces the reference with Nil. (Delphi4 compatibility)

procedure FreeMediaType(mt: PAMMediaType);

The FreeMediaType function frees the format block in an AM_MEDIA_TYPE structure. Use this function to free just the format block. To delete the AM_MEDIA_TYPE structure, call DeleteMediaType.

function Get8087CW: Word;

function GetBasicAudioPan(Value : integer) : integer;

function GetBasicAudioVolume(Value : integer) : integer;

milenko start (usefull functions to get linear amplification)

function GetBitmapFormatSize(const Header: TBitmapInfoHeader): Integer;

The mechanism for describing a bitmap format is with the BITMAPINFOHEADER This is really messy to deal with because it invariably has fields that follow it holding bit fields, palettes and the rest. This function gives the number of bytes required to hold a VIDEOINFO that represents it. This count includes the prefix information (like the rcSource rectangle) the BITMAPINFOHEADER field, and any other colour information on the end. WARNING If you want to copy a BITMAPINFOHEADER into a VIDEOINFO always make sure that you use the HEADER macro because the BITMAPINFOHEADER field isn't right at the start of the VIDEOINFO (there are a number of other fields), CopyMemory(HEADER(pVideoInfo),pbmi,sizeof(BITMAPINFOHEADER));

function GetBitmapSize(Header: PBitmapInfoHeader): DWORD;

Retrieve the Size needed to store a bitmat

function GetBitmapSubtype(bmiHeader: PBitmapInfoHeader): TGUID; stdcall;

function GetDXSDKMediaPath : String;

function GetDXVersion(var pdwDirectXVersion : DWORD; out strDirectXVersion : String) : HResult;

Added by Michael. Used to Detect installed DirectX Version. (Source from getdxver.cpp)

function GetErrorString(hr: HRESULT): string;

The GetErrorString function retrieves the error message for a given return code, using the current language setting.

function GetEventCodeDef(code: longint): string;

Return a string explaining a filter graph event.

function GetFileDurationString(pMS: IMediaSeeking; out szDuration: WideString): HRESULT;

function GetFOURCC(Fourcc: Cardinal): string;

Find the four-character codes wich identifi a codec.

function GetGUIDString(GUID: TGUID): String;

function GetInPin(pFilter: IBaseFilter; nPin: integer): IPin;

function GetMediaTypeDescription(MediaType: PAMMediaType): string;

This function examine a media type and return a short description like GraphEdit.

function GetOutPin(pFilter: IBaseFilter; nPin: integer): IPin;

function GetPin(pFilter: IBaseFilter; dirrequired: TPinDirection; iNum: integer; out ppPin: IPin): HRESULT;

function GetSourceRectFromMediaType(const MediaType: TAMMediaType): TRect;

Retrieve original source rectangle from a TAM_Media_type record.

function GetTrueColorType(bmiHeader: PBitmapInfoHeader): TGUID; stdcall;

function HaveFilterPropertyPage(Filter: IBaseFilter; PropertyPage: TPropertyPage = ppDefault): boolean;

Return true if the specified property page is provided by the Filter.

function Int32x32To64(a, b: integer): Int64;

function Int64x32Div32(a: LONGLONG; b, c, d: LongInt): LONGLONG;

function IntToTimeCode(x : longint): TDVDTimeCode;

deprecated, convert a Time code event to TDVD_TimeCode record.

function IsEqualObject(pFirst, pSecond: IUnknown): Boolean;

function llMulDiv(a, b, c, d: LONGLONG): LONGLONG;

function LoadGraphFile(pGraph: IGraphBuilder; const wszName: WideString): HRESULT;

function MAKEFOURCC(ch0, ch1, ch2, ch3: char): Cardinal;

Create the four-character codes from a Cardinal value.

function MiliSecToRefTime(Milisec: int64): Int64;

Convert milisecondes to 100 nano sec unit

function MILLISECONDS_TO_100NS_UNITS(Ms: LONGLONG): LONGLONG;

function ProfileFromGUID(const GUID: TGUID): TWMPofiles8;

function RefTimeToMiliSec(RefTime: Int64): Cardinal;

Convert 100 nano sec unit to milisecondes.

function RemoveGraphFromRot(ID: integer): HRESULT;

Disable Graphedit to connect with your filter graph.
ID: identifier provided by the AddGraphToRot method.

function SaveGraphFile(pGraph: IGraphBuilder; wszPath: WideString): HRESULT;

function SeekNextFrame(pSeeking: IMediaSeeking; FPS: Double; Frame: LongInt): HRESULT;

procedure Set8087CW(NewCW: Word);

milenko end

function SetBasicAudioPan(Value : integer) : integer;

function SetBasicAudioVolume(Value : integer) : integer;

procedure ShowFilenameByCLSID(clsid: TGUID; out szFilename: WideString);

function ShowFilterPropertyPage(parent: THandle; Filter: IBaseFilter; PropertyPage: TPropertyPage = ppDefault): HRESULT;

Show the property page associated with the Filter. A property page is one way for a filter to support properties that the user can set. Many of the filters provided with DirectShow support property pages, they are intended for debugging purposes, and are not recommended for application use. In most cases the equivalent functionality is provided through a custom interface on the filter. An application should control these filters programatically, rather than expose their property pages to users.

function ShowPinPropertyPage(parent: THandle; Pin: IPin): HRESULT;

Show the property page associated with the Pin.
See also: ShowFilterPropertyPage.

function StretchRect(R, IR: TRect): TRect;

TODO -oMichael Andersen: make documentation

function UInt32x32To64(a, b: DWORD): ULONGLONG;

Should be unsigned Int64 !!!

procedure UtilDeleteMediaType(pmt: PAMMediaType);

procedure UtilFreeMediaType(pmt: PAMMediaType);

Types

Overview

DWORDLONG = LONGLONG
DXDIAG_INIT_PARAMS = _DXDIAG_INIT_PARAMS
PDXDIAG_INIT_PARAMS = ^TDxDiagInitParams
TDxDiagInitParams = _DXDIAG_INIT_PARAMS
TVORBISFORMAT = record nChannels: WORD; nSamplesPerSec: Longword; nMinBitsPerSec: Longword; nAvgBitsPerSec: Longword; nMaxBitsPerSec: Longword; fQuality: Double; end
ULONGLONG = DWORDLONG
_DXDIAG_INIT_PARAMS = record dwSize : DWORD; dwDxDiagHeaderVersion : DWORD; bAllowWHQLChecks : Boolean; pReserved : Pointer; End

Description

DWORDLONG = LONGLONG

DXDIAG_INIT_PARAMS = _DXDIAG_INIT_PARAMS

PDXDIAG_INIT_PARAMS = ^TDxDiagInitParams

*************************************************************************** * * DxDiag Structures * ***************************************************************************

TDxDiagInitParams = _DXDIAG_INIT_PARAMS

TVORBISFORMAT = record nChannels: WORD; nSamplesPerSec: Longword; nMinBitsPerSec: Longword; nAvgBitsPerSec: Longword; nMaxBitsPerSec: Longword; fQuality: Double; end

Ogg Vorbis

ULONGLONG = DWORDLONG

Should be unsigned Int64 !!!

_DXDIAG_INIT_PARAMS = record dwSize : DWORD; dwDxDiagHeaderVersion : DWORD; bAllowWHQLChecks : Boolean; pReserved : Pointer; End

Enumerations

TPropertyPage
Property pages. See also: ShowFilterPropertyPage, HaveFilterPropertyPage.
 | ppDefault |
 | ppVFWCapDisplay | Simple property page.
 | ppVFWCapFormat | Capture Video source dialog box.
 | ppVFWCapSource | Capture Video format dialog box.
 | ppVFWCompConfig | Capture Video source dialog box.
 | ppVFWCompAbout | Compress Configure dialog box.
TWMPofiles8
WMF9 Utils
 | wmp_V80_255VideoPDA
 | wmp_V80_150VideoPDA
 | wmp_V80_28856VideoMBR
 | wmp_V80_100768VideoMBR
 | wmp_V80_288100VideoMBR
 | wmp_V80_288Video
 | wmp_V80_56Video
 | wmp_V80_100Video
 | wmp_V80_256Video
 | wmp_V80_384Video
 | wmp_V80_768Video
 | wmp_V80_700NTSCVideo
 | wmp_V80_1400NTSCVideo
 | wmp_V80_384PALVideo
 | wmp_V80_700PALVideo
 | wmp_V80_288MonoAudio
 | wmp_V80_288StereoAudio
 | wmp_V80_32StereoAudio
 | wmp_V80_48StereoAudio
 | wmp_V80_64StereoAudio
 | wmp_V80_96StereoAudio
 | wmp_V80_128StereoAudio
 | wmp_V80_288VideoOnly
 | wmp_V80_56VideoOnly
 | wmp_V80_FAIRVBRVideo
 | wmp_V80_HIGHVBRVideo
 | wmp_V80_BESTVBRVideo

Constants

Overview

ADVISE_CACHE = integer(4)
bits555 : array[0..2] of DWord = ($007C00, $0003E0, $00001F)
bits565 : array[0..2] of DWord = ($00F800, $0007E0, $00001F)
bits888 : array[0..2] of DWord = ($FF0000, $00FF00, $0000FF)
CLSID_div3 : TGUID = '{33766964-0000-0010-8000-00aa00389b71}'
CLSID_DIV3_ : TGUID = '{33564944-0000-0010-8000-00aa00389b71}'
CLSID_div4 : TGUID = '{34766964-0000-0010-8000-00aa00389b71}'
CLSID_DIV4_ : TGUID = '{34564944-0000-0010-8000-00aa00389b71}'
CLSID_div5 : TGUID = '{35766964-0000-0010-8000-00aa00389b71}'
CLSID_DIV5_ : TGUID = '{35564944-0000-0010-8000-00aa00389b71}'
CLSID_div6 : TGUID = '{36766964-0000-0010-8000-00aa00389b71}'
CLSID_DIV6_ : TGUID = '{36564944-0000-0010-8000-00aa00389b71}'
CLSID_DIVX : TGUID = '{78766964-0000-0010-8000-00aa00389b71}'
CLSID_DIVXCodec : TGUID = '{78766964-0000-0010-8000-00aa00389b71}'
CLSID_DivXPropertiesPage : TGUID = '{310e42a0-f913-11d4-887c-006008dc5c26}'
CLSID_DivX_ : TGUID = '{31787664-0000-0010-8000-00aa00389b71}'
CLSID_DivX_U : TGUID = '{58564944-0000-0010-8000-00aa00389b71}'
CLSID_DivX__U : TGUID = '{31585644-0000-0010-8000-00aa00389b71}'
CLSID_dx50 : TGUID = '{30357864-0000-0010-8000-00aa00389b71}'
CLSID_DX50_ : TGUID = '{30355844-0000-0010-8000-00aa00389b71}'
CLSID_DxDiagProvider : TGUID = '{A65B8071-3BFE-4213-9A5B-491DA4461CA7}'
CLSID_OggDSAboutPage : TGUID = '{77983549-ffda-4a88-b48f-b924e8d1f01c}'
CLSID_OggMux : TGUID = '{8cae96b7-85b1-4605-b23c-17ff5262b296}'
CLSID_OggMuxPropPage : TGUID = '{AB97AFC3-D08E-4e2d-98E0-AEE6D4634BA4}'
CLSID_OggSplitPropPage : TGUID = '{078C3DAA-9E58-4d42-9E1C-7C8EE79539C5}'
CLSID_OggSplitter : TGUID = '{f07e245f-5a1f-4d1e-8bff-dc31d84a55ab}'
CLSID_VorbisDec : TGUID = '{02391f44-2767-4e6a-a484-9b47b506f3a4}'
CLSID_VorbisEnc : TGUID = '{889EF574-0656-4B52-9091-072E52BB1B80}'
CLSID_VorbisEncPropPage : TGUID = '{c5379125-fd36-4277-a7cd-fab469ef3a2f}'
DXDIAG_DX9_SDK_VERSION = 111
DXDIAG_E_INSUFFICIENT_BUFFER = HResult($8007007A)
FORMAT_VorbisFormat : TGUID = '{6bddfa7e-9f22-46a9-ab5e-884eff294d9f}'
IID_IDirectDrawKernel : TGUID = '{8D56C120-6A08-11D0-9B06-00A0C903A3B8}'
IID_IDirectDrawSurfaceKernel : TGUID = '{60755DA0-6A40-11D0-9B06-00A0C903A3B8}'
IID_IDxDiagContainer : TGUID = '{7D0F462F-4064-4862-BC7F-933E5058C10F}'
IID_IDxDiagProvider : TGUID = '{9C6B4CB0-23F8-49CC-A3ED-45A55000A6D2}'
IID_IIDivXFilterInterface : TGUID = '{D132EE97-3E38-4030-8B17-59163B30A1F5}'
IID_IMoniker : TGUID = '{0000000F-0000-0000-C000-000000000046}'
IID_IPersistStream : TGUID = '{00000109-0000-0000-C000-000000000046}'
IID_IPropertyBag : TGUID = '{55272A00-42CB-11CE-8135-00AA004BB851}'
IID_ISpecifyPropertyPages : TGUID = '{B196B28B-BAB4-101A-B69C-00AA00341D07}'
MAX_TIME : Int64 = $7FFFFFFFFFFFFFFF
MEDIASUBTYPE_DIVX : TGUID = '{58564944-0000-0010-8000-00AA00389B71}'
MEDIASUBTYPE_MP42 : TGUID = '{3234504D-0000-0010-8000-00AA00389B71}'
MEDIASUBTYPE_Ogg : TGUID = '{D2855FA9-61A7-4db0-B979-71F297C17A04}'
MEDIASUBTYPE_Vorbis : TGUID = '{cddca2d5-6d75-4f98-840e-737bedd5c63b}'
MEDIASUBTYPE_VOXWARE : TGUID = '{00000075-0000-0010-8000-00AA00389B71}'
MiliSecPerDay : Cardinal = 86400000
MILLISECONDS = LONGLONG(1000)
NANOSECONDS = LONGLONG(1000000000)
RESOLUTION = DWORD(1)
TimeZero = LONGLONG(0)
UNITS = LONGLONG(NANOSECONDS div 100)
WMProfiles8 : array[TWMPofiles8] of TGUID = ('{FEEDBCDF-3FAC-4c93-AC0D-47941EC72C0B}', '{AEE16DFA-2C14-4a2f-AD3F-A3034031784F}', '{D66920C4-C21F-4ec8-A0B4-95CF2BD57FC4}', '{5BDB5A0E-979E-47d3-9596-73B386392A55}', '{D8722C69-2419-4b36-B4E0-6E17B60564E5}', '{3DF678D9-1352-4186-BBF8-74F0C19B6AE2}', '{254E8A96-2612-405c-8039-F0BF725CED7D}', '{A2E300B4-C2D4-4fc0-B5DD-ECBD948DC0DF}', '{BBC75500-33D2-4466-B86B-122B201CC9AE}', '{29B00C2B-09A9-48bd-AD09-CDAE117D1DA7}', '{74D01102-E71A-4820-8F0D-13D2EC1E4872}', '{C8C2985F-E5D9-4538-9E23-9B21BF78F745}', '{931D1BEE-617A-4bcd-9905-CCD0786683EE}', '{9227C692-AE62-4f72-A7EA-736062D0E21E}', '{EC298949-639B-45e2-96FD-4AB32D5919C2}', '{7EA3126D-E1BA-4716-89AF-F65CEE0C0C67}', '{7E4CAB5C-35DC-45bb-A7C0-19B28070D0CC}', '{60907F9F-B352-47e5-B210-0EF1F47E9F9D}', '{5EE06BE5-492B-480a-8A8F-12F373ECF9D4}', '{09BB5BC4-3176-457f-8DD6-3CD919123E2D}', '{1FC81930-61F2-436f-9D33-349F2A1C0F10}', '{407B9450-8BDC-4ee5-88B8-6F527BD941F2}', '{8C45B4C7-4AEB-4f78-A5EC-88420B9DADEF}', '{6E2A6955-81DF-4943-BA50-68A986A708F6}', '{3510A862-5850-4886-835F-D78EC6A64042}', '{0F10D9D3-3B04-4fb0-A3D3-88D4AC854ACC}', '{048439BA-309C-440e-9CB4-3DCCA3756423}')

Description

ADVISE_CACHE = integer(4)

High resolution timer

bits555 : array[0..2] of DWord = ($007C00, $0003E0, $00001F)

bits565 : array[0..2] of DWord = ($00F800, $0007E0, $00001F)

bits888 : array[0..2] of DWord = ($FF0000, $00FF00, $0000FF)

CLSID_div3 : TGUID = '{33766964-0000-0010-8000-00aa00389b71}'

div3

CLSID_DIV3_ : TGUID = '{33564944-0000-0010-8000-00aa00389b71}'

DIV3

CLSID_div4 : TGUID = '{34766964-0000-0010-8000-00aa00389b71}'

div4

CLSID_DIV4_ : TGUID = '{34564944-0000-0010-8000-00aa00389b71}'

DIV4

CLSID_div5 : TGUID = '{35766964-0000-0010-8000-00aa00389b71}'

div5

CLSID_DIV5_ : TGUID = '{35564944-0000-0010-8000-00aa00389b71}'

DIV5

CLSID_div6 : TGUID = '{36766964-0000-0010-8000-00aa00389b71}'

div6

CLSID_DIV6_ : TGUID = '{36564944-0000-0010-8000-00aa00389b71}'

DIV6

CLSID_DIVX : TGUID = '{78766964-0000-0010-8000-00aa00389b71}'

divx

CLSID_DIVXCodec : TGUID = '{78766964-0000-0010-8000-00aa00389b71}'

CLSID_DivXPropertiesPage : TGUID = '{310e42a0-f913-11d4-887c-006008dc5c26}'

CLSID_DivX_ : TGUID = '{31787664-0000-0010-8000-00aa00389b71}'

dvx1

CLSID_DivX_U : TGUID = '{58564944-0000-0010-8000-00aa00389b71}'

DIVX

CLSID_DivX__U : TGUID = '{31585644-0000-0010-8000-00aa00389b71}'

DVX1

CLSID_dx50 : TGUID = '{30357864-0000-0010-8000-00aa00389b71}'

dx50

CLSID_DX50_ : TGUID = '{30355844-0000-0010-8000-00aa00389b71}'

DX50

CLSID_DxDiagProvider : TGUID = '{A65B8071-3BFE-4213-9A5B-491DA4461CA7}'

*************************************************************************** * * DxDiag CLSIDs * ***************************************************************************

CLSID_OggDSAboutPage : TGUID = '{77983549-ffda-4a88-b48f-b924e8d1f01c}'

77983549-ffda-4a88-b48f-b924e8d1f01c

CLSID_OggMux : TGUID = '{8cae96b7-85b1-4605-b23c-17ff5262b296}'

8cae96b7-85b1-4605-b23c-17ff5262b296

CLSID_OggMuxPropPage : TGUID = '{AB97AFC3-D08E-4e2d-98E0-AEE6D4634BA4}'

{AB97AFC3-D08E-4e2d-98E0-AEE6D4634BA4}

CLSID_OggSplitPropPage : TGUID = '{078C3DAA-9E58-4d42-9E1C-7C8EE79539C5}'

{078C3DAA-9E58-4d42-9E1C-7C8EE79539C5}

CLSID_OggSplitter : TGUID = '{f07e245f-5a1f-4d1e-8bff-dc31d84a55ab}'

f07e245f-5a1f-4d1e-8bff-dc31d84a55ab

CLSID_VorbisDec : TGUID = '{02391f44-2767-4e6a-a484-9b47b506f3a4}'

02391f44-2767-4e6a-a484-9b47b506f3a4

CLSID_VorbisEnc : TGUID = '{889EF574-0656-4B52-9091-072E52BB1B80}'

{889EF574-0656-4B52-9091-072E52BB1B80}

CLSID_VorbisEncPropPage : TGUID = '{c5379125-fd36-4277-a7cd-fab469ef3a2f}'

{c5379125-fd36-4277-a7cd-fab469ef3a2f}

DXDIAG_DX9_SDK_VERSION = 111

(The number itself has no meaning.)

DXDIAG_E_INSUFFICIENT_BUFFER = HResult($8007007A)

*************************************************************************** * * DxDiag Errors * ***************************************************************************

FORMAT_VorbisFormat : TGUID = '{6bddfa7e-9f22-46a9-ab5e-884eff294d9f}'

6bddfa7e-9f22-46a9-ab5e-884eff294d9f

IID_IDirectDrawKernel : TGUID = '{8D56C120-6A08-11D0-9B06-00A0C903A3B8}'

milenko start namedguid implementation

IID_IDirectDrawSurfaceKernel : TGUID = '{60755DA0-6A40-11D0-9B06-00A0C903A3B8}'

IID_IDxDiagContainer : TGUID = '{7D0F462F-4064-4862-BC7F-933E5058C10F}'

IID_IDxDiagProvider : TGUID = '{9C6B4CB0-23F8-49CC-A3ED-45A55000A6D2}'

*************************************************************************** * * DxDiag Interface IIDs * ***************************************************************************

IID_IIDivXFilterInterface : TGUID = '{D132EE97-3E38-4030-8B17-59163B30A1F5}'

IID_IMoniker : TGUID = '{0000000F-0000-0000-C000-000000000046}'

IID_IPersistStream : TGUID = '{00000109-0000-0000-C000-000000000046}'

IID_IPropertyBag : TGUID = '{55272A00-42CB-11CE-8135-00AA004BB851}'

------------------------------------------------------------------------------

IID_ISpecifyPropertyPages : TGUID = '{B196B28B-BAB4-101A-B69C-00AA00341D07}'

MAX_TIME : Int64 = $7FFFFFFFFFFFFFFF

MEDIASUBTYPE_DIVX : TGUID = '{58564944-0000-0010-8000-00AA00389B71}'

DIVX

MEDIASUBTYPE_MP42 : TGUID = '{3234504D-0000-0010-8000-00AA00389B71}'

MS Mepg4 DMO

MEDIASUBTYPE_Ogg : TGUID = '{D2855FA9-61A7-4db0-B979-71F297C17A04}'

{D2855FA9-61A7-4db0-B979-71F297C17A04}

MEDIASUBTYPE_Vorbis : TGUID = '{cddca2d5-6d75-4f98-840e-737bedd5c63b}'

cddca2d5-6d75-4f98-840e-737bedd5c63b

MEDIASUBTYPE_VOXWARE : TGUID = '{00000075-0000-0010-8000-00AA00389B71}'

VoxWare MetaSound

MiliSecPerDay : Cardinal = 86400000

MILLISECONDS = LONGLONG(1000)

Default cache size

NANOSECONDS = LONGLONG(1000000000)

10 ^ 3

RESOLUTION = DWORD(1)

milenko start wxutil implementation

TimeZero = LONGLONG(0)

10 ^ 7

UNITS = LONGLONG(NANOSECONDS div 100)

10 ^ 9

WMProfiles8 : array[TWMPofiles8] of TGUID = ('{FEEDBCDF-3FAC-4c93-AC0D-47941EC72C0B}', '{AEE16DFA-2C14-4a2f-AD3F-A3034031784F}', '{D66920C4-C21F-4ec8-A0B4-95CF2BD57FC4}', '{5BDB5A0E-979E-47d3-9596-73B386392A55}', '{D8722C69-2419-4b36-B4E0-6E17B60564E5}', '{3DF678D9-1352-4186-BBF8-74F0C19B6AE2}', '{254E8A96-2612-405c-8039-F0BF725CED7D}', '{A2E300B4-C2D4-4fc0-B5DD-ECBD948DC0DF}', '{BBC75500-33D2-4466-B86B-122B201CC9AE}', '{29B00C2B-09A9-48bd-AD09-CDAE117D1DA7}', '{74D01102-E71A-4820-8F0D-13D2EC1E4872}', '{C8C2985F-E5D9-4538-9E23-9B21BF78F745}', '{931D1BEE-617A-4bcd-9905-CCD0786683EE}', '{9227C692-AE62-4f72-A7EA-736062D0E21E}', '{EC298949-639B-45e2-96FD-4AB32D5919C2}', '{7EA3126D-E1BA-4716-89AF-F65CEE0C0C67}', '{7E4CAB5C-35DC-45bb-A7C0-19B28070D0CC}', '{60907F9F-B352-47e5-B210-0EF1F47E9F9D}', '{5EE06BE5-492B-480a-8A8F-12F373ECF9D4}', '{09BB5BC4-3176-457f-8DD6-3CD919123E2D}', '{1FC81930-61F2-436f-9D33-349F2A1C0F10}', '{407B9450-8BDC-4ee5-88B8-6F527BD941F2}', '{8C45B4C7-4AEB-4f78-A5EC-88420B9DADEF}', '{6E2A6955-81DF-4943-BA50-68A986A708F6}', '{3510A862-5850-4886-835F-D78EC6A64042}', '{0F10D9D3-3B04-4fb0-A3D3-88D4AC854ACC}', '{048439BA-309C-440e-9CB4-3DCCA3756423}')

Author

Henri Gourvest: hgourvest@progdigy.com

Created

Mar 14, 2002

Last Modified

Oct 24, 2003


Progdigy DSPack Components v2.3.3: DSUtil: Class EDirectShowException

Class EDirectShowException

Unit

DSUtil

Declaration

type EDirectShowException = class(Exception)

Description

DirectShow Exception class

Fields

 | Name | Description
Public | ErrorCode |


Progdigy DSPack Components v2.3.3: DSUtil: Class EDSPackException

Class EDSPackException

Unit

DSUtil

Declaration

type EDSPackException = class(Exception)

Description

Fields

 | Name | Description
Public | ErrorCode |


Progdigy DSPack Components v2.3.3: DSUtil: Interface IDivXFilterInterface

Interface IDivXFilterInterface

Unit

DSUtil

Declaration

type IDivXFilterInterface = interface(IUnknown)

Description

Interface to control the Divx Decoder filter. TODO: discover the last function ...

Methods

Overview

Public | function get_AspectRatio(out x, y: integer): HRESULT; stdcall;
Public | function get_Brightness(out brightness: integer): HRESULT; stdcall;
Public | function get_Contrast(out contrast: integer): HRESULT; stdcall;
Public | function get_MaxDelayAllowed(out maxdelayallowed: integer): HRESULT; stdcall;
Public | function get_PPLevel(out PPLevel: integer): HRESULT; stdcall;
Public | function get_Saturation(out saturation: integer): HRESULT; stdcall;
Public | function put_AspectRatio(x, y: integer): HRESULT; stdcall;
Public | function put_Brightness(brightness: integer): HRESULT; stdcall;
Public | function put_Contrast(contrast: integer): HRESULT; stdcall;
Public | function put_DefaultPPLevel: HRESULT; stdcall;
Public | function put_MaxDelayAllowed(maxdelayallowed: integer): HRESULT; stdcall;
Public | function put_PPLevel(PPLevel: integer): HRESULT; stdcall;
Public | function put_Saturation(saturation: integer): HRESULT; stdcall;

Description

Public function get_AspectRatio(out x, y: integer): HRESULT; stdcall;

Public function get_Brightness(out brightness: integer): HRESULT; stdcall;

Public function get_Contrast(out contrast: integer): HRESULT; stdcall;

Public function get_MaxDelayAllowed(out maxdelayallowed: integer): HRESULT; stdcall;

Public function get_PPLevel(out PPLevel: integer): HRESULT; stdcall;

current postprocessing level 0..100

Public function get_Saturation(out saturation: integer): HRESULT; stdcall;

Public function put_AspectRatio(x, y: integer): HRESULT; stdcall;

Public function put_Brightness(brightness: integer): HRESULT; stdcall;

Public function put_Contrast(contrast: integer): HRESULT; stdcall;

Public function put_DefaultPPLevel: HRESULT; stdcall;

Put the default postprocessing = 0

Public function put_MaxDelayAllowed(maxdelayallowed: integer): HRESULT; stdcall;

DIVX

Public function put_PPLevel(PPLevel: integer): HRESULT; stdcall;

new postprocessing level 0..100

Public function put_Saturation(saturation: integer): HRESULT; stdcall;


Progdigy DSPack Components v2.3.3: DSUtil: Interface IDxDiagContainer

Interface IDxDiagContainer

Unit

DSUtil

Declaration

type IDxDiagContainer = interface(IUnknown)

Description

Methods

Overview

Public | function EnumChildContainerNames(dwIndex : dword; pwszContainer : PWideChar; cchContainer : DWord) : HResult; stdcall;
Public | function EnumPropNames(dwIndex : dword; pwszPropName : PWideChar; cchPropName : dword) : HResult; stdcall;
Public | function GetChildContainer(pwszContainer : PWideChar; Out ppInstance : IDxDiagContainer) : Hresult; stdcall;
Public | function GetNumberOfChildContainers(Out pdwCount : dword) : HResult; stdcall;
Public | function GetNumberOfProps(Out pdwCount : dword) : HResult; stdcall;
Public | function GetProp(pwszPropName : PWideChar; Out pvarProp : OleVariant) : HResult; stdcall;

Description

Public function EnumChildContainerNames(dwIndex : dword; pwszContainer : PWideChar; cchContainer : DWord) : HResult; stdcall;

Public function EnumPropNames(dwIndex : dword; pwszPropName : PWideChar; cchPropName : dword) : HResult; stdcall;

Public function GetChildContainer(pwszContainer : PWideChar; Out ppInstance : IDxDiagContainer) : Hresult; stdcall;

Public function GetNumberOfChildContainers(Out pdwCount : dword) : HResult; stdcall;

*** IDxDiagContainer methods *** //

Public function GetNumberOfProps(Out pdwCount : dword) : HResult; stdcall;

Public function GetProp(pwszPropName : PWideChar; Out pvarProp : OleVariant) : HResult; stdcall;


Progdigy DSPack Components v2.3.3: DSUtil: Interface IDxDiagProvider

Interface IDxDiagProvider

Unit

DSUtil

Declaration

type IDxDiagProvider = interface(IUnknown)

Description

Methods

Overview

Public | function GetRootContainer(Out ppInstance : IDxDiagContainer): HResult; stdcall;
Public | function Initialize(pParams : PDXDIAG_INIT_PARAMS): HResult; stdcall;

Description

Public function GetRootContainer(Out ppInstance : IDxDiagContainer): HResult; stdcall;

Public function Initialize(pParams : PDXDIAG_INIT_PARAMS): HResult; stdcall;

*** IDxDiagProvider methods *** //


Progdigy DSPack Components v2.3.3: DSUtil: Class TBaseFilter

Class TBaseFilter

Unit

DSUtil

Declaration

type TBaseFilter = class(TPersistentMemory)

Description

This class can store a custom filter as a moniker within the dfm file.

Hierarchy

TPersistentMemory

Methods

Overview

Public | function CreateFilter: IBaseFilter;
Public | function PropertyBag(Name: WideString): OleVariant;

Description

Public function CreateFilter: IBaseFilter;

Return the IBaseFilter interface corresponding to filter.

Public function PropertyBag(Name: WideString): OleVariant;

Read a property bag. For example you can read the GUID identifier (PropertyBag('CLSID'))

Properties

Overview

Public property Moniker: IMoniker;

Description

Public property Moniker: IMoniker;

Set or retrieve the moniker interface.


Progdigy DSPack Components v2.3.3: DSUtil: Class TEnumMediaType

Class TEnumMediaType

Unit

DSUtil

Declaration

type TEnumMediaType = class(TObject)

Description

This class can retrieve all media types from a pin, a file or an IEnumMediaTypes interface.

Methods

Overview

Public | constructor Create; overload;
Public | constructor Create(EnumMT: IEnumMediaTypes); overload;
Public | constructor Create(FileName: TFileName); overload;
Public | constructor Create(Pin: IPin); overload;
Public | destructor Destroy; override;
Public | function Add(Item: TMediaType): Integer;
Public | procedure Assign(FileName: TFileName); overload;
Public | procedure Assign(Pin: IPin); overload;
Public | procedure Assign(EnumMT: IEnumMediaTypes); overload;
Public | procedure Clear;
Public | procedure Delete(Index: Integer);

Description

Public constructor Create; overload;

Constructor method.

Public constructor Create(EnumMT: IEnumMediaTypes); overload;

Constructor method enumerating media types provided by a IEnumMediaType interface.

Public constructor Create(FileName: TFileName); overload;

Constructor method enumerating all media types availables in a media file. Support WMF files.

Public constructor Create(Pin: IPin); overload;

Constructor method enumerating all media types on a pin.

Public destructor Destroy; override;

Destructor method.

Public function Add(Item: TMediaType): Integer;

Add a media type to the list.

Public procedure Assign(FileName: TFileName); overload;

Enumerate all media types availables in a media file. Support WMF files.

Public procedure Assign(Pin: IPin); overload;

Enumerate all media types on a pin.

Public procedure Assign(EnumMT: IEnumMediaTypes); overload;

Enumerate media types provided by a IEnumMediaType interface.

Public procedure Clear;

Clear the list.

Public procedure Delete(Index: Integer);

Remove a media type from the list.

Properties

Overview

Public | property Count: integer;
Public | property Items[Index: Integer]: TMediaType;
Public | property MediaDescription[Index: Integer]: string;

Description

Public property Count: integer;

Number of items in the list.

Public property Items[Index: Integer]: TMediaType;

Retrieve a mediaa type.

Public property MediaDescription[Index: Integer]: string;

Return a string describing the media type.


Progdigy DSPack Components v2.3.3: DSUtil: Class TFilterList

Class TFilterList

Unit

DSUtil

Declaration

type TFilterList = class(TInterfaceList)

Description

This class can enumerate all filters in a FilterGraph.

Methods

Overview

Public | constructor Create(FilterGraph: IFilterGraph); overload;
Public | destructor Destroy; override;
Public | function Add(Item: IBaseFilter): Integer;
Public | procedure Assign(FilterGraph: IFilterGraph);
Public | function First: IBaseFilter;
Public | function IndexOf(Item: IBaseFilter): Integer;
Public | procedure Insert(Index: Integer; Item: IBaseFilter);
Public | function Last: IBaseFilter;
Public | function Remove(Item: IBaseFilter): Integer;
Public | procedure Update;

Description

Public constructor Create(FilterGraph: IFilterGraph); overload;

Create a list based on a FilterGraph.

Public destructor Destroy; override;

Destructor.

Public function Add(Item: IBaseFilter): Integer;

Call Add to add an interface to the list.

Public procedure Assign(FilterGraph: IFilterGraph);

Reload the list from another FilterGraph.

Public function First: IBaseFilter;

Call First to obtain the first interface in the list.

Public function IndexOf(Item: IBaseFilter): Integer;

Call IndexOf to obtain the index of an interface.

Public procedure Insert(Index: Integer; Item: IBaseFilter);

Call Insert to insert an interface into the list. Item is the interface to insert, and Index indicates the position (zero-offset) where the interface should be added.

Public function Last: IBaseFilter;

Call Last to obtain the last interface in the list.

Public function Remove(Item: IBaseFilter): Integer;

Call Remove to remove an interface from the list. Remove returns the index of the removed interface, or –1 if the interface was not found.

Public procedure Update;

Update the list.

Properties

Overview

Public | property FilterInfo[Index: Integer]: TFilterInfo;
Public | property Items[Index: Integer]: IBaseFilter;

Description

Public property FilterInfo[Index: Integer]: TFilterInfo;

call FilterInfo to retrieve the Filer name and his FilterGraph.

Public property Items[Index: Integer]: IBaseFilter;

Use Items to directly access an interface in the list. Index identifies each interface by its position in the list.


Progdigy DSPack Components v2.3.3: DSUtil: Class TMediaBuffer

Class TMediaBuffer

Unit

DSUtil

Declaration

type TMediaBuffer = class(TObject, IMediaBuffer, IUnKnown)

Description

milenko start DMO TMediaBuffer implementation

Methods

Overview

Public | constructor Create(MaxLen: DWORD);
Public | destructor Destroy; override;
Public | class function CreateBuffer(MaxLen: DWORD; const IID: TGUID; out Obj): HRESULT;
Public | function GetBufferAndLength(out ppBuffer: PByte; out pcbLength: DWORD ): HResult; stdcall;
Public | function GetMaxLength(out pcbMaxLength: DWORD): HResult; stdcall;
Public | function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Public | function SetLength(cbLength: DWORD): HResult; stdcall;
Public | function _AddRef: Integer; stdcall;
Public | function _Release: Integer; stdcall;

Description

Public constructor Create(MaxLen: DWORD);

Public destructor Destroy; override;

Public class function CreateBuffer(MaxLen: DWORD; const IID: TGUID; out Obj): HRESULT;

Public function GetBufferAndLength(out ppBuffer: PByte; out pcbLength: DWORD ): HResult; stdcall;

Public function GetMaxLength(out pcbMaxLength: DWORD): HResult; stdcall;

Public function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;

IUnknown

Public function SetLength(cbLength: DWORD): HResult; stdcall;

IMediaBuffer methods

Public function _AddRef: Integer; stdcall;

Public function _Release: Integer; stdcall;


Progdigy DSPack Components v2.3.3: DSUtil: Class TMediaType

Class TMediaType

Unit

DSUtil

Declaration

type TMediaType = class(TPersistent)

Description

Uses TMediaType to configure media types. This class have a special property editor. See TSampleGrabber

Fields

 | Name | Description
Public | AMMediaType | Local copy of the Media Type.

Methods

Overview

Public | constructor Create(mediatype: PAMMediaType); overload;
Public | constructor Create(majortype: TGUID); overload;
Public | constructor Create(MTClass: TMediaType); overload;
Public | constructor Create; overload;
Public | destructor Destroy; override;
Public | function AllocFormatBuffer(length: ULONG): pointer;
Public | procedure Assign(Source: TPersistent); override;
Public | function Equal(MTClass: TMediaType): boolean; overload;
Public | function Format: pointer;
Public | function FormatLength: ULONG;
Public | function GetSampleSize: ULONG;
Public | procedure InitMediaType;
Public | function IsFixedSize: boolean;
Public | function IsPartiallySpecified: boolean;
Public | function IsTemporalCompressed: boolean;
Public | function IsValid: boolean;
Public | function MatchesPartial(ppartial: TMediaType): boolean;
Public | function NotEqual(MTClass: TMediaType): boolean; overload;
Public | procedure Read(mediatype: PAMMediaType);
Public | function ReallocFormatBuffer(length: ULONG): pointer;
Public | procedure ResetFormatBuffer;
Public | function SetFormat(pFormat: pointer; length: ULONG): boolean;
Public | procedure SetSampleSize(SZ: ULONG);
Public | procedure SetTemporalCompression(bCompressed: boolean);
Public | procedure SetVariableSize;

Description

Public constructor Create(mediatype: PAMMediaType); overload;

Constructor method. Initialised with another media type.

Public constructor Create(majortype: TGUID); overload;

Constructor method. Initialised with majortype.

Public constructor Create(MTClass: TMediaType); overload;

Constructor method. Initialised with another TMediaType

Public constructor Create; overload;

Constructor method.

Public destructor Destroy; override;

Destructor method.

Public function AllocFormatBuffer(length: ULONG): pointer;

The AllocFormatBuffer method allocates memory for the format block.
length: Size required for the format block, in bytes.
Returns a pointer to the new block if successful. Otherwise, returns nil.
If the method successfully allocates a new format block, it frees the existing format block. If the allocation fails, the method leaves the existing format block.

Public procedure Assign(Source: TPersistent); override;

Copy from another TMediaType.

Public function Equal(MTClass: TMediaType): boolean; overload;

Tests for equality between TMediaType objects.
rt: Reference to the TMediaType object to compare.
Returns TRUE if rt is equal to this object. Otherwise, returns FALSE.

Public function Format: pointer;

read/write pointer to format - can't change length without calling SetFormat, AllocFormatBuffer or ReallocFormatBuffer

Public function FormatLength: ULONG;

The FormatLength method retrieves the length of the format block.

Public function GetSampleSize: ULONG;

The GetSampleSize method retrieves the sample size. If the sample size is fixed, returns the sample size in bytes. Otherwise, returns zero.

Public procedure InitMediaType;

The InitMediaType method initializes the media type. This method zeroes the object's memory, sets the fixed-sample-size property to TRUE, and sets the sample size to 1.

Public function IsFixedSize: boolean;

The IsFixedSize method determines if the samples have a fixed size or a variable size. Returns the value of the bFixedSizeSamples member.

Public function IsPartiallySpecified: boolean;

The IsPartiallySpecified method determines if the media type is partially defined. A media type is partial if the major type, subtype, or format type is GUID_NULL. The IPin.Connect method can accept partial media types. The implementation does not actually test the subtype. If there is a specified format type, the media type is not considered partial, even if the subtype is GUID_NULL.

Public function IsTemporalCompressed: boolean;

The IsTemporalCompressed method determines if the stream uses temporal compression. Returns the value of the bTemporalCompression member.

Public function IsValid: boolean;

The IsValid method determines whether a major type has been assigned to this object. Returns TRUE if a major type has been assigned to this object. Otherwise, returns FALSE. By default, TMediaType objects are initialized with a major type of GUID_NULL. Call this method to determine whether the object has been correctly initialized.

Public function MatchesPartial(ppartial: TMediaType): boolean;

The MatchesPartial method determines if this media type matches a partially specified media type. The media type specified by ppartial can have a value of GUID_NULL for the major type, subtype, or format type. Any members with GUID_NULL values are not tested. (In effect, GUID_NULL acts as a wildcard.) Members with values other than GUID_NULL must match for the media type to match.

Public function NotEqual(MTClass: TMediaType): boolean; overload;

Tests for inequality between TMediaType objects.
rt: Reference to the TMediaType object to compare.
Returns TRUE if rt is not equal to this object. Otherwise, returns FALSE.

Public procedure Read(mediatype: PAMMediaType);

Copy from another PAM_MEDIA_TYPE.

Public function ReallocFormatBuffer(length: ULONG): pointer;

The ReallocFormatBuffer method reallocates the format block to a new size.
length: New size required for the format block, in bytes. Must be greater than zero.
Returns a pointer to the new block if successful. Otherwise, returns either a pointer to the old format block, or nil. This method allocates a new format block. It copies as much of the existing format block as possible into the new format block. If the new block is smaller than the existing block, the existing format block is truncated. If the new block is larger, the contents of the additional space are undefined. They are not explicitly set to zero.

Public procedure ResetFormatBuffer;

The ResetFormatBuffer method deletes the format block.

Public function SetFormat(pFormat: pointer; length: ULONG): boolean;

The SetFormat method specifies the format block.
pFormat: Pointer to a block of memory that contains the format block.
length: Length of the format block, in bytes.

Public procedure SetSampleSize(SZ: ULONG);

The SetSampleSize method specifies a fixed sample size, or specifies that samples have a variable size. If value of sz is zero, the media type uses variable sample sizes. Otherwise, the sample size is fixed at sz bytes.

Public procedure SetTemporalCompression(bCompressed: boolean);

The SetTemporalCompression method specifies whether samples are compressed using temporal (interframe) compression.

Public procedure SetVariableSize;

The SetVariableSize method specifies that samples do not have a fixed size. This method sets the bFixedSizeSamples member to FALSE. Subsequent calls to the TMediaType.GetSampleSize method return zero.

Properties

Overview

Public | property FormatType: TGUID;
Public | property MajorType: TGUID;
Public | property SubType: TGUID;

Description

Public property FormatType: TGUID;

Set or retrieve the FormatType GUID.

Public property MajorType: TGUID;

Set or retrieve the MajorType GUID.

Public property SubType: TGUID;

Set or retrieve the SubType GUID.


Progdigy DSPack Components v2.3.3: DSUtil: Class TPersistentMemory

Class TPersistentMemory

Unit

DSUtil

Declaration

type TPersistentMemory = class(TPersistent)

Description

For internal use. This class is designed to store a custom memory stream with a form. It is the ancestor of TBaseFilter.

Methods

Overview

Public | constructor Create; virtual;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;

Description

Public constructor Create; virtual;

Constructor

Public destructor Destroy; override;

Destructor

Public procedure Assign(Source: TPersistent); override;

Call Assign to copy the properties or other attributes of one object from another.

Properties

Overview

Public | property Data: Pointer;
Public | property DataLength: Cardinal;

Description

Public property Data: Pointer;

Pointer to buffer.

Public property DataLength: Cardinal;

Set/Get the buffer length.


Progdigy DSPack Components v2.3.3: DSUtil: Class TPinList

Class TPinList

Unit

DSUtil

Declaration

type TPinList = class(TInterfaceList)

Description

Helper class to enumerate pins on a filter.

Methods

Overview

Public | constructor Create(BaseFilter: IBaseFilter); overload;
Public | destructor Destroy; override;
Public | function Add(Item: IPin): Integer;
Public | procedure Assign(BaseFilter: IBaseFilter);
Public | function First: IPin;
Public | function IndexOf(Item: IPin): Integer;
Public | procedure Insert(Index: Integer; Item: IPin);
Public | function Last: IPin;
Public | function Remove(Item: IPin): Integer;
Public | procedure Update;

Description

Public constructor Create(BaseFilter: IBaseFilter); overload;

Create a Pin list from the IBaseFilter interface.

Public destructor Destroy; override;

Destructor.

Public function Add(Item: IPin): Integer;

Add A Pin to the list.

Public procedure Assign(BaseFilter: IBaseFilter);

Load a Pin list from the IBaseFilter Interface.

Public function First: IPin;

Return the First Pin from in the list.

Public function IndexOf(Item: IPin): Integer;

Return the index of Pin in the list.

Public procedure Insert(Index: Integer; Item: IPin);

Insert a pin at the given position.

Public function Last: IPin;

Return the last pin in the list.

Public function Remove(Item: IPin): Integer;

Remove a pin from the lis.

Public procedure Update;

Update the Pin list.

Properties

Overview

Public | property Connected[Index: Integer]: boolean;
Public | property Items[Index: Integer]: IPin;
Public | property PinInfo[Index: Integer]: TPinInfo;

Description

Public property Connected[Index: Integer]: boolean;

Public property Items[Index: Integer]: IPin;

Return the the pin interface at the defined position.

Public property PinInfo[Index: Integer]: TPinInfo;

Retrieve informations on a pin.


Progdigy DSPack Components v2.3.3: DSUtil: Class TSysDevEnum

Class TSysDevEnum

Unit

DSUtil

Declaration

type TSysDevEnum = class

Description

Usefull class to enumerate availables filters. See "Filter Enumerator" sample.

Methods

Overview

Public | constructor Create; overload;
Public | constructor Create(guid: TGUID); overload;
Public | destructor Destroy; override;
Public | function FilterIndexOfFriendlyName(const FriendlyName: string): Integer;
Public | function GetBaseFilter(GUID: TGUID): IBaseFilter; overload;
Public | function GetBaseFilter(index: integer): IBaseFilter; overload;
Public | function GetMoniker(index: integer): IMoniker;
Public | procedure SelectGUIDCategory(GUID: TGUID);
Public | procedure SelectIndexCategory(index: integer);

Description

Public constructor Create; overload;

constructor

Public constructor Create(guid: TGUID); overload;

constructor. Create the class and initialize the main category with the GUID.

Public destructor Destroy; override;

destructor

Public function FilterIndexOfFriendlyName(const FriendlyName: string): Integer;

Find filter index by FriendlyName; -1, if not found

Public function GetBaseFilter(GUID: TGUID): IBaseFilter; overload;

Call GetBaseFilter to retrieve the IBaseFilter interface corresponding to GUID.

Public function GetBaseFilter(index: integer): IBaseFilter; overload;

Call GetBaseFilter to retrieve the IBaseFilter interface corresponding to index.

Public function GetMoniker(index: integer): IMoniker;

Call GetMoniker to retrieve the IMoniker interface corresponding to index. This interface can be used to store a filter with the TBaseFiter class.

Public procedure SelectGUIDCategory(GUID: TGUID);

Select the main category by GUID. For example CLSID_VideoCompressorCategory to enumerate Video Compressors.

Public procedure SelectIndexCategory(index: integer);

Select the main category by Index.

Properties

Overview

Public | property Categories[item: integer]: TFilCatNode;
Public | property CountCategories: integer;
Public | property CountFilters: integer;
Public | property Filters[item: integer]: TFilCatNode;

Description

Public property Categories[item: integer]: TFilCatNode;

Call Categories to read Category Name and GUID.

Public property CountCategories: integer;

Call CountCategories to retrieve categories count.

Public property CountFilters: integer;

Call CountFilters to retrieve the number of Filte within a Category.

Public property Filters[item: integer]: TFilCatNode;

Call Filters to read Filter Name and GUID.


Progdigy DSPack Components v2.3.3: All Classes, Interfaces and Objects

All Classes, Interfaces and Objects

Name | Unit | Description
EDirectShowException | DSUtil | DirectShow Exception class
EDSPackException | DSUtil |
IDivXFilterInterface | DSUtil | Interface to control the Divx Decoder filter. TODO: discover the last function ...
IDxDiagContainer | DSUtil |
IDxDiagProvider | DSUtil |
TAbstractAllocator | DSPack | *****************************************************************************
TASFWriter | DSPack | This component is designed to create a ASF file or to stream over a network.
TBaseFilter | DSUtil | This class can store a custom filter as a moniker within the dfm file.
TColorControl | DSPack | Set and Get ColorControls from DSVideoWindowEx's OverlayMixer. This is Hardware based so your graphic card has to support it. Check DSVideoWindowEx's Capabilities if your card support a given colorcontrol.
TDSTrackBar | DSPack | This control implement a seek bar for a media-player application. The seek bar is implemented as a TTrackbar control.
TDSVideoWindowEx2 | DSPack | A alternative to the regular Video Renderer (TVideoWindow), that give a easy way to overlay graphics onto your video in your application.
TDSVideoWindowEx2Caps | DSPack | Check capability of DSVideoWindowEx.
TEnumMediaType | DSUtil | This class can retrieve all media types from a pin, a file or an IEnumMediaTypes interface.
TFilter | DSPack | This component is an easy way to add a specific filter to a filter graph. You can retrieve an interface using the as operator whith D6 :)
TFilterGraph | DSPack | This component is the central component in DirectShow, the Filter Graph handle synchronization, event notification, and other aspects of the controlling the filter graph.
TFilterList | DSUtil | This class can enumerate all filters in a FilterGraph.
TMediaBuffer | DSUtil | milenko start DMO TMediaBuffer implementation
TMediaType | DSUtil | Uses TMediaType to configure media types. This class have a special property editor. See TSampleGrabber
TPersistentMemory | DSUtil | For internal use. This class is designed to store a custom memory stream with a form. It is the ancestor of TBaseFilter.
TPinList | DSUtil | Helper class to enumerate pins on a filter.
TSampleGrabber | DSPack | This class is designed make a snapshoot of Video or Audio Datas. WARNING: There is know problems with some DIVX movies, so use RGB32 Media Type instead of RBG24.
TSysDevEnum | DSUtil | Usefull class to enumerate availables filters. See "Filter Enumerator" sample.
TVideoWindow | DSPack | Manage a Video Renderer or a Video Mixer Renderer (VMR) Filter to display a video in your application.
TVMRBitmap | DSPack |
TVMROptions | DSPack | Video Mixer Renderer property editor.


Progdigy DSPack Components v2.3.3: Class Hierarchy

Class Hierarchy

  • Exception
    • EDirectShowException
    • EDSPackException
  • IUnknown
    • IDivXFilterInterface
    • IDxDiagContainer
    • IDxDiagProvider
  • TComponent
    • TASFWriter
    • TFilter
    • TFilterGraph
    • TSampleGrabber
  • TCustomControl
    • TDSVideoWindowEx2
    • TVideoWindow
  • TInterfacedObject
    • TAbstractAllocator
  • TInterfaceList
    • TFilterList
    • TPinList
  • TObject
    • TEnumMediaType
    • TMediaBuffer
    • TSysDevEnum
    • TVMRBitmap
  • TPersistent
    • TColorControl
    • TDSVideoWindowEx2Caps
    • TMediaType
    • TPersistentMemory
      • TBaseFilter
    • TVMROptions
  • TTrackBar
    • TDSTrackBar


Progdigy DSPack Components v2.3.3: All Types

All Types

Name | Unit | Description
DWORDLONG DSUtil
DXDIAG_INIT_PARAMS DSUtil
PDXDIAG_INIT_PARAMS | DSUtil | *************************************************************************** * * DxDiag Structures * ***************************************************************************
PVMRPreferences | DSPack | Pointer to TVMRPreferences.
TAbstractAllocatorClass DSPack
TDxDiagInitParams DSUtil
TOnCreatedFilter DSPack
TOnDSEvent DSPack
TOnSelectedFilter DSPack
TOnUnableToRender DSPack
TSeekingCaps | DSPack | Specifies the seeking capabilities of a media stream.
TVMRBitmapOptions DSPack
TVMRPreferences | DSPack | Set of TVMRPreference.
TVMRRenderDevice | DSPack | Render device returned by then OnGraphVMRRenderDevice event.
TVORBISFORMAT | DSUtil | Ogg Vorbis
ULONGLONG | DSUtil | Should be unsigned Int64 !!!


Progdigy DSPack Components v2.3.3: All Enumerations

All Enumerations

Name | Unit | Description
TControlEvent | DSPack | WARNING: @exclude
TFilterOperation | DSPack | WARNING: @exclude
TGraphMode | DSPack | Graph Mode to use with TFilterGraph.
TGraphState | DSPack | WARNING: @exclude
TPropertyPage | DSUtil | Property pages. See also: ShowFilterPropertyPage, HaveFilterPropertyPage.
TRatioModes | DSPack | WARNING: @exclude
TSeekingCap | DSPack | Specifies the seeking capabilities of a media stream.
TVideoMode | DSPack | Video mode to use with TVideoWindow.
TVMRBitmapOption | DSPack | vmrbDisable: Disable the alpha bitmap. vmrbSrcColorKey: Enable ColorKey. vmrbSrcRect: Indicates that the Dest property is valid and specifies a sub-rectangle of the original image to be blended.
TVMRPreference | DSPack | Video Mixer Render Preferences: vpForceOffscreen: Indicates that the VMR should use only offscreen surfaces for rendering. vpForceOverlays: Indicates that the VMR should fail if no overlay surfaces are available. vpForceMixer: Indicates that the VMR must use Mixer when the number of streams is 1. vpDoNotRenderColorKeyAndBorder: Indicates that the application is responsible for painting the color keys. vpRestrictToInitialMonitor: Indicates that the VMR should output only to the initial monitor. vpPreferAGPMemWhenMixing: Indicates that the VMR should attempt to use AGP memory when allocating texture surfaces.
TVMRVideoMode | DSPack | See VRMOptions.
TWMPofiles8 | DSUtil | WMF9 Utils


Progdigy DSPack Components v2.3.3: All Variables

All Variables

None


Progdigy DSPack Components v2.3.3: All Constants

All Constants

Name | Unit | Description
ADVISE_CACHE | DSUtil | High resolution timer
bits555 | DSUtil |
bits565 | DSUtil |
bits888 | DSUtil |
CLSID_div3 | DSUtil | div3
CLSID_DIV3_ | DSUtil | DIV3
CLSID_div4 | DSUtil | div4
CLSID_DIV4_ | DSUtil | DIV4
CLSID_div5 | DSUtil | div5
CLSID_DIV5_ | DSUtil | DIV5
CLSID_div6 | DSUtil | div6
CLSID_DIV6_ | DSUtil | DIV6
CLSID_DIVX | DSUtil | divx
CLSID_DIVXCodec | DSUtil |
CLSID_DivXPropertiesPage | DSUtil |
CLSID_DivX_ | DSUtil | dvx1
CLSID_DivX_U | DSUtil | DIVX
CLSID_DivX__U | DSUtil | DVX1
CLSID_dx50 | DSUtil | dx50
CLSID_DX50_ | DSUtil | DX50
CLSID_DxDiagProvider | DSUtil | *************************************************************************** * * DxDiag CLSIDs * ***************************************************************************
CLSID_OggDSAboutPage | DSUtil | 77983549-ffda-4a88-b48f-b924e8d1f01c
CLSID_OggMux | DSUtil | 8cae96b7-85b1-4605-b23c-17ff5262b296
CLSID_OggMuxPropPage | DSUtil | {AB97AFC3-D08E-4e2d-98E0-AEE6D4634BA4}
CLSID_OggSplitPropPage | DSUtil | {078C3DAA-9E58-4d42-9E1C-7C8EE79539C5}
CLSID_OggSplitter | DSUtil | f07e245f-5a1f-4d1e-8bff-dc31d84a55ab
CLSID_VorbisDec | DSUtil | 02391f44-2767-4e6a-a484-9b47b506f3a4
CLSID_VorbisEnc | DSUtil | {889EF574-0656-4B52-9091-072E52BB1B80}
CLSID_VorbisEncPropPage | DSUtil | {c5379125-fd36-4277-a7cd-fab469ef3a2f}
DXDIAG_DX9_SDK_VERSION | DSUtil | (The number itself has no meaning.)
DXDIAG_E_INSUFFICIENT_BUFFER | DSUtil | *************************************************************************** * * DxDiag Errors * ***************************************************************************
FORMAT_VorbisFormat | DSUtil | 6bddfa7e-9f22-46a9-ab5e-884eff294d9f
IID_IDirectDrawKernel | DSUtil | milenko start namedguid implementation
IID_IDirectDrawSurfaceKernel | DSUtil |
IID_IDxDiagContainer | DSUtil |
IID_IDxDiagProvider | DSUtil | *************************************************************************** * * DxDiag Interface IIDs * ***************************************************************************
IID_IIDivXFilterInterface | DSUtil |
IID_IMoniker | DSUtil |
IID_IPersistStream | DSUtil |
IID_IPropertyBag | DSUtil | ------------------------------------------------------------------------------
IID_ISpecifyPropertyPages | DSUtil |
MAX_TIME | DSUtil |
MEDIASUBTYPE_DIVX | DSUtil | DIVX
MEDIASUBTYPE_MP42 | DSUtil | MS Mepg4 DMO
MEDIASUBTYPE_Ogg | DSUtil | {D2855FA9-61A7-4db0-B979-71F297C17A04}
MEDIASUBTYPE_Vorbis | DSUtil | cddca2d5-6d75-4f98-840e-737bedd5c63b
MEDIASUBTYPE_VOXWARE | DSUtil | VoxWare MetaSound
MiliSecPerDay | DSUtil |
MILLISECONDS | DSUtil | Default cache size
NANOSECONDS | DSUtil | 10 ^ 3
rdOverlay | DSPack |
rdSysMem | DSPack |
rdVidMem | DSPack |
RESOLUTION | DSUtil | milenko start wxutil implementation
TimeZero | DSUtil | 10 ^ 7
UNITS | DSUtil | 10 ^ 9
WMProfiles8 | DSUtil |
WM_CAPTURE_BITMAP | DSPack | Sample Grabber message identifier.
WM_GRAPHNOTIFY | DSPack | Filter Graph message identifier.


Progdigy DSPack Components v2.3.3: All Functions and Procedures

All Functions and Procedures

Name | Unit | Description
AddGraphToRot DSUtil Enable Graphedit to connect with a filter graph.
The application must register the filter graph instance in the Running Object Table (ROT). The ROT is a globally accessible look-up table that keeps track of running objects. Objects are registered in the ROT by moniker. To connect to the graph, GraphEdit searches the ROT for monikers whose display name matches a particular format: !FilterGraph X pid Y.
Graph: a graph interface (IGraphBuilder, IFilterGraph, IFilterGraph2).
ID: return the ROT identifier.
AmGetLastErrorToHResult DSUtil
CanFrameStep DSUtil
CheckDSError | DSUtil | raise EDirectShowException exception if failed.
CopyMediaType | DSUtil | The CopyMediaType function copies an AM_MEDIA_TYPE structure into another structure, including the format block. This function allocates the memory for the format block. If the pmtTarget parameter already contains an allocated format block, a memory leak will occur. To avoid a memory leak, call FreeMediaType before calling this function.
CopyScreenToBitmap DSUtil
CountFilterPins DSUtil
CountTotalFilterPins DSUtil
CreateAudioMediaType | DSUtil | The CreateAudioMediaType function initializes a media type from a TWAVEFORMATEX structure. If the bSetFormat parameter is TRUE, the method allocates the memory for the format block. If the pmt parameter already contains an allocated format block, a memory leak will occur. To avoid a memory leak, call FreeMediaType before calling this function. After the method returns, call FreeMediaType again to free the format block.
CreateMediaType | DSUtil | The CreateMediaType function allocates a new AM_MEDIA_TYPE structure, including the format block. This also comes in useful when using the IEnumMediaTypes interface so that you can copy a media type, you can do nearly the same by creating a TMediaType class but as soon as it goes out of scope the destructor will delete the memory it allocated (this takes a copy of the memory).
DeleteMediaType | DSUtil | General purpose function to delete a heap allocated TAM_MEDIA_TYPE structure which is useful when calling IEnumMediaTypes.Next as the interface implementation allocates the structures which you must later delete the format block may also be a pointer to an interface to release.
FCC | DSUtil | Convert a FCC (Four Char Codes) to Cardinal. A FCC identifie a media type.
FindAudioRenderer DSUtil
FindOtherSplitterPin DSUtil
FindRenderer | DSUtil | milenko start (added functions from dshowutil.cpp)
FindVideoRenderer DSUtil
FOURCCMap | DSUtil | The FOURCCMap function provides conversion between GUID media subtypes and old-style FOURCC 32-bit media tags. In the original Microsoft® Windows® multimedia APIs, media types were tagged with 32-bit values created from four 8-bit characters and were known as FOURCCs. Microsoft DirectShow® media types have GUIDs for the subtype, partly because these are simpler to create (creation of a new FOURCC requires its registration with Microsoft). Because FOURCCs are unique, a one-to-one mapping has been made possible by allocating a range of 4,000 million GUIDs representing FOURCCs. This range is all GUIDs of the form: XXXXXXXX-0000-0010-8000-00AA00389B71.
FreeAndNil | DSUtil | Frees an object reference and replaces the reference with Nil. (Delphi4 compatibility)
FreeMediaType | DSUtil | The FreeMediaType function frees the format block in an AM_MEDIA_TYPE structure. Use this function to free just the format block. To delete the AM_MEDIA_TYPE structure, call DeleteMediaType.
Get8087CW DSUtil
GetBasicAudioPan DSUtil
GetBasicAudioVolume | DSUtil | milenko start (usefull functions to get linear amplification)
GetBitmapFormatSize | DSUtil | The mechanism for describing a bitmap format is with the BITMAPINFOHEADER This is really messy to deal with because it invariably has fields that follow it holding bit fields, palettes and the rest. This function gives the number of bytes required to hold a VIDEOINFO that represents it. This count includes the prefix information (like the rcSource rectangle) the BITMAPINFOHEADER field, and any other colour information on the end. WARNING If you want to copy a BITMAPINFOHEADER into a VIDEOINFO always make sure that you use the HEADER macro because the BITMAPINFOHEADER field isn't right at the start of the VIDEOINFO (there are a number of other fields), CopyMemory(HEADER(pVideoInfo),pbmi,sizeof(BITMAPINFOHEADER));
GetBitmapSize | DSUtil | Retrieve the Size needed to store a bitmat
GetBitmapSubtype DSUtil
GetDXSDKMediaPath DSUtil
GetDXVersion | DSUtil | Added by Michael. Used to Detect installed DirectX Version. (Source from getdxver.cpp)
GetErrorString | DSUtil | The GetErrorString function retrieves the error message for a given return code, using the current language setting.
GetEventCodeDef | DSUtil | Return a string explaining a filter graph event.
GetFileDurationString DSUtil
GetFOURCC | DSUtil | Find the four-character codes wich identifi a codec.
GetGUIDString DSUtil
GetInPin DSUtil
GetMediaTypeDescription | DSUtil | This function examine a media type and return a short description like GraphEdit.
GetOutPin DSUtil
GetPin DSUtil
GetSourceRectFromMediaType | DSUtil | Retrieve original source rectangle from a TAM_Media_type record.
GetTrueColorType DSUtil
HaveFilterPropertyPage | DSUtil | Return true if the specified property page is provided by the Filter.
Int32x32To64 DSUtil
Int64x32Div32 DSUtil
IntToTimeCode | DSUtil | deprecated, convert a Time code event to TDVD_TimeCode record.
IsEqualObject DSUtil
llMulDiv DSUtil
LoadGraphFile DSUtil
MAKEFOURCC | DSUtil | Create the four-character codes from a Cardinal value.
MiliSecToRefTime | DSUtil | Convert milisecondes to 100 nano sec unit
MILLISECONDS_TO_100NS_UNITS DSUtil
ProfileFromGUID DSUtil
RefTimeToMiliSec | DSUtil | Convert 100 nano sec unit to milisecondes.
RemoveGraphFromRot DSUtil Disable Graphedit to connect with your filter graph.
ID: identifier provided by the AddGraphToRot method.
SaveGraphFile DSUtil
SeekNextFrame DSUtil
Set8087CW | DSUtil | milenko end
SetBasicAudioPan DSUtil
SetBasicAudioVolume DSUtil
ShowFilenameByCLSID DSUtil
ShowFilterPropertyPage | DSUtil | Show the property page associated with the Filter. A property page is one way for a filter to support properties that the user can set. Many of the filters provided with DirectShow support property pages, they are intended for debugging purposes, and are not recommended for application use. In most cases the equivalent functionality is provided through a custom interface on the filter. An application should control these filters programatically, rather than expose their property pages to users.
ShowPinPropertyPage DSUtil Show the property page associated with the Pin.
See also: ShowFilterPropertyPage.
StretchRect | DSUtil | TODO -oMichael Andersen: make documentation
UInt32x32To64 | DSUtil | Should be unsigned Int64 !!!


Progdigy DSPack Components v2.3.3: All Identifiers

All Identifiers

Name | Unit | Description
AddGraphToRot DSUtil Enable Graphedit to connect with a filter graph.
The application must register the filter graph instance in the Running Object Table (ROT). The ROT is a globally accessible look-up table that keeps track of running objects. Objects are registered in the ROT by moniker. To connect to the graph, GraphEdit searches the ROT for monikers whose display name matches a particular format: !FilterGraph X pid Y.
Graph: a graph interface (IGraphBuilder, IFilterGraph, IFilterGraph2).
ID: return the ROT identifier.
ADVISE_CACHE | DSUtil | High resolution timer
AmGetLastErrorToHResult DSUtil
bits555 DSUtil
bits565 DSUtil
bits888 DSUtil
CanFrameStep DSUtil
CheckDSError | DSUtil | raise EDirectShowException exception if failed.
CLSID_div3 | DSUtil | div3
CLSID_DIV3_ | DSUtil | DIV3
CLSID_div4 | DSUtil | div4
CLSID_DIV4_ | DSUtil | DIV4
CLSID_div5 | DSUtil | div5
CLSID_DIV5_ | DSUtil | DIV5
CLSID_div6 | DSUtil | div6
CLSID_DIV6_ | DSUtil | DIV6
CLSID_DIVX | DSUtil | divx
CLSID_DIVXCodec DSUtil
CLSID_DivXPropertiesPage DSUtil
CLSID_DivX_ | DSUtil | dvx1
CLSID_DivX_U | DSUtil | DIVX
CLSID_DivX__U | DSUtil | DVX1
CLSID_dx50 | DSUtil | dx50
CLSID_DX50_ | DSUtil | DX50
CLSID_DxDiagProvider | DSUtil | *************************************************************************** * * DxDiag CLSIDs * ***************************************************************************
CLSID_OggDSAboutPage | DSUtil | 77983549-ffda-4a88-b48f-b924e8d1f01c
CLSID_OggMux | DSUtil | 8cae96b7-85b1-4605-b23c-17ff5262b296
CLSID_OggMuxPropPage | DSUtil | {AB97AFC3-D08E-4e2d-98E0-AEE6D4634BA4}
CLSID_OggSplitPropPage | DSUtil | {078C3DAA-9E58-4d42-9E1C-7C8EE79539C5}
CLSID_OggSplitter | DSUtil | f07e245f-5a1f-4d1e-8bff-dc31d84a55ab
CLSID_VorbisDec | DSUtil | 02391f44-2767-4e6a-a484-9b47b506f3a4
CLSID_VorbisEnc | DSUtil | {889EF574-0656-4B52-9091-072E52BB1B80}
CLSID_VorbisEncPropPage | DSUtil | {c5379125-fd36-4277-a7cd-fab469ef3a2f}
CopyMediaType | DSUtil | The CopyMediaType function copies an AM_MEDIA_TYPE structure into another structure, including the format block. This function allocates the memory for the format block. If the pmtTarget parameter already contains an allocated format block, a memory leak will occur. To avoid a memory leak, call FreeMediaType before calling this function.
CopyScreenToBitmap DSUtil
CountFilterPins DSUtil
CountTotalFilterPins DSUtil
CreateAudioMediaType | DSUtil | The CreateAudioMediaType function initializes a media type from a TWAVEFORMATEX structure. If the bSetFormat parameter is TRUE, the method allocates the memory for the format block. If the pmt parameter already contains an allocated format block, a memory leak will occur. To avoid a memory leak, call FreeMediaType before calling this function. After the method returns, call FreeMediaType again to free the format block.
CreateMediaType | DSUtil | The CreateMediaType function allocates a new AM_MEDIA_TYPE structure, including the format block. This also comes in useful when using the IEnumMediaTypes interface so that you can copy a media type, you can do nearly the same by creating a TMediaType class but as soon as it goes out of scope the destructor will delete the memory it allocated (this takes a copy of the memory).
DeleteMediaType | DSUtil | General purpose function to delete a heap allocated TAM_MEDIA_TYPE structure which is useful when calling IEnumMediaTypes.Next as the interface implementation allocates the structures which you must later delete the format block may also be a pointer to an interface to release.
DWORDLONG DSUtil
DXDIAG_DX9_SDK_VERSION | DSUtil | (The number itself has no meaning.)
DXDIAG_E_INSUFFICIENT_BUFFER | DSUtil | *************************************************************************** * * DxDiag Errors * ***************************************************************************
DXDIAG_INIT_PARAMS DSUtil
EDirectShowException | DSUtil | DirectShow Exception class
EDSPackException DSUtil
FCC | DSUtil | Convert a FCC (Four Char Codes) to Cardinal. A FCC identifie a media type.
FindAudioRenderer DSUtil
FindOtherSplitterPin DSUtil
FindRenderer | DSUtil | milenko start (added functions from dshowutil.cpp)
FindVideoRenderer DSUtil
FORMAT_VorbisFormat | DSUtil | 6bddfa7e-9f22-46a9-ab5e-884eff294d9f
FOURCCMap | DSUtil | The FOURCCMap function provides conversion between GUID media subtypes and old-style FOURCC 32-bit media tags. In the original Microsoft® Windows® multimedia APIs, media types were tagged with 32-bit values created from four 8-bit characters and were known as FOURCCs. Microsoft DirectShow® media types have GUIDs for the subtype, partly because these are simpler to create (creation of a new FOURCC requires its registration with Microsoft). Because FOURCCs are unique, a one-to-one mapping has been made possible by allocating a range of 4,000 million GUIDs representing FOURCCs. This range is all GUIDs of the form: XXXXXXXX-0000-0010-8000-00AA00389B71.
FreeAndNil | DSUtil | Frees an object reference and replaces the reference with Nil. (Delphi4 compatibility)
FreeMediaType | DSUtil | The FreeMediaType function frees the format block in an AM_MEDIA_TYPE structure. Use this function to free just the format block. To delete the AM_MEDIA_TYPE structure, call DeleteMediaType.
Get8087CW DSUtil
GetBasicAudioPan DSUtil
GetBasicAudioVolume | DSUtil | milenko start (usefull functions to get linear amplification)
GetBitmapFormatSize | DSUtil | The mechanism for describing a bitmap format is with the BITMAPINFOHEADER This is really messy to deal with because it invariably has fields that follow it holding bit fields, palettes and the rest. This function gives the number of bytes required to hold a VIDEOINFO that represents it. This count includes the prefix information (like the rcSource rectangle) the BITMAPINFOHEADER field, and any other colour information on the end. WARNING If you want to copy a BITMAPINFOHEADER into a VIDEOINFO always make sure that you use the HEADER macro because the BITMAPINFOHEADER field isn't right at the start of the VIDEOINFO (there are a number of other fields), CopyMemory(HEADER(pVideoInfo),pbmi,sizeof(BITMAPINFOHEADER));
GetBitmapSize | DSUtil | Retrieve the Size needed to store a bitmat
GetBitmapSubtype DSUtil
GetDXSDKMediaPath DSUtil
GetDXVersion | DSUtil | Added by Michael. Used to Detect installed DirectX Version. (Source from getdxver.cpp)
GetErrorString | DSUtil | The GetErrorString function retrieves the error message for a given return code, using the current language setting.
GetEventCodeDef | DSUtil | Return a string explaining a filter graph event.
GetFileDurationString DSUtil
GetFOURCC | DSUtil | Find the four-character codes wich identifi a codec.
GetGUIDString DSUtil
GetInPin DSUtil
GetMediaTypeDescription | DSUtil | This function examine a media type and return a short description like GraphEdit.
GetOutPin DSUtil
GetPin DSUtil
GetSourceRectFromMediaType | DSUtil | Retrieve original source rectangle from a TAM_Media_type record.
GetTrueColorType DSUtil
HaveFilterPropertyPage | DSUtil | Return true if the specified property page is provided by the Filter.
IDivXFilterInterface | DSUtil | Interface to control the Divx Decoder filter. TODO: discover the last function ...
IDxDiagContainer DSUtil
IDxDiagProvider DSUtil
IID_IDirectDrawKernel | DSUtil | milenko start namedguid implementation
IID_IDirectDrawSurfaceKernel DSUtil
IID_IDxDiagContainer DSUtil
IID_IDxDiagProvider | DSUtil | *************************************************************************** * * DxDiag Interface IIDs * ***************************************************************************
IID_IIDivXFilterInterface DSUtil
IID_IMoniker DSUtil
IID_IPersistStream DSUtil
IID_IPropertyBag DSUtil ------------------------------------------------------------------------------
IID_ISpecifyPropertyPages DSUtil
Int32x32To64 DSUtil
Int64x32Div32 DSUtil
IntToTimeCode | DSUtil | deprecated, convert a Time code event to TDVD_TimeCode record.
IsEqualObject DSUtil
llMulDiv DSUtil
LoadGraphFile DSUtil
MAKEFOURCC | DSUtil | Create the four-character codes from a Cardinal value.
MAX_TIME DSUtil
MEDIASUBTYPE_DIVX | DSUtil | DIVX
MEDIASUBTYPE_MP42 | DSUtil | MS Mepg4 DMO
MEDIASUBTYPE_Ogg | DSUtil | {D2855FA9-61A7-4db0-B979-71F297C17A04}
MEDIASUBTYPE_Vorbis | DSUtil | cddca2d5-6d75-4f98-840e-737bedd5c63b
MEDIASUBTYPE_VOXWARE | DSUtil | VoxWare MetaSound
MiliSecPerDay DSUtil
MiliSecToRefTime | DSUtil | Convert milisecondes to 100 nano sec unit
MILLISECONDS | DSUtil | Default cache size
MILLISECONDS_TO_100NS_UNITS DSUtil
NANOSECONDS | DSUtil | 10 ^ 3
PDXDIAG_INIT_PARAMS | DSUtil | *************************************************************************** * * DxDiag Structures * ***************************************************************************
ProfileFromGUID DSUtil
PVMRPreferences | DSPack | Pointer to TVMRPreferences.
rdOverlay DSPack
rdSysMem DSPack
rdVidMem DSPack
RefTimeToMiliSec | DSUtil | Convert 100 nano sec unit to milisecondes.
RemoveGraphFromRot DSUtil Disable Graphedit to connect with your filter graph.
ID: identifier provided by the AddGraphToRot method.
RESOLUTION | DSUtil | milenko start wxutil implementation
SaveGraphFile DSUtil
SeekNextFrame DSUtil
Set8087CW | DSUtil | milenko end
SetBasicAudioPan DSUtil
SetBasicAudioVolume DSUtil
ShowFilenameByCLSID DSUtil
ShowFilterPropertyPage | DSUtil | Show the property page associated with the Filter. A property page is one way for a filter to support properties that the user can set. Many of the filters provided with DirectShow support property pages, they are intended for debugging purposes, and are not recommended for application use. In most cases the equivalent functionality is provided through a custom interface on the filter. An application should control these filters programatically, rather than expose their property pages to users.
ShowPinPropertyPage DSUtil Show the property page associated with the Pin.
See also: ShowFilterPropertyPage.
StretchRect | DSUtil | TODO -oMichael Andersen: make documentation
TAbstractAllocator DSPack *****************************************************************************
TAbstractAllocatorClass DSPack
TASFWriter | DSPack | This component is designed to create a ASF file or to stream over a network.
TBaseFilter | DSUtil | This class can store a custom filter as a moniker within the dfm file.
TColorControl | DSPack | Set and Get ColorControls from DSVideoWindowEx's OverlayMixer. This is Hardware based so your graphic card has to support it. Check DSVideoWindowEx's Capabilities if your card support a given colorcontrol.
TControlEvent | DSPack | WARNING: @exclude
TDSTrackBar | DSPack | This control implement a seek bar for a media-player application. The seek bar is implemented as a TTrackbar control.
TDSVideoWindowEx2 | DSPack | A alternative to the regular Video Renderer (TVideoWindow), that give a easy way to overlay graphics onto your video in your application.
TDSVideoWindowEx2Caps | DSPack | Check capability of DSVideoWindowEx.
TDxDiagInitParams DSUtil
TEnumMediaType | DSUtil | This class can retrieve all media types from a pin, a file or an IEnumMediaTypes interface.
TFilter | DSPack | This component is an easy way to add a specific filter to a filter graph. You can retrieve an interface using the as operator whith D6 :)
TFilterGraph | DSPack | This component is the central component in DirectShow, the Filter Graph handle synchronization, event notification, and other aspects of the controlling the filter graph.
TFilterList | DSUtil | This class can enumerate all filters in a FilterGraph.
TFilterOperation | DSPack | WARNING: @exclude
TGraphMode | DSPack | Graph Mode to use with TFilterGraph.
TGraphState | DSPack | WARNING: @exclude
TimeZero | DSUtil | 10 ^ 7
TMediaBuffer | DSUtil | milenko start DMO TMediaBuffer implementation
TMediaType | DSUtil | Uses TMediaType to configure media types. This class have a special property editor. See TSampleGrabber
TOnCreatedFilter DSPack
TOnDSEvent DSPack
TOnSelectedFilter DSPack
TOnUnableToRender DSPack
TPersistentMemory | DSUtil | For internal use. This class is designed to store a custom memory stream with a form. It is the ancestor of TBaseFilter.
TPinList | DSUtil | Helper class to enumerate pins on a filter.
TPropertyPage DSUtil Property pages.
See also: ShowFilterPropertyPage, HaveFilterPropertyPage.
TRatioModes | DSPack | WARNING: @exclude
TSampleGrabber | DSPack | This class is designed make a snapshoot of Video or Audio Datas. WARNING: There is know problems with some DIVX movies, so use RGB32 Media Type instead of RBG24.
TSeekingCap | DSPack | Specifies the seeking capabilities of a media stream.
TSeekingCaps | DSPack | Specifies the seeking capabilities of a media stream.
TSysDevEnum | DSUtil | Usefull class to enumerate availables filters. See "Filter Enumerator" sample.
TVideoMode | DSPack | Video mode to use with TVideoWindow.
TVideoWindow | DSPack | Manage a Video Renderer or a Video Mixer Renderer (VMR) Filter to display a video in your application.
TVMRBitmap DSPack
TVMRBitmapOption | DSPack | vmrbDisable: Disable the alpha bitmap. vmrbSrcColorKey: Enable ColorKey. vmrbSrcRect: Indicates that the Dest property is valid and specifies a sub-rectangle of the original image to be blended.
TVMRBitmapOptions DSPack
TVMROptions | DSPack | Video Mixer Renderer property editor.
TVMRPreference DSPack Video Mixer Render Preferences:
vpForceOffscreen: Indicates that the VMR should use only offscreen surfaces for rendering.
vpForceOverlays: Indicates that the VMR should fail if no overlay surfaces are available.
vpForceMixer: Indicates that the VMR must use Mixer when the number of streams is 1.
vpDoNotRenderColorKeyAndBorder: Indicates that the application is responsible for painting the color keys.
vpRestrictToInitialMonitor: Indicates that the VMR should output only to the initial monitor.
vpPreferAGPMemWhenMixing: Indicates that the VMR should attempt to use AGP memory when allocating texture surfaces.
TVMRPreferences | DSPack | Set of TVMRPreference.
TVMRRenderDevice | DSPack | Render device returned by then OnGraphVMRRenderDevice event.
TVMRVideoMode DSPack See VRMOptions.
TVORBISFORMAT | DSUtil | Ogg Vorbis
TWMPofiles8 | DSUtil | WMF9 Utils
UInt32x32To64 | DSUtil | Should be unsigned Int64 !!!
ULONGLONG | DSUtil | Should be unsigned Int64 !!!
UNITS | DSUtil | 10 ^ 9
UtilDeleteMediaType DSUtil
UtilFreeMediaType DSUtil
WMProfiles8 DSUtil
WM_CAPTURE_BITMAP | DSPack | Sample Grabber message identifier.
WM_GRAPHNOTIFY | DSPack | Filter Graph message identifier.