Skip to content

Commit

Permalink
Merge pull request phracker#7 from phracker/MacOSX10.11_15A278
Browse files Browse the repository at this point in the history
Update MacOSX10.11.sdk to 15A278
  • Loading branch information
phracker committed Nov 15, 2015
2 parents b995db1 + 493e2f9 commit 39612f7
Show file tree
Hide file tree
Showing 4,054 changed files with 37,393 additions and 47,740 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>ProductBuildVersion</key>
<string>15A178w</string>
<string>15A278</string>
<key>ProductCopyright</key>
<string>1983-2015 Apple Inc.</string>
<key>ProductName</key>
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,7 @@
#import <Foundation/Foundation.h>
#import <AVFoundation/AVAsynchronousKeyValueLoading.h>

#if TARGET_OS_IPHONE
#import <CoreGraphics/CGAffineTransform.h>
#else // ! TARGET_OS_IPHONE
#import <ApplicationServices/../Frameworks/CoreGraphics.framework/Headers/CGAffineTransform.h>
#endif // ! TARGET_OS_IPHONE

#import <CoreMedia/CMTime.h>

Expand Down Expand Up @@ -156,7 +152,9 @@ typedef NS_OPTIONS(NSUInteger, AVAssetReferenceRestrictions) {

@interface AVAsset (AVAssetTrackInspection)

/* provides the array of AVAssetTracks contained by the asset
/*!
@property tracks
@abstract Provides the array of AVAssetTracks contained by the asset
*/
@property (nonatomic, readonly) NSArray<AVAssetTrack *> *tracks;

Expand Down Expand Up @@ -603,6 +601,7 @@ AVF_EXPORT NSString *const AVAssetMediaSelectionGroupsDidChangeNotification NS_A
NS_CLASS_AVAILABLE_MAC(10_11)
@interface AVFragmentedAsset : AVURLAsset <AVFragmentMinding>
{
@private
AVFragmentedAssetInternal *_fragmentedAsset;
}

Expand All @@ -626,6 +625,40 @@ NS_CLASS_AVAILABLE_MAC(10_11)

@end

@interface AVFragmentedAsset (AVFragmentedAssetTrackInspection)

/*!
@method trackWithTrackID:
@abstract Provides an instance of AVFragmentedAssetTrack that represents the track of the specified trackID.
@param trackID
The trackID of the requested AVFragmentedAssetTrack.
@result An instance of AVFragmentedAssetTrack; may be nil if no track of the specified trackID is available.
@discussion Becomes callable without blocking when the key @"tracks" has been loaded
*/
- (nullable AVFragmentedAssetTrack *)trackWithTrackID:(CMPersistentTrackID)trackID;

/*!
@method tracksWithMediaType:
@abstract Provides an array of AVFragmentedAssetTracks of the asset that present media of the specified media type.
@param mediaType
The media type according to which the receiver filters its AVFragmentedAssetTracks. (Media types are defined in AVMediaFormat.h)
@result An NSArray of AVFragmentedAssetTracks; may be empty if no tracks of the specified media type are available.
@discussion Becomes callable without blocking when the key @"tracks" has been loaded
*/
- (NSArray<AVFragmentedAssetTrack *> *)tracksWithMediaType:(NSString *)mediaType;

/*!
@method tracksWithMediaCharacteristic:
@abstract Provides an array of AVFragmentedAssetTracks of the asset that present media with the specified characteristic.
@param mediaCharacteristic
The media characteristic according to which the receiver filters its AVFragmentedAssetTracks. (Media characteristics are defined in AVMediaFormat.h)
@result An NSArray of AVFragmentedAssetTracks; may be empty if no tracks with the specified characteristic are available.
@discussion Becomes callable without blocking when the key @"tracks" has been loaded
*/
- (NSArray<AVFragmentedAssetTrack *> *)tracksWithMediaCharacteristic:(NSString *)mediaCharacteristic;

@end

#pragma mark --- AVFragmentedAssetMinder ---
/*!
@class AVFragmentedAssetMinder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@
#import <CoreMedia/CMTimeRange.h>

// for CGSize
#if TARGET_OS_IPHONE
#import <CoreGraphics/CoreGraphics.h>
#else // ! TARGET_OS_IPHONE
#import <ApplicationServices/../Frameworks/CoreGraphics.framework/Headers/CoreGraphics.h>
#endif // ! TARGET_OS_IPHONE

NS_ASSUME_NONNULL_BEGIN

Expand Down Expand Up @@ -56,17 +52,13 @@ NS_ASSUME_NONNULL_BEGIN
// -- Export Preset Names --


#if TARGET_OS_IPHONE

/* These export options can be used to produce movie files with video size appropriate to the device.
The export will not scale the video up from a smaller size. The video will be compressed using
H.264 and the audio will be compressed using AAC. */

AVF_EXPORT NSString *const AVAssetExportPresetLowQuality NS_AVAILABLE_IOS(4_0);
AVF_EXPORT NSString *const AVAssetExportPresetMediumQuality NS_AVAILABLE_IOS(4_0);
AVF_EXPORT NSString *const AVAssetExportPresetHighestQuality NS_AVAILABLE_IOS(4_0);

#endif // TARGET_OS_IPHONE
AVF_EXPORT NSString *const AVAssetExportPresetLowQuality NS_AVAILABLE(10_11, 4_0);
AVF_EXPORT NSString *const AVAssetExportPresetMediumQuality NS_AVAILABLE(10_11, 4_0);
AVF_EXPORT NSString *const AVAssetExportPresetHighestQuality NS_AVAILABLE(10_11, 4_0);

/* These export options can be used to produce movie files with the specified video size.
The export will not scale the video up from a smaller size. The video will be compressed using
Expand All @@ -75,7 +67,7 @@ AVF_EXPORT NSString *const AVAssetExportPreset640x480 NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT NSString *const AVAssetExportPreset960x540 NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT NSString *const AVAssetExportPreset1280x720 NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT NSString *const AVAssetExportPreset1920x1080 NS_AVAILABLE(10_7, 5_0);
AVF_EXPORT NSString *const AVAssetExportPreset3840x2160 NS_AVAILABLE(10_10, NA);
AVF_EXPORT NSString *const AVAssetExportPreset3840x2160 NS_AVAILABLE(10_10, 9_0);

/* This export option will produce an audio-only .m4a file with appropriate iTunes gapless playback data */
AVF_EXPORT NSString *const AVAssetExportPresetAppleM4A NS_AVAILABLE(10_7, 4_0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,7 @@
#import <Foundation/Foundation.h>
#import <CoreMedia/CMTime.h>

#if TARGET_OS_IPHONE
#import <CoreGraphics/CoreGraphics.h>
#else // ! TARGET_OS_IPHONE
#import <ApplicationServices/../Frameworks/CoreGraphics.framework/Headers/CoreGraphics.h>
#endif // ! TARGET_OS_IPHONE

@class AVAsset;
@class AVVideoComposition;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
/*!
@class AVAssetResourceLoader
@abstract An AVAssetResourceLoader mediates requests to load resources required by an AVURLAsset by asking a delegate object that you provide for assistance. When a resource is required that cannot be loaded by the AVURLAsset itself, the resource loader makes a request of its delegate to load it and proceeds according to the delegates response.
@abstract An AVAssetResourceLoader mediates requests to load resources required by an AVURLAsset by asking a delegate object that you provide for assistance. When a resource is required that cannot be loaded by the AVURLAsset itself, the resource loader makes a request of its delegate to load it and proceeds according to the delegate's response.
@discussion
You should not create resource loader objects. Instead, you should retrieve a resource loader from the resourceLoader property of an AVURLAsset and use it to assign your delegate object for resource loading.
Expand Down Expand Up @@ -208,7 +208,7 @@ AV_INIT_UNAVAILABLE
/*!
@method finishLoading
@abstract Causes the receiver to treat the processing of the request as complete.
@discussion If a dataRequest is present and the resource does not contain the full extent of the data that has been requested according to the values of the requestedOffset and requestedLength properties of the dataRequest, you may invoke -finishLoading after you have provided as much of the requested data as the resource contains.
@discussion If a dataRequest is present and the resource does not contain the full extent of the data that has been requested according to the values of the requestedOffset and requestedLength properties of the dataRequest, or if requestsAllDataToEndOfResource has a value of YES, you may invoke -finishLoading after you have provided as much of the requested data as the resource contains.
*/
- (void)finishLoading NS_AVAILABLE(10_9, 7_0);

Expand Down Expand Up @@ -244,7 +244,7 @@ NS_CLASS_AVAILABLE(10_10, 8_0)
@discussion
When a resource loading delegate accepts responsibility for loading a resource by returning YES from its implementation of resourceLoader:shouldWaitForLoadingOfRequestedResource:, it must check whether the contentInformationRequest property of the AVAssetResourceLoadingRequest is not nil. Whenever the value is not nil, the request includes a query for the information that AVAssetResourceLoadingContentInformationRequest encapsulates. In response to such queries, the resource loading delegate should set the values of the content information request's properties appropriately before invoking the AVAssetResourceLoadingRequest method finishLoading.
When finishLoading is invoked, the values of the properties of its contentInformationRequest property will, in part, determine how the requested resource is processed. For example, if the requested resources URL is the URL of an AVURLAsset and contentType is set by the resource loading delegate to a value that the underlying media system doesnt recognize as a supported media file type, operations on the AVURLAsset, such as playback, are likely to fail.
When finishLoading is invoked, the values of the properties of its contentInformationRequest property will, in part, determine how the requested resource is processed. For example, if the requested resource's URL is the URL of an AVURLAsset and contentType is set by the resource loading delegate to a value that the underlying media system doesn't recognize as a supported media file type, operations on the AVURLAsset, such as playback, are likely to fail.
*/

@class AVAssetResourceLoadingContentInformationRequestInternal;
Expand Down Expand Up @@ -317,10 +317,19 @@ AV_INIT_UNAVAILABLE
/*!
@property requestedLength
@abstract The length of the data requested.
@discussion If the content length of the resource is not precisely known, the sum of requestedLength and requestedOffset may be greater than the actual content length of the resource. When this occurs, you should attempt to provide as much of the requested data from the requestedOffset as the resource contains before invoking either -finishLoading (if you succeed) or -finishLoadingWithError: (if you encounter a failure in the course of providing the data).
@discussion Note that requestsAllDataToEndOfResource will be set to YES when the entire remaining length of the resource is being requested from requestedOffset to the end of the resource. This can occur even when the content length has not yet been reported by you via a prior finished loading request.
When requestsAllDataToEndOfResource has a value of YES, you should disregard the value of requestedLength and incrementally provide as much data starting from the requestedOffset as the resource contains, until you have provided all of the available data successfully and invoked -finishLoading, until you have encountered a failure and invoked -finishLoadingWithError:, or until you have received -resourceLoader:didCancelLoadingRequest: for the AVAssetResourceLoadingRequest from which the AVAssetResourceLoadingDataRequest was obtained.
When requestsAllDataToEndOfResource is YES and the content length has not yet been provided by you via a prior finished loading request, the value of requestedLength is set to NSIntegerMax. Starting in OS X 10.11 and iOS 9.0, in 32-bit applications requestedLength is also set to NSIntegerMax when all of the remaining resource data is being requested and the known length of the remaining data exceeds NSIntegerMax.
*/
@property (nonatomic, readonly) NSInteger requestedLength;

/*!
@property requestsAllDataToEndOfResource
@abstract Specifies that the entire remaining length of the resource from requestedOffset to the end of the resource is being requested.
@discussion When requestsAllDataToEndOfResource has a value of YES, you should disregard the value of requestedLength and incrementally provide as much data starting from the requestedOffset as the resource contains, until you have provided all of the available data successfully and invoked -finishLoading, until you have encountered a failure and invoked -finishLoadingWithError:, or until you have received -resourceLoader:didCancelLoadingRequest: for the AVAssetResourceLoadingRequest from which the AVAssetResourceLoadingDataRequest was obtained.
*/
@property (nonatomic, readonly) BOOL requestsAllDataToEndOfResource NS_AVAILABLE(10_11, 9_0);

/*!
@property currentOffset
@abstract The position within the resource of the next byte within the resource following the bytes that have already been provided via prior invocations of -respondWithData.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,11 @@ AV_INIT_UNAVAILABLE

@interface AVAssetTrack (AVAssetTrackPropertiesForFrameBasedCharacteristic)

/* indicates the frame rate of the track, in units of frames per second */
/*!
@property nominalFrameRate
@abstract For tracks that carry a full frame per media sample, indicates the frame rate of the track in units of frames per second.
@discussion For field-based video tracks that carry one field per media sample, the value of this property is the field rate, not the frame rate.
*/
@property (nonatomic, readonly) float nominalFrameRate;

/* indicates the minimum duration of the track's frames; the value will be kCMTimeInvalid if the minimum frame duration is not known or cannot be calculated */
Expand Down Expand Up @@ -355,6 +359,7 @@ AVF_EXPORT NSString *const AVAssetTrackTrackAssociationsDidChangeNotification NS
NS_CLASS_AVAILABLE_MAC(10_11)
@interface AVFragmentedAssetTrack : AVAssetTrack
{
@private
AVFragmentedAssetTrackInternal *_fragmentedAssetTrack;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,13 @@ _player = [[AVAudioPlayerNode alloc] init];
Note that any pre-existing connection involving the destination's input bus will be
broken. And, any pre-existing connection on source node which is not a part of the
specified destination connection array will also be broken.
Also note that when the output of a node is split into multiple paths, all the paths
must render at the same rate until they reach a common mixer.
In other words, starting from the split node until the common mixer node where all split
paths terminate, you cannot have:
- any AVAudioUnitTimeEffect
- any sample rate conversion
*/
- (void)connect:(AVAudioNode *)sourceNode toConnectionPoints:(NSArray<AVAudioConnectionPoint *> *)destNodes fromBus:(AVAudioNodeBus)sourceBus format:(AVAudioFormat * __nullable)format NS_AVAILABLE(10_11, 9_0);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

NS_ASSUME_NONNULL_BEGIN

@class AVAudioNode, AVAudioConnectionPoint, AVAudioMixingDestination;
@protocol AVAudioStereoMixing;
@protocol AVAudio3DMixing;

/*! @protocol AVAudioMixing
@abstract Protocol that defines properties applicable to the input bus of a mixer
node
Expand All @@ -17,21 +21,27 @@ NS_ASSUME_NONNULL_BEGIN
specifically of type AVAudioMixerNode or AVAudioEnvironmentNode. The properties defined
by this protocol apply to the respective input bus of the mixer node that the source node is
connected to. Note that effect nodes cannot talk to their downstream mixer.
The state of properties that are set via this protocol before the source node is connected
to mixer node(s) are cached and then applied on the mixer(s) once the physical connection is
made. Similarly, on disconnection, the state of the properties of last mixer to be
disconnected are cached.
Source nodes that are connected to a single mixer downstream can be disconnected from
one mixer and connected to another mixer with their mixing settings intact.
Properties can be set either on the source node, or directly on individual mixer connections.
Source node properties are:
- applied to all existing mixer connections when set
- applied to new mixer connections
- preserved upon disconnection from mixers
- not affected by connections/disconnections to/from mixers
- not affected by any direct changes to properties on individual mixer connections
Individual mixer connection properties, when set, will override any values previously derived
from the corresponding source node properties. However, if a source node property is
subsequently set, it will override the corresponding property value of all individual mixer
connections.
Unlike source node properties, individual mixer connection properties are not preserved upon
disconnection (see `AVAudioMixing(destinationForMixer:bus:)` and `AVAudioMixingDestination`).
Source nodes that are connected to a mixer downstream can be disconnected from
one mixer and connected to another mixer with source node's mixing settings intact.
For example, an AVAudioPlayerNode that is being used in a gaming scenario can set up its
3D mixing settings and then move from one environment to another.
*/
@class AVAudioNode, AVAudioConnectionPoint, AVAudioMixingDestination;
@protocol AVAudioStereoMixing;
@protocol AVAudio3DMixing;

NS_CLASS_AVAILABLE(10_10, 8_0)
@protocol AVAudioMixing <AVAudioStereoMixing, AVAudio3DMixing>

Expand All @@ -46,8 +56,7 @@ NS_CLASS_AVAILABLE(10_10, 8_0)
Note:
- Properties set on individual AVAudioMixingDestination instances will not reflect at the
source node level, except when the node is disconnected from all its downstream mixers,
at which point the state of the last disconnected mixer is cached at the node level.
source node level.
- AVAudioMixingDestination reference returned by this method could become invalid when
there is any disconnection between the source and the mixer node. Hence this reference
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,7 @@ NS_CLASS_AVAILABLE(10_11, 9_0)
@abstract A collection of music events which will be sent to a given destination, and which can be
offset, muted, etc. independently of events in other tracks.
*/
NS_CLASS_AVAILABLE(10_11, 9_0)
@interface AVMusicTrack : NSObject {
@protected
void *_impl;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ AVF_EXPORT NSString *const AVLinearPCMIsBigEndianKey; /* value is a BOOL */
AVF_EXPORT NSString *const AVLinearPCMIsFloatKey; /* value is a BOOL */

AVF_EXPORT NSString *const AVLinearPCMIsNonInterleaved NS_AVAILABLE(10_7, 4_0); /* value is a BOOL */
AVF_EXPORT NSString *const AVLinearPCMIsNonInterleavedKey NS_AVAILABLE(10_7, 4_0); /* value is a BOOL This is an alias of AVLinearPCMIsNonInterleaved. */
#define AVLinearPCMIsNonInterleavedKey AVLinearPCMIsNonInterleaved

/* encoder property keys */
AVF_EXPORT NSString *const AVEncoderAudioQualityKey; /* value is an integer from enum AVAudioQuality */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ NS_CLASS_AVAILABLE(10_10, 8_0)
AVAudioUnitGenerator, AVAudioUnitMIDIInstrument, or AVAudioUnitTimeEffect), selected
according to the component's type.
*/
+ (void)instantiateWithComponentDescription:(AudioComponentDescription)audioComponentDescription options:(AudioComponentInstantiationOptions)options completionHandler:(void (^)(__nullable __kindof AVAudioUnit *audioUnit, __nullable NSError *error))completionHandler NS_AVAILABLE(10_11, 9_0);
+ (void)instantiateWithComponentDescription:(AudioComponentDescription)audioComponentDescription options:(AudioComponentInstantiationOptions)options completionHandler:(void (^)(__kindof AVAudioUnit * __nullable audioUnit, NSError * __nullable error))completionHandler NS_AVAILABLE(10_11, 9_0);

/*! @method loadAudioUnitPresetAtURL:error:
@abstract Load an audio unit preset.
Expand Down
Loading

0 comments on commit 39612f7

Please sign in to comment.