Ссылка 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 = CVBuffer
Objective 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;
Константы
-
kCVBufferMovieTimeKey
kCVBufferMovieTimeKey
Время фильма связалось с буфером. Обычно только доступный для кадров, испускаемых QuickTime (тип
CFDictionary
содержаkCVBufferTimeValueKey
иkCVBufferTimeScaleKey
ключи).Доступный в OS X v10.4 и позже.
-
kCVBufferTimeValueKey
kCVBufferTimeValueKey
Фактическая временная стоимость связалась с фильмом.
Доступный в OS X v10.4 и позже.
-
kCVBufferTimeScaleKey
kCVBufferTimeScaleKey
Масштаб времени связался с фильмом.
Доступный в OS X v10.4 и позже.
-
-
Режимы распространения Базового Видео буферизуют присоединение.
Объявление
Swift
typealias CVAttachmentMode = UInt32
Objective C
enum { kCVAttachmentMode_ShouldNotPropagate = 0, kCVAttachmentMode_ShouldPropagate = 1, }; typedef uint32_t CVAttachmentMode;
Константы
-
kCVAttachmentMode_ShouldNotPropagate
kCVAttachmentMode_ShouldNotPropagate
Не распространяйте это присоединение.
Доступный в OS X v10.3 и позже.
-
kCVAttachmentMode_ShouldPropagate
kCVAttachmentMode_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;
Константы
-
kCVBufferPropagatedAttachmentsKey
kCVBufferPropagatedAttachmentsKey
Присоединения, которые должны быть скопированы при использовании
CVBufferPropagateAttachments
функция (типCFDictionary
, содержа список присоединений как пары ключ/значение).Доступный в OS X v10.4 и позже.
-
kCVBufferNonPropagatedAttachmentsKey
kCVBufferNonPropagatedAttachmentsKey
Присоединения, которые не должны быть скопированы при использовании
CVBufferPropagateAttachments
функция (типCFDictionary
, содержа список присоединений как пары ключ/значение).Доступный в OS X v10.4 и позже.
Обсуждение
Эти атрибуты позволяют Вам установить многократные присоединения во время буферного создания, вместо того, чтобы иметь необходимость вызвать
CVBufferSetAttachment
для каждого присоединения. -