You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
251 lines
6.7 KiB
251 lines
6.7 KiB
/* |
|
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__ */ |
|
|
|
|