19 #ifndef __ISOCHRONOUSDATAHANDLER__
20 #define __ISOCHRONOUSDATAHANDLER__
26 #ifndef __MOVIESFORMAT__
30 #ifndef __QUICKTIMECOMPONENTS__
47 #if PRAGMA_STRUCT_ALIGN
48 #pragma options align = mac68k
49 #elif PRAGMA_STRUCT_PACKPUSH
51 #elif PRAGMA_STRUCT_PACK
57 kIDHComponentType = FOUR_CHAR_CODE(
'ihlr'),
60 FOUR_CHAR_CODE(
'fwc ')
66 kIDHInterfaceVersion1 = 0x0001
73 kIDHDeviceListAtomType = FOUR_CHAR_CODE(
'dlst'),
74 kIDHDeviceAtomType = FOUR_CHAR_CODE(
'devc'),
76 kIDHIsochModeAtomType = FOUR_CHAR_CODE(
'mode'),
77 kIDHDeviceIDType = FOUR_CHAR_CODE(
'dvid'),
78 kIDHDefaultIOType = FOUR_CHAR_CODE(
'dfio'),
79 kIDHIsochVersionAtomType = FOUR_CHAR_CODE(
'iver'),
80 kIDHUniqueIDType = FOUR_CHAR_CODE(
'unid'),
81 kIDHNameAtomType = FOUR_CHAR_CODE(
'name'),
82 kIDHUseCMPAtomType = FOUR_CHAR_CODE(
'ucmp'),
83 kIDHIsochMediaType = FOUR_CHAR_CODE(
'av '),
84 kIDHDataTypeAtomType = FOUR_CHAR_CODE(
'dtyp'),
85 kIDHDataSizeAtomType =
86 FOUR_CHAR_CODE(
'dsiz'),
88 FOUR_CHAR_CODE(
'dbuf'),
90 kIDHDataIODirectionAtomType = FOUR_CHAR_CODE(
'ddir'),
91 kIDHSoundMediaAtomType = FOUR_CHAR_CODE(
'soun'),
92 kIDHSoundTypeAtomType = FOUR_CHAR_CODE(
'type'),
93 kIDHSoundChannelCountAtomType = FOUR_CHAR_CODE(
'ccnt'),
94 kIDHSoundSampleSizeAtomType = FOUR_CHAR_CODE(
'ssiz'),
95 kIDHSoundSampleRateAtomType = FOUR_CHAR_CODE(
98 kIDHVideoDimensionsAtomType = FOUR_CHAR_CODE(
'dimn'),
99 kIDHVideoResolutionAtomType = FOUR_CHAR_CODE(
'resl'),
100 kIDHVideoRefreshRateAtomType = FOUR_CHAR_CODE(
'refr'),
101 kIDHVideoPixelTypeAtomType = FOUR_CHAR_CODE(
'pixl'),
102 kIDHVideoDecompressorAtomType = FOUR_CHAR_CODE(
'deco'),
103 kIDHVideoDecompressorTypeAtomType = FOUR_CHAR_CODE(
'dety'),
104 kIDHVideoDecompressorContinuousAtomType = FOUR_CHAR_CODE(
'cont'),
105 kIDHVideoDecompressorComponentAtomType = FOUR_CHAR_CODE(
'cmpt')
111 kIDHDataTypeIsInput = 1L << 0,
112 kIDHDataTypeIsOutput = 1L << 1,
113 kIDHDataTypeIsInputAndOutput = 1L << 2
119 kIDHOpenForReadTransactions = 1L << 0,
120 kIDHOpenForWriteTransactions = 1L << 1,
121 kIDHOpenWithExclusiveAccess = 1L << 2,
122 kIDHOpenWithHeldBuffers =
125 kIDHCloseForWriteTransactions = 1L << 5
135 kIDHErrDeviceDisconnected = -14101,
136 kIDHErrInvalidDeviceID = -14102,
137 kIDHErrDeviceInUse = -14104,
138 kIDHErrDeviceNotOpened = -14105,
139 kIDHErrDeviceBusy = -14106,
140 kIDHErrDeviceReadError = -14107,
141 kIDHErrDeviceWriteError = -14108,
142 kIDHErrDeviceNotConfigured = -14109,
143 kIDHErrDeviceList = -14110,
144 kIDHErrCompletionPending = -14111,
145 kIDHErrDeviceTimeout = -14112,
146 kIDHErrInvalidIndex = -14113,
147 kIDHErrDeviceCantRead = -14114,
148 kIDHErrDeviceCantWrite = -14115,
149 kIDHErrCallNotSupported = -14116
156 kIDHInvalidDeviceID = 0,
157 kIDHDeviceIDEveryDevice = (long)0xFFFFFFFF
180 UInt32 currentBandwidth;
181 UInt32 currentChannel;
194 kIDHEventInvalid = 0,
195 kIDHEventDeviceAdded = 1L << 0,
210 typedef UInt32 IDHNotificationID;
260 typedef IDHNotificationProcPtr IDHNotificationProc;
261 typedef TVECTOR_UPP_TYPE(IDHNotificationProcPtr) IDHNotificationUPP;
267 ByteCount requestedCount;
268 ByteCount actualCount;
269 IDHNotificationUPP completionProc;
398 IDHNotificationUPP notificationProc,
void *userData,
399 IDHNotificationID *notificationID);
500 #if !OPAQUE_UPP_TYPES
503 uppIDHNotificationProcInfo = 0x000003F1
506 inline IDHNotificationUPP
512 #define NewIDHNotificationUPP(userRoutine) (userRoutine)
526 #if !OPAQUE_UPP_TYPES
530 #define DisposeIDHNotificationUPP(userUPP)
544 IDHNotificationUPP userUPP);
545 #if !OPAQUE_UPP_TYPES
548 IDHNotificationUPP userUPP)
550 return (*userUPP)(
event, userData);
553 #define InvokeIDHNotificationUPP(event, userData, userUPP) \
554 (*userUPP)(event, userData)
561 kIDHGetDeviceListSelect = 0x0001,
562 kIDHGetDeviceConfigurationSelect = 0x0002,
563 kIDHSetDeviceConfigurationSelect = 0x0003,
564 kIDHGetDeviceStatusSelect = 0x0004,
565 kIDHGetDeviceClockSelect = 0x0005,
566 kIDHOpenDeviceSelect = 0x0006,
567 kIDHCloseDeviceSelect = 0x0007,
568 kIDHReadSelect = 0x0008,
569 kIDHWriteSelect = 0x0009,
570 kIDHNewNotificationSelect = 0x000A,
571 kIDHNotifyMeWhenSelect = 0x000B,
572 kIDHCancelNotificationSelect = 0x000C,
573 kIDHDisposeNotificationSelect = 0x000D,
574 kIDHReleaseBufferSelect = 0x000E,
575 kIDHCancelPendingIOSelect = 0x000F,
576 kIDHGetDeviceControlSelect = 0x0010,
577 kIDHUpdateDeviceListSelect = 0x0011,
578 kIDHGetDeviceTimeSelect = 0x0012
581 #if PRAGMA_STRUCT_ALIGN
582 #pragma options align = reset
583 #elif PRAGMA_STRUCT_PACKPUSH
585 #elif PRAGMA_STRUCT_PACK
589 #ifdef PRAGMA_IMPORT_OFF
@ kIDHSubtypeDV
Definition: IsochronousDataHandler.h:58
@ kIDHSubtypeFireWireConference
Definition: IsochronousDataHandler.h:59
ComponentResult IDHNotifyMeWhen(ComponentInstance idh, IDHNotificationID notificationID, IDHEvent events)
ComponentResult IDHCancelNotification(ComponentInstance idh, IDHNotificationID notificationID)
ComponentResult IDHCloseDevice(ComponentInstance idh)
@ kIDHCloseForReadTransactions
Definition: IsochronousDataHandler.h:124
void DisposeIDHNotificationUPP(IDHNotificationUPP userUPP)
UInt32 IDHDeviceID
Definition: IsochronousDataHandler.h:153
ComponentResult IDHSetDeviceConfiguration(ComponentInstance idh, const QTAtomSpec *configurationID)
#define NewIDHNotificationUPP(userRoutine)
Definition: IsochronousDataHandler.h:512
ComponentResult IDHCancelPendingIO(ComponentInstance idh, IDHParameterBlock *pb)
ComponentResult IDHDisposeNotification(ComponentInstance idh, IDHNotificationID notificationID)
@ kIDHEventEveryEvent
Definition: IsochronousDataHandler.h:207
@ kIDHEventDeviceChanged
Definition: IsochronousDataHandler.h:197
@ kIDHEventReserved2
Definition: IsochronousDataHandler.h:204
@ kIDHEventWriteEnabled
Definition: IsochronousDataHandler.h:203
@ kIDHEventReserved1
Definition: IsochronousDataHandler.h:200
@ kIDHEventDeviceRemoved
Definition: IsochronousDataHandler.h:196
@ kIDHEventWriteDisabled
Definition: IsochronousDataHandler.h:205
@ kIDHEventReadDisabled
Definition: IsochronousDataHandler.h:201
@ kIDHEventReadEnabled
Definition: IsochronousDataHandler.h:199
ComponentResult IDHGetDeviceList(ComponentInstance idh, QTAtomContainer *deviceList)
OSStatus InvokeIDHNotificationUPP(IDHGenericEvent *event, void *userData, IDHNotificationUPP userUPP)
ComponentResult IDHGetDeviceConfiguration(ComponentInstance idh, QTAtomSpec *configurationID)
UInt32 IDHEvent
Definition: IsochronousDataHandler.h:191
struct OpaquePsuedoID * PsuedoID
Definition: IsochronousDataHandler.h:168
ComponentResult IDHGetDeviceTime(ComponentInstance idh, TimeRecord *deviceTime)
ComponentResult IDHRead(ComponentInstance idh, IDHParameterBlock *pb)
@ kIDHDataIntervalAtomType
Definition: IsochronousDataHandler.h:89
@ kIDHVideoMediaAtomType
Definition: IsochronousDataHandler.h:97
@ kIDHDataBufferSizeAtomType
Definition: IsochronousDataHandler.h:87
@ kIDHIsochServiceAtomType
Definition: IsochronousDataHandler.h:75
ComponentResult IDHGetDeviceClock(ComponentInstance idh, Component *clock)
ComponentResult IDHGetDeviceStatus(ComponentInstance idh, const QTAtomSpec *configurationID, IDHDeviceStatus *status)
ComponentResult IDHGetDeviceControl(ComponentInstance idh, ComponentInstance *deviceControl)
ComponentResult IDHNewNotification(ComponentInstance idh, IDHDeviceID deviceID, IDHNotificationUPP notificationProc, void *userData, IDHNotificationID *notificationID)
ComponentResult IDHOpenDevice(ComponentInstance idh, UInt32 permissions)
ComponentResult IDHReleaseBuffer(ComponentInstance idh, IDHParameterBlock *pb)
ComponentResult IDHUpdateDeviceList(ComponentInstance idh, QTAtomContainer *deviceList)
ComponentResult IDHWrite(ComponentInstance idh, IDHParameterBlock *pb)
Basic Macintosh data types.
long Fixed
Definition: MacTypes.h:153
unsigned char Boolean
Definition: MacTypes.h:318
Definition: Components.h:220
Definition: Components.h:214
Definition: IsochronousDataHandler.h:243
Definition: IsochronousDataHandler.h:253
Definition: IsochronousDataHandler.h:174
SInt16 inputStandard
Definition: IsochronousDataHandler.h:183
Boolean deviceActive
Definition: IsochronousDataHandler.h:184
Definition: IsochronousDataHandler.h:281
Definition: IsochronousDataHandler.h:233
Definition: IsochronousDataHandler.h:162
Definition: IsochronousDataHandler.h:263
Definition: IsochronousDataHandler.h:275
Definition: MacTypes.h:585