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)bufferforTime:(CVTimeStamp *)timeStampПараметры
bufferПиксельный буфер для заполнения видеоданными. Размерности могут варьироваться. Используйте
CVPixelBufferGetWidthиCVPixelBufferGetHeightфункции для получения размерностей каждый раз этот метод вызываются.timeStampВремя кадра, в течение которого должен быть представлен буфер.
Необходимо представить видеокадр, соответствующий предоставленному времени узла,
timeStamp->hostTime, и прежде, чем возвратиться из этого метода, измените время узла на самое раннее время, в течение которого представленное видео допустимо. Например, если содержание является фильмом, то установленный время узла для соответствия представленному кадру — обычно, немного ранее, чем время исходного узла. Если содержание является фото слайд-шоу, то установленный время узла во время изображение сначала появилось, который может быть за несколько секунд до времени исходного узла. При корректировке времени этот путь помогает синхронизировать аудио с видеотреком.Возвращаемое значение
Возвраты
YEStrueесли буфер успешно заполнен новыми данными кадра. ВозвратыNOfalseесли ничто не изменилось, или с ошибкой встретились.Обсуждение
Этот метод вызывается каждый раз, когда кадр передается к iChat AV. Этот метод не вызывается на основной поток.
Оператор импорта
Objective C
@import InstantMessage;Доступность
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
См. также
-
Возвращает пиксель буферный контекст OpenGL и формат пикселя.
Объявление
Objective C
- (void)getOpenGLBufferContext:(CGLContextObj *)contextOutpixelFormat:(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)bufferonScreen:(int *)screenInOutforTime:(CVTimeStamp *)timeStampПараметры
bufferБуфер OpenGL для заполнения. Получатель должен вызвать
CVOpenGLBufferAttachфункционируйте и затем заполните буфер видеоданными.screenInOutРекомендуемое виртуальное экранное число для передачи
CVOpenGLBufferAttachфункция для максимальной производительности. Получатель может использовать различное экранное число, но он должен записать то значение обратно вscreenInOutперед возвратом.timeStampВремя кадра, в течение которого должен быть представлен буфер.
Необходимо представить видеокадр, соответствующий предоставленному времени узла,
timeStamp->hostTime, и прежде, чем возвратиться из этого метода, измените время узла на самое раннее время, в течение которого представленное видео допустимо. Например, если содержание является фильмом, то установленный время узла для соответствия представленному кадру — обычно, немного ранее, чем время исходного узла. Если содержание является фото слайд-шоу, то установленный время узла во время изображение сначала появилось, который может быть за несколько секунд до времени исходного узла. При корректировке времени этот путь помогает синхронизировать аудио с видеотреком.Возвращаемое значение
Возвраты
YEStrueесли буфер успешно заполнен новыми данными кадра. ВозвратыNOfalseесли ничто не изменилось, или с ошибкой встретились.Обсуждение
Этот метод вызывается каждый раз, когда кадр передается к iChat AV. Этот метод не вызывается на основной поток.
Оператор импорта
Objective C
@import InstantMessage;Доступность
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
См. также
