Я пытаюсь закодировать необработанные данные (как видеокадр, так и аудиосэмпл) в файл .asf, используя фильтр писателя asf в directshow.
моя структура графа фильтра:
raw_send_filter -> фильтр писателя asf
raw_send_filter реализует CBaseFilter и CBaseOutputPin. Он играет роль исходного фильтра, который получает необработанные данные, а затем доставляет их в фильтр записи ASF. Процесс следует за этими шагами:
- Получить буфер доставки (возврат в «образец»), используя функцию CBaseOutputPin :: GetDeliveryBuffer
- ственный образец> GetPointer (& буфер);
- Установить метку времени (с частотой кадров = 30 кадров в секунду)
- доставить образец
Проблема в том, что после кодирования некоторых необработанных данных я больше не могу доставить.
Я могу закодировать файл .avi таким образом, используя фильтр mux Avi. Можете ли вы сказать мне, почему я не могу доставить образцы после некоторых кодировок?
Спасибо.