Page 1 of 1

Cannot get vlc activeX control to play video

Posted: 19 Feb 2009 20:54
by lmwork
I'm trying to develop a simple c++ application and cannot get the vlc activeX control to play video. When I run my program I can see the activeX widget but no video will play. Here is my example program.

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

//MainWindow mainWin;
//mainWin.show();

QAxWidget* mediaPlayer_ = new QAxWidget;
QString source("Videos/Formation Reference-3.mpg");
mediaPlayer_->setControl( "{9BE31822-FDAD-461B-AD51-BE1D1C159921}"); //string is class ID for VLC Media Player
mediaPlayer_->setProperty("mrl", source);
mediaPlayer_->setProperty("autoplay", true);
mediaPlayer_->setProperty("autoloop", true);
mediaPlayer_->setProperty("visible", true);


return app.exec();
}



Any suggestions.

Below are the errors I receive:

[00000001] main libvlc debug: VLC media player - version 0.9.8a Grishenko - (c)
1996-2008 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure '--host=i5
86-mingw32msvc' '--build=i386-linux' '--enable-mkv' '--enable-release' '--withou
t-contrib' '--enable-nls' '--enable-shared-libvlc' '--enable-update-check' '--en
able-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-twolame' '
--enable-quicktime' '--enable-real' '--enable-realrtsp' '--enable-ffmpeg' '--wit
h-ffmpeg-mp3lame' '--with-ffmpeg-faac' '--with-ffmpeg-config-path=/usr/win32/bin
' '--with-ffmpeg-zlib' '--enable-live555' '--with-live555-tree=/usr/win32/live.c
om' '--ena
[00000001] main libvlc debug: translation test: code is "C"
[00000001] main libvlc debug: checking builtin modules
[00000001] main libvlc debug: checking plugin modules
[00000001] main libvlc debug: loading plugins cache file C:\Documents and Settin
gs\bellrd1\Application Data\vlc\plugins-zxzx04.dat
[00000001] main libvlc debug: recursively browsing `d:\QtVideoPlayer\Qt_MediaPla
yerWidgets\debug\modules'
[00000001] main libvlc debug: recursively browsing `d:\QtVideoPlayer\Qt_MediaPla
yerWidgets\debug\plugins'
[00000001] main libvlc debug: recursively browsing `C:\Program Files\VideoLAN\VL
C\plugins'
[00000001] main libvlc debug: module bank initialized, found 262 modules
[00000001] main libvlc debug: CPU has capabilities 486 586 MMX MMXEXT SSE SSE2 F
PU
[00000001] main libvlc debug: looking for memcpy module: 3 candidates
[00000001] main libvlc debug: using memcpy module "memcpymmxext"
[00000366] main interaction debug: thread 4924 (Interaction control) created at
priority 0 (interface/interaction.c:382)
[00000366] main interaction debug: thread started
[00000368] main preparser debug: waiting for thread initialization
[00000368] main preparser debug: thread started
[00000368] main preparser debug: thread 4976 (preparser) created at priority 0 (
playlist/thread.c:79)
[00000369] main fetcher debug: waiting for thread initialization
[00000369] main fetcher debug: thread started
[00000369] main fetcher debug: thread 4992 (fetcher) created at priority 0 (play
list/thread.c:10
[00000367] main playlist debug: waiting for thread initialization
[00000367] main playlist debug: thread started
[00000367] main playlist debug: rebuilding array of current - root Playlist
[00000367] main playlist debug: rebuild done - 0 items, index -1
[00000367] main playlist debug: thread 5000 (playlist) created at priority 0 (pl
aylist/thread.c:117)
[00000370] main interface debug: looking for interface module: 1 candidate
[00000370] main interface debug: using interface module "hotkeys"
[00000370] main interface debug: thread 5016 (interface) created at priority 0 (
interface/interface.c:16
[00000370] main interface debug: thread started
*** LibVLC Exception not handled: No active input
Set a breakpoint in 'libvlc_exception_not_handled' to debug.
*** LibVLC Exception not handled: No active input
Set a breakpoint in 'libvlc_exception_not_handled' to debug.
*** LibVLC Exception not handled: No active input
Set a breakpoint in 'libvlc_exception_not_handled' to debug.
*** LibVLC Exception not handled: No active input
Set a breakpoint in 'libvlc_exception_not_handled' to debug.

Re: Cannot get vlc activeX control to play video

Posted: 23 Feb 2009 13:42
by thannoy
Hi,

here are just some ideas, nothing sure:
- You give a QString to mrl, what happen if you give it a legacy null-terminated char*? (well, the QT object maybe handle this directly)
- I can not see where is displayed the ActiveX, isn't it embedded in a visible window? (with commented lines I suppose you already tried it)
- You can try to comment the setProperty("mrl" line and use ".playlist.add()"-equivalent call, later.

Re: Cannot get vlc activeX control to play video

Posted: 24 Feb 2009 01:47
by lmwork
I tried your suggestions and got the same results.

I also tried to create an instance of VLCControl and was not successful.

I also tried to used the interface directily with IVLCControl ,C2FA41D0-B113-476e-AC8C-9BD14999C1C1, I was unsuccessful, got message saying class not registered (I registered the axvlc.dll); is it something else I have to do the use IVLCControl?

Do you know where a working example of a c++ application that interfaces with the vlc activeX control, my c++ application is being built in Microsoft Visual C++ .Net 2003; I have vlc version 9.8a

Thanks in advance...

Re: Cannot get vlc activeX control to play video

Posted: 12 Apr 2009 10:10
by viz007
Hav u got it??? I am also trying to stream audio in visual studio using "c", but not able to do so.......If you know then plzzz help me....

Re: Cannot get vlc activeX control to play video

Posted: 17 Apr 2009 13:26
by revolunet
use the activex API from wiki.videolan.org/Documentation:Play_HowTo/Advanced_Use_of_VLC#Building_HTML_pages_for_Mozilla.2FFirefox.2FInternet_Explorer.2FSafari_.28VLC_version_0.8.6_and_above.29