render media file
От: Аноним  
Дата: 25.05.05 12:57
Оценка:
есть такая проблема — в Graph Edit-е через render media file строится нормальный граф:

                     - ffdshow MPEG-4 Video Decoder - Video Renderer
*.avi - AVI Splitter |
                     - ACM Wrapper - DirectSound


а когда я из своей программы делаю IGraphBuilder::RenderFile(), то звук из сплиттра не рендерится =( если рендерить пин — возвращает VFW_E_INVALIDMEDIATYPE.
Кто-нибудь сталкивался с такой проблемой?
Re: render media file
От: aik Австралия  
Дата: 26.05.05 06:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>есть такая проблема — в Graph Edit-е через render media file строится нормальный граф:

А>
А>                     - ffdshow MPEG-4 Video Decoder - Video Renderer
А>*.avi - AVI Splitter |
А>                     - ACM Wrapper - DirectSound
А>

А>а когда я из своей программы делаю IGraphBuilder::RenderFile(), то звук из сплиттра не рендерится =( если рендерить пин — возвращает VFW_E_INVALIDMEDIATYPE.
А>Кто-нибудь сталкивался с такой проблемой?

В твоей программе на момент вызова RenderFile уже есть вставленные в граф фильтры? Путь до файла 100% правильный?
Re[2]: render media file
От: Vircom  
Дата: 26.05.05 10:51
Оценка:
путь правильный — видеопоток рендерит без проблем, фильтров никаких не вставляю:

HRESULT hr = m_pGraph.CoCreateInstance(CLSID_FilterGraph);
if (SUCCEEDED(hr))
    hr = m_pGraph->RenderFile(A2BSTR(pFile), NULL);
Re[3]: render media file
От: aik Австралия  
Дата: 26.05.05 15:52
Оценка: 2 (1)
Здравствуйте, Vircom, Вы писали:

V>путь правильный — видеопоток рендерит без проблем, фильтров никаких не вставляю:


V>
V>HRESULT hr = m_pGraph.CoCreateInstance(CLSID_FilterGraph);
V>if (SUCCEEDED(hr))
V>    hr = m_pGraph->RenderFile(A2BSTR(pFile), NULL);
V>


Ну я бы посмотрел какие медиатипа есть на выходе у пина AVISplitter'а, посмотрел бы состав графа после неудачного рендера (либо ROT+graphedit::connect, либо проэнумерил фильтры в графе), попробовал бы вставить DirectSoundRender в граф перед вызовом RenderFile и отрендерить с ним, посмотрел бы debug-output на предмет что вообще в процесс грузится, попробовал бы другой файл (с другим кодеком или вообще другого типа — asf/mpeg1/mpeg2).
Готового ответа нет.
А вообще — это вполне рядовая проблема
Re[4]: render media file
От: Vircom  
Дата: 26.05.05 18:54
Оценка:
aik>Ну я бы посмотрел какие медиатипа есть на выходе у пина AVISplitter'а, посмотрел бы состав графа после неудачного рендера (либо ROT+graphedit::connect, либо проэнумерил фильтры в графе), попробовал бы вставить DirectSoundRender в граф перед вызовом RenderFile и отрендерить с ним, посмотрел бы debug-output на предмет что вообще в процесс грузится, попробовал бы другой файл (с другим кодеком или вообще другого типа — asf/mpeg1/mpeg2).
aik>Готового ответа нет.
aik>А вообще — это вполне рядовая проблема

на выходе сплиттера — WMAudio V8
состав графа — так же как при рендеринге в Graph Edit-е, только без соответственно ACM Wrapper и DSound
попробовал вставлять до рендеринга ACM Wrapper и DSound — ни сколько не помогает — они так и остаются "в стороне"
пытался принудительно законнектить, ACM Wrapper прицепляется к сплиттеру, но его выход не хочет соединятся с DSound — 0x80040217 (VFW_E_CANNOT_CONNECT)
у меня есть предположение, что этот глюк как-то связан с WMAudio, но что с этим делать понять не могу =(
Re[5]: render media file
От: Vircom  
Дата: 26.05.05 19:03
Оценка:
И еще — если в Graph Edit загрузить через ROT мой граф, а потом попробовать сделать Render Media File этому фильму, то он отказывается — "Could not construct a graph from this file"... вообще бред! =(
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.