Hi there,
I made a patch which re-enables the "Streaming Control" menu for the VDR streamdev plugin from CVS. The key feature of this menu is the "Remote Timer" functionality.
The "Streaming Control" menu has been commented out in April 2005. A few changes were necessary to adapt the old code to recent VDR 1.3 releases.
The patch also includes the fix for switching transponders if no idle dvb card is available (as suggested by PanamaJack and possibly others)
Requirements: - streamdev from CVS (any snapshot taken after May 2005 should do) - vdr 1.3.34 (newer vdr version might work - not tested) - Timers on the server must not be in old format (Day of month only)
You will find the patch at
Enjoy, Frank
Hi
it doesn't compile with vdr-1.3.39:
g++ -O2 -Wall -Woverloaded-virtual -O2 -c -D_GNU_SOURCE -DHAVE_AUTOPID -I../../. ./include -I../DVB/include -I. -o client/menu.o client/menu.c client/menu.c: In constructor `cStreamdevMenuEditTimer::cStreamdevMenuEditTimer( cRemoteTimer*, bool)': client/menu.c:143: error: invalid conversion from `int*' to `uint*' client/menu.c:143: error: initializing argument 2 of `cMenuEditBitItem::cMenuE ditBitItem(const char*, uint*, uint, const char*, const char*)' client/menu.c:154: error: invalid conversion from `int*' to `uint*' client/menu.c:154: error: initializing argument 2 of `cMenuEditBitItem::cMenuE ditBitItem(const char*, uint*, uint, const char*, const char*)' make: *** [client/menu.o] Error 1
The fix is to change the line 63 of client/remote.h
private: bool m_IsValid; int m_Index; - int m_Active; #if VDRVERSNUM >= 10334 time_t m_Day; #else int m_Day;
private: bool m_IsValid; int m_Index; + uint m_Active; #if VDRVERSNUM >= 10334 time_t m_Day; #else int m_Day;
Hello,
unfortunately it compiles but doesn't run:
vdr: /home/vdr/lib2/libvdr-streamdev-client.so.1.3.39: undefined symbol: _ZN16cMenuWhatsOnItemC1EPK6cEventP8cChannel
I grepped for cMenuWhatsOnItem, but I can only find it in client/menu.[co] and linvdr-streamdev-client.
S.
Try renaming each occurence of cMenuWhatsOnItem you find in client/menu.c into cMenuScheduleItem. Might however require additional changes...
Good luck, Frank