QuickTime Movie Properties Reference

Framework
Frameworks/QuickTime.framework
Declared in
Movies.h

Overview

QuickTime movies and movie tracks have properties that an application can manage, including embedded metadata and sample tables that determine what, how, and when the movie will present its data.

Functions by Task

Working With QuickTime Metadata

Working With QuickTime Sample Tables

Supporting Functions

Functions

Callbacks

QTBandwidthNotificationProc

Undocumented

typedef OSErr (*QTBandwidthNotificationProcPtr) (long flags, void *reserved, void *refcon);

If you name your function MyQTBandwidthNotificationProc, you would declare it this way:

OSErr MyQTBandwidthNotificationProc (
   long    flags,
   void    *reserved,
   void    *refcon );

Parameters
flags

Undocumented

reserved

Reserved.

refcon

Pointer to a reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.

Return Value

See Error Codes. Your callback should return noErr if there is no error.

Declared In
Movies.h

Data Types

QTBandwidthNotificationUPP

Represents a type used by the Movie Properties API.

typedef STACK_UPP_TYPE(QTBandwidthNotificationProcPtr) QTBandwidthNotificationUPP;
Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
Movies.h

QTBandwidthReference

Represents a type used by the Movie Properties API.

typedef struct OpaqueQTBandwidthReference * QTBandwidthReference;
Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
Movies.h

QTScheduledBandwidthPtr

Represents a type used by the Movie Properties API.

typedef QTScheduledBandwidthRecord * QTScheduledBandwidthPtr;
Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
Movies.h

QTScheduledBandwidthRecord

Provides information to the QTScheduledBandwidthRequest function.

struct QTScheduledBandwidthRecord {
   long             recordSize;
   long             priority;
   long             dataRate;
   CompTimeValue    startTime;
   CompTimeValue    duration;
   TimeScale        scale;
   TimeBase         base;
};
Fields
recordSize
Discussion

The number of bytes in this structure.

priority
Discussion

Undocumented

dataRate
Discussion

The data rate.

startTime
Discussion

The bandwidth usage start time.

duration
Discussion

Duration of bandwidth usage, or 0 if unknown.

scale
Discussion

The timescale of the duration field.

base
Discussion

The time base.

Declared In
Movies.h

QTScheduledBandwidthReference

Represents a type used by the Movie Properties API.

typedef struct OpaqueQTScheduledBandwidthReference * QTScheduledBandwidthReference;
Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
Movies.h

Constants

kQTPropertyClass_SampleTable

Constants grouped with kQTPropertyClass_SampleTable.

enum {
   /*
   * Property class for sample tables.
   */
   kQTPropertyClass_SampleTable  = 'qtst',
   /*
   * The total decode duration of all samples in the sample table.
   * Read-only.
   */
   kQTSampleTablePropertyID_TotalDecodeDuration = 'tded', /* TimeValue64,
   Read */
   /*
   * The least display offset in the table. (-50 is a lesser offset
   * than 20.)  Read-only.
   */
   kQTSampleTablePropertyID_MinDisplayOffset = '<ddd', /* TimeValue64,
   Read */
   /*
   * The greatest display offset in the table. (20 is a greater offset
   * than -50.)  Read-only.
   */
   kQTSampleTablePropertyID_MaxDisplayOffset = '>ddd', /* TimeValue64,
   Read */
   /*
   * The least display time of all samples in the table,
   relative to
   * the decode time of the first sample in the table.  Read-only.
   */
   kQTSampleTablePropertyID_MinRelativeDisplayTime = '<dis', /* TimeValue64,
   Read */
   /*
   * The greatest display time of all samples in the table,
   relative to
   * the decode time of the first sample in the table.  Read-only.
   */
   kQTSampleTablePropertyID_MaxRelativeDisplayTime = '>dis' /* TimeValue64,
   Read */
};
Declared In
Movies.h

QTSampleTableGetNextAttributeChange Values

Constants passed to QTSampleTableGetNextAttributeChange.

enum {
   /*
   * Set this flag to find first num such that samples num-1 and num
   * are not adjacent,
   ie,
   dataOffset of num-1 + dataSize of num-1 !=
   * dataOffset of num
   */
   kQTSampleTableAttribute_DiscontiguousData = 1L << 0,
   /*
   * Set this flag to find the first sample with data size per sample
   * different from that of the starting sample.
   */
   kQTSampleTableAttribute_DataSizePerSampleChange = 1L << 1,
   /*
   * Set this flag to find the first sample with decode duration
   * different from that of the starting sample.
   */
   kQTSampleTableAttribute_DecodeDurationChange = 1L << 2,
   /*
   * Set this flag to find the first sample with display offset
   * different from that of the starting sample.
   */
   kQTSampleTableAttribute_DisplayOffsetChange = 1L << 3,
   /*
   * Set this flag to find the first sample with sample description ID
   * different from that of the starting sample.
   */
   kQTSampleTableAttribute_SampleDescriptionIDChange = 1L << 4,
   /*
   * Set this flag to find the first sample with any media sample flags
   * different from those of the starting sample.
   */
   kQTSampleTableAttribute_SampleFlagsChange = 1L << 5,
   /*
   * If no flags are set,
   find the first sample with any attribute
   * different from the starting sample.
   */
   kQTSampleTableAnyAttributeChange = 0
};
Declared In
Movies.h

QTSampleTableGetSampleFlags Values

Constants passed to QTSampleTableGetSampleFlags.

enum {
   mediaSampleNotSync            = 1 << 0, /* sample is not a sync sample (eg. is frame differenced */
   mediaSampleShadowSync         = 1 << 1, /* sample is a shadow sync */
   mediaSampleDroppable          = 1 << 27, /* sample is not required to be decoded for later samples to be decoded properly */
   mediaSamplePartialSync        = 1 << 16, /* sample is a partial sync (e.g.,
   I frame after open GOP) */
   mediaSampleHasRedundantCoding = 1 << 24, /* sample is known to contain redundant coding */
   mediaSampleHasNoRedundantCoding = 1 << 25, /* sample is known not to contain redundant coding */
   mediaSampleIsDependedOnByOthers = 1 << 26, /* one or more other samples depend upon the decode of this sample */
   mediaSampleIsNotDependedOnByOthers = 1 << 27, /* synonym for mediaSampleDroppable */
   mediaSampleDependsOnOthers    = 1 << 28, /* sample's decode depends upon decode of other samples */
   mediaSampleDoesNotDependOnOthers = 1 << 29, /* sample's decode does not depend upon decode of other samples */
   mediaSampleEarlierDisplayTimesAllowed = 1 << 30 /* samples later in decode order may have earlier display times */
};
Constants
mediaSampleNotSync

Returned for frame-differenced video sample data.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in Movies.h.

Declared In
Movies.h