Skip to content

Commit

Permalink
CoreMedia
Browse files Browse the repository at this point in the history
  • Loading branch information
PoomSmart committed Jan 20, 2024
1 parent 06cf7e6 commit eb831d7
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 0 deletions.
4 changes: 4 additions & 0 deletions CoreMedia/CoreMedia.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,3 +156,7 @@ uint64_t CMClockConvertHostTimeToSystemUnits(CMTime hostTime);
void CMNotificationCenterPostNotification(CFNotificationCenterRef center, CFNotificationName name, const void *object, CFDictionaryRef userInfo);
void CMSetAttachment(CMAttachmentBearerRef target, CFStringRef key, CFTypeRef value, CMAttachmentMode attachmentMode);
void CMTimeShow(CMTime time);

void *CMBaseObjectGetDerivedStorage(CMBaseObjectRef o);

const CMBaseVTable *CMBaseObjectGetVTable(CMBaseObjectRef o);
27 changes: 27 additions & 0 deletions CoreMedia/Types.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ typedef int64_t CMTimeEpoch;

typedef int32_t CMTimeScale;

typedef uint32_t CMBaseClassVersion;
typedef uint32_t CMStructVersion;

typedef double Float64;

typedef long CMItemCount;
Expand Down Expand Up @@ -123,15 +126,21 @@ typedef CFTypeRef CMAttachmentBearerRef;

typedef CFStringRef CMSoundDescriptionFlavor;

typedef struct OpaqueCMBaseObject *CMBaseObjectRef;
typedef struct OpaqueCMBaseClass *CMBaseClassID;
typedef struct OpaqueCMBlockBuffer *CMBlockBufferRef;
typedef struct OpaqueCMClock *CMClockRef;
typedef struct opaqueCMSampleBuffer *CMSampleBufferRef;
typedef struct opaqueCMFormatDescription *CMFormatDescriptionRef;
typedef struct opaqueCMNotificationCenter *CMNotificationCenterRef;

typedef struct CMBaseProtocolTable CMBaseProtocolTable;

typedef CMFormatDescriptionRef CMVideoFormatDescriptionRef;
typedef CMFormatDescriptionRef CMAudioFormatDescriptionRef;

typedef OSStatus (*CMBaseObjectCopyPropertyFunction)(CMBaseObjectRef object, CFStringRef propertyKey, CFAllocatorRef allocator, void *propertyValueOut);
typedef OSStatus (*CMBaseObjectSetPropertyFunction)(CMBaseObjectRef object, CFStringRef propertyKey, CFTypeRef propertyValue);
typedef OSStatus (*CMSampleBufferMakeDataReadyCallback)(CMSampleBufferRef sbuf, void *makeDataReadyRefcon);
typedef void (*CMSampleBufferInvalidateHandler)(CMSampleBufferRef sbuf);
typedef void (*CMSampleBufferInvalidateCallback)(CMSampleBufferRef sbuf, uint64_t invalidateRefCon);
Expand Down Expand Up @@ -160,6 +169,24 @@ typedef struct CMSampleTimingInfo {
CMTime decodeTimeStamp;
} CMSampleTimingInfo;

typedef struct CMBaseClass {
CMBaseClassVersion version;
size_t derivedStorageSize;
Boolean (*equal)(CMBaseObjectRef o, CMBaseObjectRef compareTo);
OSStatus (*invalidate)(CMBaseObjectRef o);
void (*finalize)(CMBaseObjectRef o);
CFStringRef (*copyDebugDescription)(CMBaseObjectRef o);
CMBaseObjectCopyPropertyFunction copyProperty;
CMBaseObjectSetPropertyFunction setProperty;
OSStatus (*notificationBarrier)(CMBaseObjectRef o);
const CMBaseProtocolTable *protocolTable;
} CMBaseClass;

typedef struct CMBaseVTable {
const struct OpaqueCMBaseVTableReserved *reserved;
const CMBaseClass *baseClass;
} CMBaseVTable;

CMTime kCMTimeZero;

#endif
Binary file modified IDA.til
Binary file not shown.
Binary file modified IDA32.til
Binary file not shown.

0 comments on commit eb831d7

Please sign in to comment.