Re: DirectShow: FileWriter vs Dump
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 12.03.03 05:05
Оценка:
Здравствуйте, sh093, Вы писали:

S>Ситуация. В своей программе создаю граф, в котором читаются некомпрессированные видео и звук, сжимаются какими-то кодеками (неважно какими, много разных пробовал), отправляются в AVI Mux и затем в стандартный File Writer или Dump из примеров DXSDK.


S>video: [File Source]->[Splitter]->[Decoder]->[Codec]->[AVI Mux]->[Dump]

S>audio: [File Source]->[Parser]->[Codec]-------------->

S>С FileWriter все всегда нормально работает, записывается файл в котором действительно есть и видео и звук. С Dump'ом выполнение графа прерывается где-то на середине, при этом моя программа ловит от графа ошибку VFW_E_START_TIME_AFTER_END (The sample start time is after the sample end time). Что это может быть?


S>Что я пробовал:

S>- найти, какой фильтр генерирует ошибку — блин, безуспешно (как?)
S>- отследить, какие интерфейсы запрашиваются у Dump и реализовать их все так, как сделано в FileWriter — не помогло.
S>- graph->SetSyncSource(NULL)
S>По большому счету это все, остальное можно отнести к шаманству и пинанию колес.

S>Помогите плз, скоро седеть начну!



Смотрим DX help и видим:

File Writer Filter:
...




Dump Filter Sample:
...


Dump — просто сэмпл — он не обязан поддерживать все вожможные ситуации и форматы.
Т.к. вы занимаетесь DShow стоит просто запомнить, что avi-шки писать лучше всего именно File Writer-ом, т.к. индексы к avi файлу пишет муксер и Dump просто не позволит ему это сделать. (см. выше)
Сергей.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.