Proyecto movido a GitHub
Miér 7 Abr 2021 - 19:23 por bittor
Proyecto movido a GitHub:
https://github.com/bittor7x0/VDR-M7x0
Con muchos cambios y correcciones, Más información
También incluye el plugin epgfixer para corregir la EPG usando expresiones regulares y el plugin xmltv2vdr para descargar la EPG de internet
https://github.com/bittor7x0/VDR-M7x0
Con muchos cambios y correcciones, Más información
También incluye el plugin epgfixer para corregir la EPG usando expresiones regulares y el plugin xmltv2vdr para descargar la EPG de internet
Comentarios: 0
Buscar
VDR to XBMC
5 participantes
Página 1 de 3.
Página 1 de 3. • 1, 2, 3
Re: VDR to XBMC
Problem fixed by changing the xvdr-Makefile
- Código:
export CXXFLAGS = -fPIC -W -Woverloaded-virtual -Wno-parentheses
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
Hi guybrush,
thats look very good.
Does this mean the xvdr plugin is running now ?
If yes, do you mind to share the source code ?
Regards,
Rainer
thats look very good.
Does this mean the xvdr plugin is running now ?
If yes, do you mind to share the source code ?
Regards,
Rainer
RainerW- Cantidad de envíos : 38
Fecha de inscripción : 31/01/2010
Edad : 68
Re: VDR to XBMC
Hi,
just a little update:
running vdr + vnsiser + xbmc on my raspberry is only partialy working :-(
I think that's because the pi maybe has not enough memory.
Mine only has 256 MB. Running vdr on a laptop + vnsiserver everyting looks good. But I don't want to have my laptop running 24 hrs !
So I'm looking forward testing the xvdr server on M740.
Regards,
Rainer
just a little update:
running vdr + vnsiser + xbmc on my raspberry is only partialy working :-(
I think that's because the pi maybe has not enough memory.
Mine only has 256 MB. Running vdr on a laptop + vnsiserver everyting looks good. But I don't want to have my laptop running 24 hrs !
So I'm looking forward testing the xvdr server on M740.
Regards,
Rainer
RainerW- Cantidad de envíos : 38
Fecha de inscripción : 31/01/2010
Edad : 68
Re: VDR to XBMC
xvdr-plugin is not running yet, but i am able to compile it. m740 log:
I have some stupid simple general problems :-(
1) I always do a "full" compile (touch .config && make) How do I only compile the plugin?
2) xvdr-plugin does not find the vdr header files, so my workaround is to put in all xvdr-files the absolute path to the vdr header. I tried different things with VDRDIR in the Makefile, but without success
3) After compiling I can find the xvdr plugin in the xvdr-plugin-folder, but it is not copied to the firmware. I always get the error:
P.S. I am using OpenElec (2.99.1) (XBMC Frodo) with an AMD E-350.
- Código:
Jan 26 15:41:04 (none) user.info vdr: [135] VDR version 1.4.7 m7x0 version Preview 2013-01-03 19:03 (VDR-NG-EM version: pre 0.8 BETA) started
Jan 26 15:41:04 (none) user.info vdr: [135] loading plugin: /var/vdr/lib/libvdr-xvdr.so.1.4.5
Jan 26 15:41:04 (none) user.err vdr: [135] ERROR: Unable to resolve symbol
I have some stupid simple general problems :-(
1) I always do a "full" compile (touch .config && make) How do I only compile the plugin?
2) xvdr-plugin does not find the vdr header files, so my workaround is to put in all xvdr-files the absolute path to the vdr header. I tried different things with VDRDIR in the Makefile, but without success
3) After compiling I can find the xvdr plugin in the xvdr-plugin-folder, but it is not copied to the firmware. I always get the error:
- Código:
Error: Cannot open file '/home/marcus/vdr-ng-em/m7x0_xtc_uclibc_Linux-i686/target_root/usr/lib/vdr/libvdr-xvdr.so.1.4.5'
make: *** [/home/marcus/vdr-ng-em/m7x0_xtc_uclibc_Linux-i686/stagefiles/file_tab.rootfs_dir_m740_pro.lst] Fehler 1
P.S. I am using OpenElec (2.99.1) (XBMC Frodo) with an AMD E-350.
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
Hi guybrush,
to bad it does not tell you what symbol cannot be resolved :-(
Are these the only errors you get during compile ?
Do you mind to share the source with your correction ?
4 Eyes may see more then just 2
I have the same problem with the full compile, have not figured out
yet how to compile only the plugins.
Regards,
Rainer
to bad it does not tell you what symbol cannot be resolved :-(
Are these the only errors you get during compile ?
Do you mind to share the source with your correction ?
4 Eyes may see more then just 2
I have the same problem with the full compile, have not figured out
yet how to compile only the plugins.
Regards,
Rainer
RainerW- Cantidad de envíos : 38
Fecha de inscripción : 31/01/2010
Edad : 68
Re: VDR to XBMC
Would be nice to have xvdr or vnsi for the M7x0.
_ReaL_- Cantidad de envíos : 24
Fecha de inscripción : 13/07/2012
Localización : Cádiz
Re: VDR to XBMC
Plugin isn't compiled correctly with ToolChain.guybrush escribió:xvdr-plugin is not running yet, but i am able to compile it. m740 log:
- Código:
Jan 26 15:41:04 (none) user.info vdr: [135] VDR version 1.4.7 m7x0 version Preview 2013-01-03 19:03 (VDR-NG-EM version: pre 0.8 BETA) started
Jan 26 15:41:04 (none) user.info vdr: [135] loading plugin: /var/vdr/lib/libvdr-xvdr.so.1.4.5
Jan 26 15:41:04 (none) user.err vdr: [135] ERROR: Unable to resolve symbol
make recompile-vdr-plugins && makeguybrush escribió:1) I always do a "full" compile (touch .config && make) How do I only compile the plugin?
You can check other Makefile m7x0-plugins, for example:guybrush escribió:2) xvdr-plugin does not find the vdr header files, so my workaround is to put in all xvdr-files the absolute path to the vdr header. I tried different things with VDRDIR in the Makefile, but without success
- Código:
DVBDIR ?= ../../..
VDRDIR ?= ../../..
LIBDIR ?= ../../lib
You must also use "?=" in CXX, CXXFLAGS, AR, ...
You must have a error before when compiled plugin, for example, plugin do a strip to .so file but it isn't using strip from ToolChain.guybrush escribió:3) After compiling I can find the xvdr plugin in the xvdr-plugin-folder, but it is not copied to the firmware. I always get the error:
- Código:
Error: Cannot open file '/home/marcus/vdr-ng-em/m7x0_xtc_uclibc_Linux-i686/target_root/usr/lib/vdr/libvdr-xvdr.so.1.4.5'
make: *** [/home/marcus/vdr-ng-em/m7x0_xtc_uclibc_Linux-i686/stagefiles/file_tab.rootfs_dir_m740_pro.lst] Fehler 1
Re: VDR to XBMC
Hi bittor,
Thank You for your very useful hints. Now compiliation runs to: "Finished, we are ready to rumble ..." :-)
m740-log looks promising and I can start to debug xvdr plugin line by line.
I figured out, m740 is crashing at this line:
Thank You for your very useful hints. Now compiliation runs to: "Finished, we are ready to rumble ..." :-)
m740-log looks promising and I can start to debug xvdr plugin line by line.
- Código:
Jan 29 09:24:31 (none) user.info vdr: [243] initializing plugin: xvdr (0.9.6): XVDR Server
Jan 29 09:24:32 (none) user.info vdr: [243] loading /etc/vdr/plugins/xvdr/xvdr.conf
Jan 29 09:24:32 (none) user.info vdr: [243] XVDR: next command to be executed: m_cache.clear()
Jan 29 09:24:32 (none) user.info vdr: [243] XVDR: next command to be executed: XVDRChannels.Lock(false)
Jan 29 09:24:34 (none) user.debug syslog: [295] DEBUG: set IaMode -> 1
I figured out, m740 is crashing at this line:
- Código:
XVDRChannels.Lock(false)
- Código:
bool cXVDRChannels::Lock(bool Write, int TimeoutMs) {
if (cRwLock::Lock(Write, TimeoutMs)) {
if (Get()->Lock(Write, TimeoutMs)) {
return true;
} else {
cRwLock::Unlock();
}
}
return false;
}
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
Maybe you will laugh ... To understand what the plugin is doing and see quickly which commands are executed I have implemented before each command an output to the LOG-file, e.g.:
- Código:
INFOLOG("next command to be executed: XVDRChannels.Lock(false)");
XVDRChannels.Lock(false);
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
OK, no problem, you can add log lines inside cXVDRChannels::Lock, so know if error is in cRwLock::Lock, Get()->Lock or cRwLock::Unlock.
Also you can enable strace in .config file (CONFIG_STRACE = y) and recompile for run vdr with strace and detect problem.
Here you have any examples, but basically would be:
channels.conf format is different and this could be the problem.
Also you can enable strace in .config file (CONFIG_STRACE = y) and recompile for run vdr with strace and detect problem.
Here you have any examples, but basically would be:
- Código:
kill-vdr
strace /usr/bin/vdr -E /var/vdr/epg.data -c /etc/vdr -L /var/vdr/lib -v /var/vdr/video0 -s /etc/vdr/shutdownvdr -P* -i `/usr/sbin/pic_tool start-mode` -l 3
channels.conf format is different and this could be the problem.
Re: VDR to XBMC
Hi Bittor,
I followed your proposal and have strace enabled. Last error is "Segmentation fault", but I have no idea about the reason.
I followed your proposal and have strace enabled. Last error is "Segmentation fault", but I have no idea about the reason.
- Código:
...
time([1359744657]) = 1359744657
open("/etc/TZ", O_RDONLY) = 16
read(16, "CET-1CEST,M3.5.0,M10.5.0/03:00:0"..., 68) = 34
read(16, "", 34) = 0
close(16) = 0
write(3, "<14>Feb 1 19:50:57 vdr: [350] X"..., 82) = 82
rt_sigaction(SIGPIPE, {SIG_DFL, ~[HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ RT_0 RT_1 RT_2 RT_3 RT_4 RT_5 RT_6 RT_7 RT_8 RT_9 RT_10 RT_11 RT_12 RT_13 RT_14 RT_15 RT_16 RT_17 RT_18 RT_19 RT_20 RT_21 RT_22 RT_23 RT_24 RT_25 RT_26 RT_27 RT_28 RT_29 RT_30 RT_31 RT_32 RT_33 RT_34 RT_35 RT_36 RT_37 RT_38 RT_39 RT_40 RT_41 RT_42 RT_43 RT_44 RT_45 RT_46 RT_47 RT_48 RT_49 RT_50 RT_51 RT_52 RT_53 RT_54 RT_55 RT_56 RT_57 RT_58 RT_59 RT_60 RT_61 RT_62 RT_63 RT_64 RT_78], 0}, NULL, 16) = 0
gettid() = 350
rt_sigaction(SIGPIPE, {SIG_DFL, [], SA_STACK|SA_INTERRUPT|0x2cae9c0}, {SIG_DFL, ~[HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ RT_0 RT_1 RT_2 RT_3 RT_4 RT_5 RT_6 RT_7 RT_8 RT_9 RT_10 RT_11 RT_12 RT_13 RT_14 RT_15 RT_16 RT_17 RT_18 RT_19 RT_20 RT_21 RT_22 RT_23 RT_24 RT_25 RT_26 RT_27 RT_28 RT_29 RT_30 RT_31 RT_32 RT_33 RT_34 RT_35 RT_36 RT_37 RT_38 RT_39 RT_40 RT_41 RT_42 RT_43 RT_44 RT_45 RT_46 RT_47 RT_48 RT_49 RT_50 RT_51 RT_52 RT_53 RT_54 RT_55 RT_56 RT_57 RT_58 RT_59 RT_60 RT_61 RT_62 RT_63 RT_64 RT_78], 0}, 16) = 0
time([1359744657]) = 1359744657
open("/etc/TZ", O_RDONLY) = 16
read(16, "CET-1CEST,M3.5.0,M10.5.0/03:00:0"..., 68) = 34
read(16, "", 34) = 0
close(16) = 0
write(3, "<14>Feb 1 19:50:57 vdr: [350] X"..., 91) = 91
rt_sigaction(SIGPIPE, {SIG_DFL, ~[HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ RT_0 RT_1 RT_2 RT_3 RT_4 RT_5 RT_6 RT_7 RT_8 RT_9 RT_10 RT_11 RT_12 RT_13 RT_14 RT_15 RT_16 RT_17 RT_18 RT_19 RT_20 RT_21 RT_22 RT_23 RT_24 RT_25 RT_26 RT_27 RT_28 RT_29 RT_30 RT_31 RT_32 RT_33 RT_34 RT_35 RT_36 RT_37 RT_38 RT_39 RT_40 RT_41 RT_42 RT_43 RT_44 RT_45 RT_46 RT_47 RT_48 RT_49 RT_50 RT_51 RT_52 RT_53 RT_54 RT_55 RT_56 RT_57 RT_58 RT_59 RT_60 RT_61 RT_62 RT_63 RT_64 RT_78], 0}, NULL, 16) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Segmentation fault
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
Are there a problem with date?
Can you upload plugin source code for M7x0 in any free server?
Can you upload plugin source code for M7x0 in any free server?
Re: VDR to XBMC
Please find sources here http://guybrush.bugs3.com/
You will also find my vdr-m7x0-folder, because I made changes to:
receiver.h
channels.h
si.h (libsi)
config.h
tools.h
All changes are labeled with "//marcus"
You will also find my vdr-m7x0-folder, because I made changes to:
receiver.h
channels.h
si.h (libsi)
config.h
tools.h
All changes are labeled with "//marcus"
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
Hi,
There is some problems with changes in the source code.
The first problem is in modified vdr-m7x0 code, inside libsi/si.h now is defined "EnhancedAC3DescriptorTag" (before it was called "EAC3DescriptorTag"), but it's not updated in pat.c, then vdr doesn't compile.
This is fixed changing "EAC3DescriptorTag" with "EnhancedAC3DescriptorTag" in pat.c (it's necessary change it too in channelscan and streamdev plugins).
The segmentation fault was in plugin when calling to "XVDRChannels" because object file wasn't generated nor included in binary plugin. Neither is generated object for streaminfo, so calls to it will fail.
This is fixed adding object files to Makefile in OBJS section (src/xvdr/xvdrchannels.o and src/demuxer/streaminfo.o).
Others errors exist in Makefile, use "?=" in CXXFLAGS and DVBDIR, and change "g++" with "$(CXX)".
By default, timeshift dir is in /video, you must edit src/live/livequeue.c and change:
You have done any changes to plugin "dangerous" as remove packet payload length and in vdr code only have changed headers files for have a plugin's compilation without errors, but exist same error that with "XVDRChannels", for example Utf8CharLen, AddPid or SetPids only are defined, so you'll get other segmentation fault when they are called.
It's necessary add functionality in .c files too.
For add UTF-8 support, I think is better use defines as in EPGSearch plugin:
With these changes xvdr plugin should start correctly, but I doubt that work completly with XBMC because a code's piece for process packets is commented, perhaps work timers, channels, disk usage, ... but you'll not be able to play recordings nor live streaming.
I'll add support for VDR 1.7.x TS recordings and then some commented lines in plugin would work without problems.
There is some problems with changes in the source code.
The first problem is in modified vdr-m7x0 code, inside libsi/si.h now is defined "EnhancedAC3DescriptorTag" (before it was called "EAC3DescriptorTag"), but it's not updated in pat.c, then vdr doesn't compile.
This is fixed changing "EAC3DescriptorTag" with "EnhancedAC3DescriptorTag" in pat.c (it's necessary change it too in channelscan and streamdev plugins).
The segmentation fault was in plugin when calling to "XVDRChannels" because object file wasn't generated nor included in binary plugin. Neither is generated object for streaminfo, so calls to it will fail.
This is fixed adding object files to Makefile in OBJS section (src/xvdr/xvdrchannels.o and src/demuxer/streaminfo.o).
Others errors exist in Makefile, use "?=" in CXXFLAGS and DVBDIR, and change "g++" with "$(CXX)".
By default, timeshift dir is in /video, you must edit src/live/livequeue.c and change:
- Código:
cString cLiveQueue::TimeShiftDir = "/video";
- Código:
cString cLiveQueue::TimeShiftDir = "/var/vdr/video0";
You have done any changes to plugin "dangerous" as remove packet payload length and in vdr code only have changed headers files for have a plugin's compilation without errors, but exist same error that with "XVDRChannels", for example Utf8CharLen, AddPid or SetPids only are defined, so you'll get other segmentation fault when they are called.
It's necessary add functionality in .c files too.
For add UTF-8 support, I think is better use defines as in EPGSearch plugin:
- Código:
#if APIVERSNUM < 10503
#define Utf8BufSize(s) ((s) * 4)
#define Utf8StrLen(s) strlen(s)
#define Utf8Strn0Cpy(d, s, n) strn0cpy(d, s, n)
#endif
With these changes xvdr plugin should start correctly, but I doubt that work completly with XBMC because a code's piece for process packets is commented, perhaps work timers, channels, disk usage, ... but you'll not be able to play recordings nor live streaming.
I'll add support for VDR 1.7.x TS recordings and then some commented lines in plugin would work without problems.
Re: VDR to XBMC
Hi bittor,
your weekend starts early :-)
Thanks for reviewing and leading us into the right directions.
Regards,
Rainer
your weekend starts early :-)
Thanks for reviewing and leading us into the right directions.
Regards,
Rainer
RainerW- Cantidad de envíos : 38
Fecha de inscripción : 31/01/2010
Edad : 68
Re: VDR to XBMC
Hi bittor,
Thank You for your comments. I know I did very dirty coding. My first goal was to compile xvdr plugin without errors and establish a stable connection between XBMC and m740av even when I disable almost all functionallity (that's why the commented lines). Next I would try to get back the functionality step by step...
What is your opinion? Do you think it's worth "wasting" a lot of time trying to get xvdr-plugin partly working?
Thank You for your comments. I know I did very dirty coding. My first goal was to compile xvdr plugin without errors and establish a stable connection between XBMC and m740av even when I disable almost all functionallity (that's why the commented lines). Next I would try to get back the functionality step by step...
What is your opinion? Do you think it's worth "wasting" a lot of time trying to get xvdr-plugin partly working?
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
A plugin partly working is easy if you follow my instructions, hard work is in support PES-TS recordings because it have changed completely but I have a lot of work done in VDR and this will be used by plugin.
You can try to connect XBMC and m740 only with timers or channels list (for example) and if it work, wait to I finish new TS recordings format.
Any change neccesary by plugin for streaming or records will be easier then.
You can try to connect XBMC and m740 only with timers or channels list (for example) and if it work, wait to I finish new TS recordings format.
Any change neccesary by plugin for streaming or records will be easier then.
Re: VDR to XBMC
Hi bittor,
i followed your instructions and my first quick test with XBMC (Openelec 2.99.1 generic, xvdr-plugin 0.98) was successful. Although XBMC mentioned for 1 second: "Lost connection to VDR server" following functions seem to work:
- XBMC is showing channel list
- XBMC is showing timers
- XBMC can create timers
- XBMC is showing EPG timeline
- XBMC is showing recordling list
- XBMC is playing recordings
NOT working:
- TV live streaming (as bittor mentioned)
i followed your instructions and my first quick test with XBMC (Openelec 2.99.1 generic, xvdr-plugin 0.98) was successful. Although XBMC mentioned for 1 second: "Lost connection to VDR server" following functions seem to work:
- XBMC is showing channel list
- XBMC is showing timers
- XBMC can create timers
- XBMC is showing EPG timeline
- XBMC is showing recordling list
- XBMC is playing recordings
NOT working:
- TV live streaming (as bittor mentioned)
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
Excellent news!
I think that this work should be in SVN, for it commented code in plugin would go enclosure with a macro, for example "#ifdef XVDR_PLUGIN_TODO", so enabling this macro we can test functionality to do.
This macro could be too in new vdr code for trace quickly these changes.
You can sign in in assembla and commit these changes in trunk (Do not break anything! ) or can upload them in your page and I'll upload them.
I think that this work should be in SVN, for it commented code in plugin would go enclosure with a macro, for example "#ifdef XVDR_PLUGIN_TODO", so enabling this macro we can test functionality to do.
This macro could be too in new vdr code for trace quickly these changes.
You can sign in in assembla and commit these changes in trunk (Do not break anything! ) or can upload them in your page and I'll upload them.
Re: VDR to XBMC
Good idea, i will add for currently commented (disabled) code #ifdef XVDR_PLUGIN_TODO and for changes outside xvdr-plugin #ifdef XVDR_PLUGIN_ENABLE. What would be the right file to define those macros (xvdr.h or xvdr.c)?
guybrush- Cantidad de envíos : 24
Fecha de inscripción : 24/01/2013
Re: VDR to XBMC
The right file would be Make.config from VDR because plugins include it, so it's best to use the same name for macro (vdr and xvdr-plugin), for example:
- Código:
DEFINES += -DXVDR_PLUGIN_TODO
Re: VDR to XBMC
Sorry, you were right and 2 macros are necessary, one for vdr because it will be always enabled and other for plugin that will be disabled by default.
Página 1 de 3. • 1, 2, 3
Temas similares
» Plugin vdr xbmc
» XBMC, streamdev y iPad 3
» Directorios de grabación .rec e integración con XBMC
» [SOLUCIONADO] Mediatomb y XBMC (via Raspbmc)
» XBMC, streamdev y iPad 3
» Directorios de grabación .rec e integración con XBMC
» [SOLUCIONADO] Mediatomb y XBMC (via Raspbmc)
Página 1 de 3.
Permisos de este foro:
No puedes responder a temas en este foro.