DirectShow - Cannot Render File
-
Hallo,
ich entwickle gerade Testweise eine kleine Directshow-Anwendung für Windows Mobile 5:
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; // MFC initialisieren und drucken. Bei Fehlschlag Fehlermeldung aufrufen. if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // TODO: Den Fehlercode an Ihre Anforderungen anpassen. _tprintf(_T("Schwerwiegender Fehler bei der MFC-Initialisierung\n")); nRetCode = 1; } else { // TODO: Hier den Code für das Verhalten der Anwendung schreiben. HRESULT hr; IGraphBuilder *pGraphBuilder; IMediaControl *pMediaControl; CoInitialize(NULL); hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pGraphBuilder); hr = pGraphBuilder->QueryInterface(IID_IMediaControl, (void **)&pMediaControl); hr = pGraphBuilder->RenderFile(L"\\test.wmv", NULL); if (hr == VFW_E_CANNOT_RENDER){ //FEHLER if ((HRESULT)hr >=0 ){ pMediaControl->Run(); MessageBox(NULL, L"Click OK to end playback.", L"DirectShow", MB_OK); } pMediaControl->Release(); pGraphBuilder->Release(); CoUninitialize(); } return nRetCode; }
Dabei liefert der Aufruf
pGraphBuilder->RenderFile(L"\\test.wmv", NULL);
den Fehlercode VFW_E_CANNOT_RENDER - also: no combination of filters could be found to render the stream
Die Datei kann aber durch direkte Auswahl im Fileexplorer im Mediaplayer wiedergegeben werden - die Codecs sind also vorhanden.
Hat jemand ne Idee, wo das Problem liegen könnte
-
Kannst du sie mit GraphEdit rendern?