Seite 1 von 1

[DX9 C++] Versuche mit libvlc

Verfasst: 03.05.2011, 14:25
von D3DX
Hallo,
ich versuche momentan die libvlc (http://wiki.videolan.org/LibVLC) in mein funktionierendes DirectX9 Projekt einzufügen. (c++ win32 / dx9 / libvlc v1.1.4)
Angestrebtes Ziel ist es, Videos auf einer Textur darzustellen.

Das Problem liegt nun darin, daß sich das Programm erst gar nicht mehr starten lässt und mit folgender Meldung antwortet.
Bild

Diese Fehlermeldung taucht auf, sobald sich folgende Zeile im Code befindet

Code: Alles auswählen

.
.
m_libvlc = libvlc_new (sizeof(vlc_args) / sizeof(vlc_args[0]), vlc_args);
.
.
Diese Zeile steckt in meiner Klasse Vlc::init() und obwohl ich in der Anwendung kein init() aufrufe, kommt die oben genannte Fehlermeldung.
Erst, wenn ich diese Zeile auskommentiere, läuft das Programm wieder...

Habe bereits das web erfolglos nach Antworten durchsucht.
Wäre über eure Ideen sehr dankbar

Re: [DX9 C++] Versuche mit libvlc

Verfasst: 03.05.2011, 14:29
von dot
Sehr komischt. Verwendest du irgendwo Direct3DCreate9()!? Wenn ja, hast du die d3d9.lib gelinkt?

Re: [DX9 C++] Versuche mit libvlc

Verfasst: 03.05.2011, 14:33
von D3DX
Ja, ich habe eine klasse device::init() in der
d3d_9 = Direct3DCreate9( D3D_SDK_VERSION );
....
vertexProcessing = D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED; //D3DCREATE_HARDWARE_VERTEXPROCESSING;
erstellt wird.

Re: [DX9 C++] Versuche mit libvlc

Verfasst: 03.05.2011, 14:40
von Schrompf
Evtl. hat die libvlc auch selber Abhängigkeiten zu D3D9? Wenn ja, versucht die Lib dann in ihrem Startup-Code, die D3D9-DLL zu laden und merkt dann, dass das irgendwie ne andere Version ist, als sie erwartet, weil sie die genannte Funktion nicht darin findet.

€dit: Ne, das ergibt keinen Sinn. Aus unerfindlichen Gründen scheint er zu denken, dass er die D3D-Funktionen in der lib findet. Wie sollte das zustandekommen?

Re: [DX9 C++] Versuche mit libvlc

Verfasst: 03.05.2011, 14:49
von D3DX
das kann sehr gut sein, dass die lib das directx device nutzt.
und warscheinlich nicht das juni2010 sdk, welches ich verwende.
die verwendete libvlc ist bereits eine ältere version (1.1.4).
Aktuell gibts die 1.1.9 - nur dort gibts keine fertigen libs.
die muss man sich selber bauen, was mir aber noch nicht gelungen ist.
Falls jemand die libvlc.lib und die libvlccore.lib in der version 1.1.9 besitzt... ich könnte sie zum testen gebrauchen ;)

hat denn schon jemand diese lib in sein c++/dx9 projekt eingebunden?

Re: [DX9 C++] Versuche mit libvlc

Verfasst: 03.05.2011, 15:08
von D3DX
Also ich habe mir jetzt die aktuelle libvlc.lib gebaut und verwende nun die version 1.1.9
Jetzt kommt keine Meldung mehr und das Programm startet - auch mit dem Aufruf vlc::init() sieht alles gut aus.

Nun kann es endlich weiter gehen.... bis zum nächsten problem