Ссылка CVBuffer
Базовые Видео буферы служат абстрактным базовым классом, определяющим, как взаимодействовать с буферами данных. Все другие буферные типы получены из CVBuffer введите (и вводятся как таковые). A CVBuffer объект может содержать видео, аудио, или возможно некоторый другой тип данных. Можно использовать CVBuffer интерфейс программирования на любом Базовом Видео буфере.
Базовые Видео буферные функции воздействуют на все Базовые Видео буферные типы, включая пиксельные буферы и буферы OpenGL, а также текстуры OpenGL.
-
Возвращает определенное присоединение Базового Видео буфера.
Объявление
Swift
func CVBufferGetAttachment(_buffer: CVBuffer!, _key: CFString!, _attachmentMode: UnsafeMutablePointer<CVAttachmentMode>) -> Unmanaged<AnyObject>!Objective C
CFTypeRef CVBufferGetAttachment ( CVBufferRef buffer, CFStringRef key, CVAttachmentMode *attachmentMode );Параметры
bufferБазовое Видео буферизует, чье присоединение Вы хотите получить.
keyКлюч в форме Базовой строки Основы, идентифицирующей желаемое присоединение.
attachmentModeНа выводе,
attachmentModeточки к режиму присоединения. См. Присоединяемые Режимы CVBuffer для возможных значений. Если присоединяемый режим не определяется, этот параметр возвратыNULL.Возвращаемое значение
Если найдено, указанное присоединение.
Обсуждение
Можно присоединить любой Базовый объект Основы к Базовому Видео буферу, чтобы хранить дополнительную информацию путем вызова
CVBufferSetAttachmentилиCVBufferSetAttachments.Можно найти предопределенные присоединяемые ключи в Присоединяемых Ключах CVBuffer и
Image Buffer Attachment Keys.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Возвраты все присоединения Базового Видео буфера.
Объявление
Swift
func CVBufferGetAttachments(_buffer: CVBuffer!, _attachmentMode: CVAttachmentMode) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef CVBufferGetAttachments ( CVBufferRef buffer, CVAttachmentMode attachmentMode );Параметры
bufferБазовое Видео буферизует, чьи присоединения Вы хотите получить.
attachmentModeРежим присоединений Вы хотите получить. См. Присоединяемые Режимы CVBuffer для возможных значений.
Возвращаемое значение
Базовый словарь Основы со всеми буферными присоединениями, идентифицированными ключами. Если никакое присоединение не присутствует, словарь пуст. Возвраты
NULLдля недопустимого присоединяемого режима.Обсуждение
CVBufferGetAttachmentsвызов удобства, возвращающий все присоединения с их соответствующими ключами в Базовом словаре Основы.Можно найти предопределенные присоединяемые ключи в Присоединяемых Ключах CVBuffer и
Image Buffer Attachment Keys.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Копии все присоединения, которые могут быть распространены от одного Базового Видео буфера до другого.
Объявление
Swift
func CVBufferPropagateAttachments(_sourceBuffer: CVBuffer!, _destinationBuffer: CVBuffer!)Objective C
void CVBufferPropagateAttachments ( CVBufferRef sourceBuffer, CVBufferRef destinationBuffer );Параметры
sourceBufferБуфер для копирования присоединений с.
destinationBufferБуфер для копирования присоединений в.
Обсуждение
CVBufferPropagateAttachmentsвызов удобства, копирующий все присоединения с режимомkCVAttachmentMode_ShouldPropagateот одного буфера до другого.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Выпускает Базовый Видео буфер.
Объявление
Objective C
void CVBufferRelease ( CVBufferRef buffer );Параметры
bufferБазовый Видео буфер, который Вы хотите выпустить.
Обсуждение
Как
CFRelease,CVBufferReleaseдекременты сохранить количество Базового Видео буфера. Если то количество следовательно становится нулем, память, выделенная объекту, освобождена, и объект уничтожается. В отличие от этогоCFRelease,CVBufferReleaseможет быть переданNULLне вызывая катастрофический отказ.Оператор импорта
Objective C
@import CoreVideo;Доступность
Доступный в OS X v10.4 и позже.
-
Удаляет все присоединения Базового Видео буфера.
Объявление
Swift
func CVBufferRemoveAllAttachments(_buffer: CVBuffer!)Objective C
void CVBufferRemoveAllAttachments ( CVBufferRef buffer );Параметры
bufferБазовое Видео буферизует, чьи присоединения Вы хотите удалить.
Обсуждение
CVBufferRemoveAllAttachmentsудаляет все присоединения буфера и постепенно уменьшает их подсчеты ссылок.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Удаляет определенное присоединение Базового Видео буфера.
Объявление
Swift
func CVBufferRemoveAttachment(_buffer: CVBuffer!, _key: CFString!)Objective C
void CVBufferRemoveAttachment ( CVBufferRef buffer, CFStringRef key );Параметры
bufferБазовый Видео буфер, содержащий присоединение для удаления.
keyКлюч в форме Базовой строки Основы, идентифицирующей желаемое присоединение.
Обсуждение
CVBufferRemoveAttachmentудаляет присоединение, идентифицированное ключом. Если найдено, присоединение удалено, и сохранить количество постепенно уменьшается.Можно найти предопределенные присоединяемые ключи в Присоединяемых Ключах CVBuffer и
Image Buffer Attachment Keys.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Сохраняет Базовый Видео буфер.
Объявление
Objective C
CVBufferRef CVBufferRetain ( CVBufferRef buffer );Параметры
bufferБазовый Видео буфер, который Вы хотите сохранить.
Возвращаемое значение
Для удобства то же Базовое Видео буферизует Вас, хотел сохранить.
Обсуждение
Как
CFRetain,CVBufferRetainинкременты сохранить количество Базового Видео буфера. В отличие от этогоCFRetain,CVBufferRetainможет быть переданNULLне вызывая катастрофический отказ.Оператор импорта
Objective C
@import CoreVideo;Доступность
Доступный в OS X v10.4 и позже.
-
Наборы или добавляют присоединение Базового Видео буфера.
Объявление
Swift
func CVBufferSetAttachment(_buffer: CVBuffer!, _key: CFString!, _value: AnyObject!, _attachmentMode: CVAttachmentMode)Objective C
void CVBufferSetAttachment ( CVBufferRef buffer, CFStringRef key, CFTypeRef value, CVAttachmentMode attachmentMode );Параметры
bufferБазовое Видео буферизует, чтобы добавить или установить присоединение в.
keyКлюч, в форме Базовой строки Основы, идентифицируя желаемое присоединение.
valueПрисоединение в форме Базового объекта Основы. Если этот параметр
NULL, функция возвращает ошибку.attachmentModeПрисоединяемый режим для этого присоединения. См. Присоединяемые Режимы CVBuffer для возможных значений. Любой данный присоединяемый ключ может существовать только в одном режиме за один раз.
Обсуждение
Можно присоединить любой Базовый объект Основы к Базовому Видео буферу, чтобы хранить дополнительную информацию. Если ключ в настоящее время не существует для буферного объекта, когда Вы вызываете эту функцию, новое присоединение добавляется. Если ключ действительно существует, существующее присоединение заменяется. В обоих случаях сохранить количество присоединения постепенно увеличивается. Значение может быть любым
CFType. Можно найти предопределенные присоединяемые ключи в Присоединяемых Ключах CVBuffer иImage Buffer Attachment Keys.Можно также установить присоединения при создании буфера путем указания их в
kCVBufferPropagatedAttachmentsKeyилиkCVBufferNonPropagatedAttachmentsKeyатрибуты при создании буфера.Для получения присоединений используйте
CVBufferGetAttachmentилиCVBufferGetAttachmentsфункции.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Наборы ряд присоединений для Базового Видео буфера.
Объявление
Swift
func CVBufferSetAttachments(_buffer: CVBuffer!, _theAttachments: CFDictionary!, _attachmentMode: CVAttachmentMode)Objective C
void CVBufferSetAttachments ( CVBufferRef buffer, CFDictionaryRef theAttachments, CVAttachmentMode attachmentMode );Параметры
bufferБазовое Видео буферизует для установки присоединений в.
theAttachmentsПрисоединения для установки, в форме Базового массива словаря Основы.
attachmentModeУказывает, какой присоединяемый режим желаем для этого присоединения. Определенный присоединяемый ключ может только существовать в единственном режиме за один раз.
Обсуждение
CVBufferSetAttachmentsпоочередно вызывающий вызов удобстваCVBufferSetAttachmentдля каждого ключа и значения в данном словаре. Все пары ключ/значение должны быть на корневом уровне словаря.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Ссылка на Базовый Видео буфер.
Объявление
Swift
typealias CVBufferRef = CVBufferObjective C
typedef struct __CVBuffer *CVBufferRef;Обсуждение
CVBufferобъекты представляют абстрактный тип, из которого происходят все Базовые Видео буферы.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.3 и позже.
-
Присоединение вводит для Базового Видео буфера.
Объявление
Swift
let kCVBufferMovieTimeKey: CFString! let kCVBufferTimeValueKey: CFString! let kCVBufferTimeScaleKey: CFString!Objective C
const CFStringRef kCVBufferMovieTimeKey; const CFStringRef kCVBufferTimeValueKey; const CFStringRef kCVBufferTimeScaleKey;Константы
-
kCVBufferMovieTimeKeykCVBufferMovieTimeKeyВремя фильма связалось с буфером. Обычно только доступный для кадров, испускаемых QuickTime (тип
CFDictionaryсодержаkCVBufferTimeValueKeyиkCVBufferTimeScaleKeyключи).Доступный в OS X v10.4 и позже.
-
kCVBufferTimeValueKeykCVBufferTimeValueKeyФактическая временная стоимость связалась с фильмом.
Доступный в OS X v10.4 и позже.
-
kCVBufferTimeScaleKeykCVBufferTimeScaleKeyМасштаб времени связался с фильмом.
Доступный в OS X v10.4 и позже.
-
-
Режимы распространения Базового Видео буферизуют присоединение.
Объявление
Swift
typealias CVAttachmentMode = UInt32Objective C
enum { kCVAttachmentMode_ShouldNotPropagate = 0, kCVAttachmentMode_ShouldPropagate = 1, }; typedef uint32_t CVAttachmentMode;Константы
-
kCVAttachmentMode_ShouldNotPropagatekCVAttachmentMode_ShouldNotPropagateНе распространяйте это присоединение.
Доступный в OS X v10.3 и позже.
-
kCVAttachmentMode_ShouldPropagatekCVAttachmentMode_ShouldPropagateСкопируйте это присоединение при использовании
CVBufferPropagateAttachmentsфункция. Например, в большинстве случаев, Вы хотели бы распространить присоединение, переносящее метку времени к каждому последовательному буферу.Доступный в OS X v10.3 и позже.
Обсуждение
Вы устанавливаете эти атрибуты при добавлении присоединений к a
CVBufferобъект.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.3 и позже.
-
-
Атрибуты связались с Базовыми Видео буферами.
Объявление
Swift
let kCVBufferPropagatedAttachmentsKey: CFString! let kCVBufferNonPropagatedAttachmentsKey: CFString!Objective C
const CFStringRef kCVBufferPropagatedAttachmentsKey; const CFStringRef kCVBufferNonPropagatedAttachmentsKey;Константы
-
kCVBufferPropagatedAttachmentsKeykCVBufferPropagatedAttachmentsKeyПрисоединения, которые должны быть скопированы при использовании
CVBufferPropagateAttachmentsфункция (типCFDictionary, содержа список присоединений как пары ключ/значение).Доступный в OS X v10.4 и позже.
-
kCVBufferNonPropagatedAttachmentsKeykCVBufferNonPropagatedAttachmentsKeyПрисоединения, которые не должны быть скопированы при использовании
CVBufferPropagateAttachmentsфункция (типCFDictionary, содержа список присоединений как пары ключ/значение).Доступный в OS X v10.4 и позже.
Обсуждение
Эти атрибуты позволяют Вам установить многократные присоединения во время буферного создания, вместо того, чтобы иметь необходимость вызвать
CVBufferSetAttachmentдля каждого присоединения. -
