diff options
Diffstat (limited to 'common/quicktime_win32/CGDataConsumer.h')
| -rw-r--r-- | common/quicktime_win32/CGDataConsumer.h | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/common/quicktime_win32/CGDataConsumer.h b/common/quicktime_win32/CGDataConsumer.h new file mode 100644 index 0000000..2b713fd --- /dev/null +++ b/common/quicktime_win32/CGDataConsumer.h @@ -0,0 +1,140 @@ +/* + File: CGDataConsumer.h + + Contains: CoreGraphics data consumer + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved. + + Bugs?: For bug reports, consult the following page on + the World Wide Web: + + http://developer.apple.com/bugreporter/ + +*/ +#ifndef CGDATACONSUMER_H_ +#define CGDATACONSUMER_H_ + +#ifndef __CGBASE__ +#include <CGBase.h> +#endif + +#ifndef __CFURL__ +#include <CFURL.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 + +typedef struct CGDataConsumer* CGDataConsumerRef; +typedef CALLBACK_API_C( size_t , CGPutBytesProcPtr )(void *info, const void *buffer, size_t count); +typedef CALLBACK_API_C( void , CGReleaseConsumerProcPtr )(void * info); +/* Callbacks for accessing data. + * `putBytes' copies `count' bytes from `buffer' to the consumer, and + * returns the number of bytes copied. It should return 0 if no more data + * can be written to the consumer. + * `releaseConsumer', if non-NULL, is called when the consumer is freed. */ +struct CGDataConsumerCallbacks { + CGPutBytesProcPtr putBytes; + CGReleaseConsumerProcPtr releaseConsumer; +}; +typedef struct CGDataConsumerCallbacks CGDataConsumerCallbacks; +/* Create a data consumer using `callbacks' to handle the data. `info' is + * passed to each of the callback functions. */ +/* + * CGDataConsumerCreate() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGDataConsumerRef ) +CGDataConsumerCreate( + void * info, + const CGDataConsumerCallbacks * callbacks); + + +/* Create a data consumer which writes data to `url'. */ +/* + * CGDataConsumerCreateWithURL() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGDataConsumerRef ) +CGDataConsumerCreateWithURL(CFURLRef url); + + +/* Increment the retain count of `consumer' and return it. All data + * consumers are created with an initial retain count of 1. */ +/* + * CGDataConsumerRetain() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGDataConsumerRef ) +CGDataConsumerRetain(CGDataConsumerRef consumer); + + +/* Decrement the retain count of `consumer'. If the retain count reaches + * 0, then release it and any associated resources. */ +/* + * CGDataConsumerRelease() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +CGDataConsumerRelease(CGDataConsumerRef consumer); + + + +#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 /* CGDATACONSUMER_H_ */ + |