mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
252 lines
6.7 KiB
C
252 lines
6.7 KiB
C
|
/*
|
||
|
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__ */
|
||
|
|