Code Search for Developers
 
 
  

ITrackInfo.h from guliverkli at Krugle


Show ITrackInfo.h syntax highlighted

#pragma once

typedef enum TrackType {
	TypeVideo		= 1,
	TypeAudio		= 2,
	TypeComplex		= 3,
	TypeLogo		= 0x10,
	TypeSubtitle	= 0x11,
	TypeControl		= 0x20
};

#pragma pack(push, 1)

struct TrackElement {
    WORD Size;				// Size of this structure
    BYTE Type;				// See TrackType
	BOOL FlagDefault;		// Set if the track is the default for its TrackType.
	BOOL FlagLacing;		// Set if the track may contain blocks using lacing.
	UINT MinCache;			// The minimum number of frames a player should be able to cache during playback.
	UINT MaxCache;			// The maximum cache size required to store referenced frames in and the current frame. 0 means no cache is needed.
	CHAR Language[4];		// Specifies the language of the track, in the ISO-639-2 form. (end with '\0')
};

struct TrackExtendedInfoVideo {
	WORD Size;				// Size of this structure
	BOOL Interlaced;		// Set if the video is interlaced.
	UINT PixelWidth;		// Width of the encoded video frames in pixels.
	UINT PixelHeight;		// Height of the encoded video frames in pixels.
	UINT DisplayWidth;		// Width of the video frames to display.
	UINT DisplayHeight;		// Height of the video frames to display.
	BYTE DisplayUnit;		// Type of the unit for DisplayWidth/Height (0: pixels, 1: centimeters, 2: inches).
	BYTE AspectRatioType;	// Specify the possible modifications to the aspect ratio (0: free resizing, 1: keep aspect ratio, 2: fixed).
};

struct TrackExtendedInfoAudio {
	WORD Size;						// Size of this structure
	FLOAT SamplingFreq;				// Sampling frequency in Hz.
	FLOAT OutputSamplingFrequency;	// Real output sampling frequency in Hz (used for SBR techniques).
	UINT Channels;					// Numbers of channels in the track.
	UINT BitDepth;					// Bits per sample, mostly used for PCM.
};

#pragma pack(pop)

[uuid("03E98D51-DDE7-43aa-B70C-42EF84A3A23D")]
interface ITrackInfo : public IUnknown
{
	STDMETHOD_(UINT, GetTrackCount) () = 0;

	// \param aTrackIdx the track index (from 0 to GetTrackCount()-1)
	STDMETHOD_(BOOL, GetTrackInfo) (UINT aTrackIdx, struct TrackElement* pStructureToFill) = 0;

	// Get an extended information struct relative to the track type
	STDMETHOD_(BOOL, GetTrackExtendedInfo) (UINT aTrackIdx, void* pStructureToFill) = 0;

	STDMETHOD_(BSTR, GetTrackCodecID) (UINT aTrackIdx) = 0;
	STDMETHOD_(BSTR, GetTrackName) (UINT aTrackIdx) = 0;
	STDMETHOD_(BSTR, GetTrackCodecName) (UINT aTrackIdx) = 0;
	STDMETHOD_(BSTR, GetTrackCodecInfoURL) (UINT aTrackIdx) = 0;
	STDMETHOD_(BSTR, GetTrackCodecDownloadURL) (UINT aTrackIdx) = 0;
};




See more files for this project here

guliverkli

Home of VobSub, Media Player Classic (MPC) and other misc utils.

Project homepage: http://sourceforge.net/projects/guliverkli
Programming language(s): C,C++,PHP
License: other

  avisynth/
    avisynth1.h
    avisynth25.h
  aviutl/
    filter.h
  detours/
    detours.h
  dsm/
    dsm.h
    dsm.txt
  qt/
    ADSP.h
    ADSPSecure.h
    AEDataModel.h
    AEObjects.h
    AEPackObject.h
    AERegistry.h
    AEUserTermTypes.h
    AGP.h
    AIFF.h
    ASDebugging.h
    ASRegistry.h
    ATA.h
    ATSLayoutTypes.h
    ATSTypes.h
    ATSUnicode.h
    AVComponents.h
    AVLTree.h
    Aliases.h
    Appearance.h
    AppleEvents.h
    AppleGuide.h
    AppleScript.h
    AppleTalk.h
    Balloons.h
    CFArray.h
    CFBag.h
    CFBase.h
    CFBundle.h
    CFCharacterSet.h
    CFData.h
    CFDate.h
    CFDictionary.h
    CFNumber.h
    CFPlugIn.h
    CFPreferences.h
    CFPropertyList.h
    CFSet.h
    CFString.h
    CFStringEncodingExt.h
    CFTimeZone.h
    CFURL.h
    CFURLAccess.h
    CMAcceleration.h
    CMApplication.h
    CMCalibrator.h
    CMComponent.h
    CMConversions.h
    CMICCProfile.h
    CMMComponent.h
    CMPRComponent.h
    CMScriptingPlugin.h
    CRMSerialDevices.h
    CTBUtilities.h
    CarbonEvents.h
    CardServices.h
    CodeFragments.h
    Collections.h
    ColorPicker.h
    ColorPickerComponents.h
    CommResources.h
    Components.h
    ConditionalMacros.h
    ConnectionTools.h
    Connections.h
    ControlDefinitions.h
    ControlStrip.h
    Controls.h
    CoreFoundation.h
    CryptoMessageSyntax.h
    CursorDevices.h
    DatabaseAccess.h
    DateTimeUtils.h
    Debugging.h
    DeskBus.h
    DeviceControl.h
    Devices.h
    Dialogs.h
    Dictionary.h
    DigitalSignature.h
    DiskInit.h
    Disks.h
    Displays.h
    Drag.h
  realmedia/
  unrar/
  virtualdub/
  winddk/
  IBitRateInfo.h
  IBufferInfo.h
  IChapterInfo.h
  IFilterVersion.h
  IKeyFrameInfo.h
  ITrackInfo.h
  moreuuids.h