Обновляется ли readyForMoreMediaData AVAssetWriterInput в фоновом потоке? Если readyForMoreMediaData является НЕТ, могу ли я заблокировать основной поток и подождать, пока значение не изменится на ДА?
Я использую AVAssetWriterInput, отправляя в него данные (т.е. без использования requestMediaDataWhenReadyOnQueue), и я установил expectMediaDataInRealTime, и в 99,9% случаев я может просто вызвать на нем appendSampleBuffer (или appendPixelBuffer) так быстро, как мое приложение может генерировать кадры.
Это работает нормально, если вы не переводите устройство (iPhone 3GS) в спящий режим на 15 минут или около того в середине сеанса AVAssetWriter. После пробуждения устройства appendPixelBuffer иногда получает сообщение об ошибке: «Пиксельный буфер не может быть добавлен, если для параметра readyForMoreMediaData установлено значение NO». Отсюда мой вопрос - как лучше всего ответить на readyForMoreMediaData = NO и могу ли я просто немного подождать в основном потоке, например:
while ( ![assetWriterInput readyForMoreMediaData] )
{
Sleep for a few milliseconds
}