diff options
Diffstat (limited to 'common/quicktime_win32/QTSMovie.h')
| -rw-r--r-- | common/quicktime_win32/QTSMovie.h | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/common/quicktime_win32/QTSMovie.h b/common/quicktime_win32/QTSMovie.h new file mode 100644 index 0000000..457b07b --- /dev/null +++ b/common/quicktime_win32/QTSMovie.h @@ -0,0 +1,251 @@ +/* + 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__ */ + |