|
|
/*
File: QTSMovie.h Contains: QuickTime Interfaces. Version: QuickTime 7.3 Copyright: (c) 2007 (c) 1990-2007 by Apple Inc., all rights reserved Bugs?: For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/
*/ #ifndef __QTSMOVIE__
#define __QTSMOVIE__
#ifndef __COMPONENTS__
#include <Components.h>
#endif
#ifndef __MOVIES__
#include <Movies.h>
#endif
#ifndef __QUICKTIMESTREAMING__
#include <QuickTimeStreaming.h>
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" { #endif
#if PRAGMA_IMPORT
#pragma import on
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
#endif
/* QuickTime is not available to 64-bit clients */
#if !__LP64__
enum { kQTSStreamMediaType = FOUR_CHAR_CODE('strm') };
struct QTSSampleDescription { long descSize; long dataFormat; long resvd1; /* set to 0*/ short resvd2; /* set to 0*/ short dataRefIndex; UInt32 version; UInt32 resvd3; /* set to 0*/ SInt32 flags; /* qt atoms follow:*/ /* long size, long type, some data*/ /* repeat as necessary*/ }; typedef struct QTSSampleDescription QTSSampleDescription; typedef QTSSampleDescription * QTSSampleDescriptionPtr; typedef QTSSampleDescriptionPtr * QTSSampleDescriptionHandle; enum { kQTSSampleDescriptionVersion1 = 1L };
enum { kQTSDefaultMediaTimeScale = 600L };
/* sample description flags*/ enum { kQTSSampleDescPassSampleDataAsHandleFlag = 0x00000001 };
/*============================================================================
Stream Media Handler ============================================================================*/ /*-----------------------------------------
Info Selectors -----------------------------------------*/ /* all indexes start at 1 */
enum { kQTSMediaPresentationInfo = FOUR_CHAR_CODE('pres'), /* QTSMediaPresentationParams* */ kQTSMediaNotificationInfo = FOUR_CHAR_CODE('noti'), /* QTSMediaNotificationParams* */ kQTSMediaTotalDataRateInfo = FOUR_CHAR_CODE('dtrt'), /* UInt32*, bits/sec */ kQTSMediaLostPercentInfo = FOUR_CHAR_CODE('lspc'), /* Fixed* */ kQTSMediaNumStreamsInfo = FOUR_CHAR_CODE('nstr'), /* UInt32* */ kQTSMediaIndSampleDescriptionInfo = FOUR_CHAR_CODE('isdc') /* QTSMediaIndSampleDescriptionParams* */ };
struct QTSMediaPresentationParams { QTSPresentation presentationID; }; typedef struct QTSMediaPresentationParams QTSMediaPresentationParams; struct QTSMediaNotificationParams { QTSNotificationUPP notificationProc; void * notificationRefCon; SInt32 flags; }; typedef struct QTSMediaNotificationParams QTSMediaNotificationParams; struct QTSMediaIndSampleDescriptionParams { SInt32 index; OSType returnedMediaType; SampleDescriptionHandle returnedSampleDescription; }; typedef struct QTSMediaIndSampleDescriptionParams QTSMediaIndSampleDescriptionParams; /*-----------------------------------------
QTS Media Handler Selectors -----------------------------------------*/ enum { kQTSMediaSetInfoSelect = 0x0100, kQTSMediaGetInfoSelect = 0x0101, kQTSMediaSetIndStreamInfoSelect = 0x0102, kQTSMediaGetIndStreamInfoSelect = 0x0103 };
/*-----------------------------------------
QTS Media Handler functions -----------------------------------------*/ /*
* QTSMediaSetInfo() * * Availability: * Non-Carbon CFM: in QTStreamLib 4.0 and later * CarbonLib: in CarbonLib 1.1 and later * Mac OS X: in version 10.0 and later * Windows: in QTSClient.lib 4.0 and later */ EXTERN_API( ComponentResult ) QTSMediaSetInfo( MediaHandler mh, OSType inSelector, void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
/*
* QTSMediaGetInfo() * * Availability: * Non-Carbon CFM: in QTStreamLib 4.0 and later * CarbonLib: in CarbonLib 1.1 and later * Mac OS X: in version 10.0 and later * Windows: in QTSClient.lib 4.0 and later */ EXTERN_API( ComponentResult ) QTSMediaGetInfo( MediaHandler mh, OSType inSelector, void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
/*
* QTSMediaSetIndStreamInfo() * * Availability: * Non-Carbon CFM: in QTStreamLib 4.0 and later * CarbonLib: in CarbonLib 1.1 and later * Mac OS X: in version 10.0 and later * Windows: in QTSClient.lib 4.0 and later */ EXTERN_API( ComponentResult ) QTSMediaSetIndStreamInfo( MediaHandler mh, SInt32 inIndex, OSType inSelector, void * ioParams) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0102, 0x7000, 0xA82A);
/*
* QTSMediaGetIndStreamInfo() * * Availability: * Non-Carbon CFM: in QTStreamLib 4.0 and later * CarbonLib: in CarbonLib 1.1 and later * Mac OS X: in version 10.0 and later * Windows: in QTSClient.lib 4.0 and later */ EXTERN_API( ComponentResult ) QTSMediaGetIndStreamInfo( MediaHandler mh, SInt32 inIndex, OSType inSelector, void * ioParams) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
/*============================================================================
Hint Media Handler ============================================================================*/ enum { kQTSHintMediaType = FOUR_CHAR_CODE('hint') };
enum { kQTSHintTrackReference = FOUR_CHAR_CODE('hint') };
/* MixedMode ProcInfo constants for component calls */ enum { uppQTSMediaSetInfoProcInfo = 0x00000FF0, uppQTSMediaGetInfoProcInfo = 0x00000FF0, uppQTSMediaSetIndStreamInfoProcInfo = 0x00003FF0, uppQTSMediaGetIndStreamInfoProcInfo = 0x00003FF0 };
#endif // !__LP64__
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
} #endif
#endif /* __QTSMOVIE__ */
|