IMVideoDataSource
IMVideoDataSource
неофициальный протокол что IMAVManager
источник данных должен соответствовать тому, для обеспечения видеоданных для iChat AV.
Обеспечить видео когда CVPixelBuffer
представление предпочтено, источник данных должен реализовать обоих getPixelBufferPixelFormat:
и renderIntoPixelBuffer:forTime:
методы. Иначе, для обеспечения видео, когда CVOpenGLBuffers
представление предпочтено, источник данных должен реализовать обоих getOpenGLBufferContext:pixelFormat:
и renderIntoOpenGLBuffer:onScreen:forTime:
методы.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import InstantMessage;
Доступность
Доступный в OS X v10.5 и позже.
-
getPixelBufferPixelFormat: - getPixelBufferPixelFormat:
(OS X v10.9)Возвращает пиксельный буферный формат.
Объявление
Objective C
- (void)getPixelBufferPixelFormat:(OSType *)
pixelFormatOut
Параметры
pixelFormatOut
Формат пикселя, который будет использоваться для
CVPixelBufferRef
экземпляры передалиrenderIntoPixelBuffer:forTime:
метод.Обсуждение
Этот метод вызывается один раз после
setVideoDataSource:
отправляется вIMAVManager
объект.Оператор импорта
Objective C
@import InstantMessage;
Доступность
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
См. также
-
Предоставляет данные для следующего видеокадра с помощью пиксельной буферизации.
Объявление
Objective C
- (BOOL)renderIntoPixelBuffer:(CVPixelBufferRef)
buffer
forTime:(CVTimeStamp *)timeStamp
Параметры
buffer
Пиксельный буфер для заполнения видеоданными. Размерности могут варьироваться. Используйте
CVPixelBufferGetWidth
иCVPixelBufferGetHeight
функции для получения размерностей каждый раз этот метод вызываются.timeStamp
Время кадра, в течение которого должен быть представлен буфер.
Необходимо представить видеокадр, соответствующий предоставленному времени узла,
timeStamp->hostTime
, и прежде, чем возвратиться из этого метода, измените время узла на самое раннее время, в течение которого представленное видео допустимо. Например, если содержание является фильмом, то установленный время узла для соответствия представленному кадру — обычно, немного ранее, чем время исходного узла. Если содержание является фото слайд-шоу, то установленный время узла во время изображение сначала появилось, который может быть за несколько секунд до времени исходного узла. При корректировке времени этот путь помогает синхронизировать аудио с видеотреком.Возвращаемое значение
Возвраты
YES
true
если буфер успешно заполнен новыми данными кадра. ВозвратыNO
false
если ничто не изменилось, или с ошибкой встретились.Обсуждение
Этот метод вызывается каждый раз, когда кадр передается к iChat AV. Этот метод не вызывается на основной поток.
Оператор импорта
Objective C
@import InstantMessage;
Доступность
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
См. также
-
Возвращает пиксель буферный контекст OpenGL и формат пикселя.
Объявление
Objective C
- (void)getOpenGLBufferContext:(CGLContextObj *)
contextOut
pixelFormat:(CGLPixelFormatObj *)pixelFormatOut
Параметры
contextOut
Контекст OpenGL, который будет использоваться для
CVOpenGLBufferRef
экземпляры передалиrenderIntoOpenGLBuffer:onScreen:forTime:
метод.pixelFormatOut
Формат пикселя OpenGL, который будет использоваться для
CVOpenGLBufferRef
экземпляры передалиrenderIntoOpenGLBuffer:onScreen:forTime:
метод.Обсуждение
Этот метод вызывается один раз после
setVideoDataSource:
отправляется вIMAVManager
объект.Оператор импорта
Objective C
@import InstantMessage;
Доступность
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
Предоставляет данные для следующего видеокадра с помощью буферизации OpenGL.
Объявление
Objective C
- (BOOL)renderIntoOpenGLBuffer:(CVOpenGLBufferRef)
buffer
onScreen:(int *)screenInOut
forTime:(CVTimeStamp *)timeStamp
Параметры
buffer
Буфер OpenGL для заполнения. Получатель должен вызвать
CVOpenGLBufferAttach
функционируйте и затем заполните буфер видеоданными.screenInOut
Рекомендуемое виртуальное экранное число для передачи
CVOpenGLBufferAttach
функция для максимальной производительности. Получатель может использовать различное экранное число, но он должен записать то значение обратно вscreenInOut
перед возвратом.timeStamp
Время кадра, в течение которого должен быть представлен буфер.
Необходимо представить видеокадр, соответствующий предоставленному времени узла,
timeStamp->hostTime
, и прежде, чем возвратиться из этого метода, измените время узла на самое раннее время, в течение которого представленное видео допустимо. Например, если содержание является фильмом, то установленный время узла для соответствия представленному кадру — обычно, немного ранее, чем время исходного узла. Если содержание является фото слайд-шоу, то установленный время узла во время изображение сначала появилось, который может быть за несколько секунд до времени исходного узла. При корректировке времени этот путь помогает синхронизировать аудио с видеотреком.Возвращаемое значение
Возвраты
YES
true
если буфер успешно заполнен новыми данными кадра. ВозвратыNO
false
если ничто не изменилось, или с ошибкой встретились.Обсуждение
Этот метод вызывается каждый раз, когда кадр передается к iChat AV. Этот метод не вызывается на основной поток.
Оператор импорта
Objective C
@import InstantMessage;
Доступность
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
См. также