[patch] build VDR VNSI addon with Visual Studio 2010 (Express)
#1
Question 
Hi folks,

as I'm interested (as well as other users) in a native Windows build which includes the VNSI client, I'm trying to push this a little further by providing a patch against Pipelka's branch which adds this. I'm posting it here, as I'm not allowed to attach here in the forum. The addon then builds fine, I can even configure it, but it then fails working with a strange "No error" which I'm not able to track down:
Code:
000001 16:30:46 T:5948 M:442339328  NOTICE: -----------------------------------------------------------------------
000002 16:30:46 T:5948 M:442322944  NOTICE: Starting XBMC, Platform: Windows XP Professional Service Pack 3 build 2600. Built on Apr  2 2011 (Git:20110324-e1c4256, compiler 1600)
000003 16:30:46 T:5948 M:442322944  NOTICE: Intel(R) Core(TM)2 Duo CPU     T7500  @ 2.20GHz
000004 16:30:46 T:5948 M:442322944  NOTICE: Desktop Resolution: 1680x1050 32Bit at 59Hz
000005 16:30:46 T:5948 M:442322944  NOTICE: Running with administrator rights
000006 16:30:46 T:5948 M:442318848  NOTICE: Aero is disabled
000007 16:30:46 T:5948 M:442318848  NOTICE: special://xbmc/ is mapped to: C:\Programme\XBMC
000008 16:30:46 T:5948 M:442318848  NOTICE: special://xbmcbin/ is mapped to: C:\Programme\XBMC
000009 16:30:46 T:5948 M:442318848  NOTICE: special://masterprofile/ is mapped to: z:\PortableApps\totalcommanderportable\Data\UserProfile\Anwendungsdaten\XBMC\userdata
000010 16:30:46 T:5948 M:442318848  NOTICE: special://home/ is mapped to: z:\PortableApps\totalcommanderportable\Data\UserProfile\Anwendungsdaten\XBMC
000011 16:30:46 T:5948 M:442318848  NOTICE: special://temp/ is mapped to: z:\PortableApps\totalcommanderportable\Data\UserProfile\Anwendungsdaten\XBMC\cache
000012 16:30:46 T:5948 M:442318848  NOTICE: The executable running is: C:\Programme\XBMC\XBMC.exe
000013 16:30:46 T:5948 M:442314752  NOTICE: Log File is located: z:\PortableApps\totalcommanderportable\Data\UserProfile\Anwendungsdaten\XBMC\xbmc.log
000014 16:30:46 T:5948 M:442314752  NOTICE: -----------------------------------------------------------------------
000015 16:30:46 T:5948 M:453734400  NOTICE: Setup SDL
000016 16:30:46 T:5948 M:452108288  NOTICE: Found screen: (Standardmonitor) on NVIDIA Quadro FX 1600M, adapter 0.
000017 16:30:46 T:5948 M:452071424  NOTICE: Primary mode: 1680x1050 @ 59.94 - Full Screen

...

000077 16:30:55 T:4680 M:421371904  NOTICE: UDP: Listening on port 9777
000078 16:31:00 T:5432 M:402124800   ERROR: CRemoteControl::Connect - failed to connect
000079 16:31:43 T:5948 M:382889984   ERROR: Previous line repeats 7 times.
000080 16:31:43 T:5948 M:382889984  NOTICE: PVRManager - stopping
000081 16:31:43 T:5948 M:382877696  NOTICE: PVRManager - starting up
000082 16:31:44 T:5728 M:391614464  NOTICE: Previous line repeats 1 times.
000083 16:31:44 T:5728 M:391614464   ERROR: AddOnLog: xbmc.pvrclient/VDR VNSI Client: No error
000084 16:31:44 T:5728 M:391577600   ERROR: ADDON: Dll VDR VNSI Client - Client returned bad status (1) from Create and is not usable
000085 16:31:44 T:5728 M:391569408   ERROR: PVR - CPVRClients::LoadClients - can't initialise client 'VDR VNSI Client'
000086 16:31:44 T:5728 M:391495680  NOTICE: PVRManager - no clients enabled. pvrmanager disabled.
000087 16:31:46 T:5432 M:389726208   ERROR: CRemoteControl::Connect - failed to connect
000088 16:33:16 T:5948 M:377171968   ERROR: Previous line repeats 15 times.
000089 16:33:16 T:5948 M:377171968  NOTICE: Storing total System Uptime
000090 16:33:16 T:5948 M:377286656  NOTICE: Saving settings
000091 16:33:16 T:5948 M:377180160  NOTICE: stop all
000092 16:33:16 T:5948 M:377180160  NOTICE: PVRManager - stopping
000093 16:33:16 T:5948 M:377176064  NOTICE: ES: Stopping event server
000094 16:33:17 T:4680 M:375762944  NOTICE: ES: UDP Event server stopped
000095 16:33:17 T:5948 M:375779328  NOTICE: stop sap announcement listener
000096 16:33:17 T:5948 M:375767040  NOTICE: clean cached files!
000097 16:33:17 T:5948 M:375758848  NOTICE: unload skin
000098 16:33:17 T:5948 M:385089536  NOTICE: stop python
000099 16:33:17 T:5948 M:393310208  NOTICE: stopped
000100 16:33:17 T:5948 M:393310208  NOTICE: destroy
000101 16:33:17 T:5948 M:393379840  NOTICE: unload sections
000102 16:33:17 T:5432 M:391696384   ERROR: CRemoteControl::Connect - failed to connect
On the VDR side, I can see that the client tries to connect, (the disconnect messages are logged only after exiting XBMC on the windows host):
Code:
2011-04-03T16:31:44.974413+02:00 htpc2 vdr: [5295] VNSI: Client with ID 0 connected: 192.168.178.71:1828
2011-04-03T16:33:17.511591+02:00 htpc2 vdr: [24044] VNSI-Error: cxSocket::read: read() error at 0/4
2011-04-03T16:33:20.050874+02:00 htpc2 vdr: [5295] VNSI: Client with ID 0 seems to be disconnected, removing from client list
2011-04-03T16:33:20.050917+02:00 htpc2 vdr: [5295] VNSI: cConnection::~cConnection()
2011-04-03T16:33:20.050927+02:00 htpc2 vdr: [5295] VNSI: stopping cConnection thread ...
2011-04-03T16:33:20.050937+02:00 htpc2 vdr: [5295] VNSI: done
Can anyone, (perhaps Pipelka, or dushmaniac) shed some light on how to debug this?

P.S. I'll link this thread also to Pipelka on github.

Cheers,
Zoolook
Reply
#2
the add-on is created in xbmc/pvr/addons/PVRClient.cpp in CPVRClient::Create()
it calls Create() in xbmc/pvrclients/vdr-vnsi/client.cpp

so I suggest you put a couple of breakpoints there and have a look at what happens.

I'm not maintaining the vnsi add-on so you should really ask pipelka about this.
opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
Reply
#3
Hello Zoolook

I just digged a bit into your problem and i think i found the solution.

In VNSISession.cpp, line 168 the lasterror of the connect in line 157 is checked. If you use a non blocking socket on windows the connect method returns the "error" WSAEWOULDBLOCK (for more info: http://bobobobo.wordpress.com/2008/11/09...ouldblock/)

So the solution is, this line 168:

if (WSAGetLastError() == WSAEINPROGRESS || WSAGetLastError() == EAGAIN || WSAGetLastError() == WSAEWOULDBLOCK)

Now the addon loads and i can play around in the live tv menu.

My only problem is now that i get a debug assertion failed error in xbmc\utils\MathUtils.h when i want to play a channel. Just checking what this can be.

If you have any clue just tell me.

With regards

Joniw
Reply

Logout Mark Read Team Forum Stats Members Help
[patch] build VDR VNSI addon with Visual Studio 2010 (Express)0