summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/QTSMovie.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/quicktime_win32/QTSMovie.h')
-rw-r--r--common/quicktime_win32/QTSMovie.h251
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__ */
+