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