Hello everyone! I'm from Argentina, and up to last month I've been using
VDR 1.7.262 with an ISDB-T USB adapter. It works really good, but the
last week I've been trying to upgrade to VDR 2.2 and I've found a
problem with ISDB-T cards: they are not supported.
As I'm really interested in using VDR, I was digging inside the code and
found a partial solution for this problem: as ISDBT is the same as DVBT,
I've changed the way delivery system is queried. My changes are applied
in a cloned repo at …
[View More]github:
https://github.com/chrodriguez/vdr/commit/dadbca57c2dc55c1c53b4fa8f68b56728…
That's the only change I've made. Now I can enjoy my fresh upgraded VDR
installation!!
I think a better refactor should be made, but for now it's working
perfectly deployed as a docker container:
https://registry.hub.docker.com/u/chrodriguez/vdr
Thanks for this wonderfull project!
--
Lic. Christian A. Rodriguez
@car_unlp
[View Less]
Occasionally my signal drops out (haven't looked into it yet), and it
causes VDR to completely freeze and become defunct/zombie. That locks
up the drivers and the only way to resolve it is by rebooting. No core
file gets created. Does anyone know how to prevent the lock-up in the
first place? Could it be some kind of leak from the looping (see log
clip below)?
Here's a clip of the log when it happens. You can see how the log gets
filled with the same repeating lines until it crashes.
2016.Oct.…
[View More]28|12:08:55 video: slow down video, duping frame
2016.Oct.28|12:08:55 video: decoder buffer empty, duping frame
(5656/167423) 7 v-buf
2016.Oct.28|12:09:29 video: slow down video, duping frame
2016.Oct.28|12:16:09 [1297] [softhddev]Clear:
2016.Oct.28|12:16:09 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:09 audio/alsa: using device 'default'
2016.Oct.28|12:16:09 audio/alsa: start delay 336ms
2016.Oct.28|12:16:09 [1297] [softhddev]Clear:
2016.Oct.28|12:16:10 audio/alsa: using device 'default'
2016.Oct.28|12:16:10 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:10 audio/alsa: start delay 336ms
2016.Oct.28|12:16:10 [1297] [softhddev]Clear:
2016.Oct.28|12:16:10 audio/alsa: using device 'default'
2016.Oct.28|12:16:10 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:10 audio/alsa: start delay 336ms
2016.Oct.28|12:16:10 [1297] [softhddev]Clear:
2016.Oct.28|12:16:10 audio/alsa: using device 'default'
2016.Oct.28|12:16:10 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:10 audio/alsa: start delay 336ms
2016.Oct.28|12:16:10 [1297] [softhddev]Clear:
2016.Oct.28|12:16:10 audio/alsa: using device 'default'
2016.Oct.28|12:16:10 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:10 audio/alsa: start delay 336ms
2016.Oct.28|12:16:10 [1297] [softhddev]Clear:
2016.Oct.28|12:16:10 audio/alsa: using device 'default'
2016.Oct.28|12:16:10 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:10 audio/alsa: start delay 336ms
2016.Oct.28|12:16:10 [1297] [softhddev]Clear:
2016.Oct.28|12:16:10 audio/alsa: using device 'default'
2016.Oct.28|12:16:10 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:11 audio/alsa: start delay 336ms
2016.Oct.28|12:16:11 [1297] [softhddev]Clear:
2016.Oct.28|12:16:11 audio/alsa: using device 'default'
2016.Oct.28|12:16:11 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:11 audio/alsa: start delay 336ms
2016.Oct.28|12:16:11 [1297] [softhddev]Clear:
2016.Oct.28|12:16:11 audio/alsa: using device 'default'
2016.Oct.28|12:16:11 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:11 audio/alsa: start delay 336ms
2016.Oct.28|12:16:11 [1297] [softhddev]Clear:
2016.Oct.28|12:16:11 audio/alsa: using device 'default'
2016.Oct.28|12:16:11 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:11 audio/alsa: start delay 336ms
2016.Oct.28|12:16:11 [1297] [softhddev]Clear:
2016.Oct.28|12:16:11 audio/alsa: using device 'default'
2016.Oct.28|12:16:11 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:11 audio/alsa: start delay 336ms
2016.Oct.28|12:16:11 [1297] [softhddev]Clear:
2016.Oct.28|12:16:11 audio/alsa: using device 'default'
2016.Oct.28|12:16:11 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:11 audio/alsa: start delay 336ms
2016.Oct.28|12:16:11 [1297] [softhddev]Clear:
2016.Oct.28|12:16:12 audio/alsa: using device 'default'
2016.Oct.28|12:16:12 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:12 audio/alsa: start delay 336ms
2016.Oct.28|12:16:12 [1297] [softhddev]Clear:
2016.Oct.28|12:16:12 audio/alsa: using device 'default'
2016.Oct.28|12:16:12 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:12 audio/alsa: start delay 336ms
2016.Oct.28|12:16:12 [1297] [softhddev]Clear:
2016.Oct.28|12:16:12 audio/alsa: using device 'default'
2016.Oct.28|12:16:12 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:12 audio/alsa: start delay 336ms
2016.Oct.28|12:16:12 [1297] [softhddev]Clear:
2016.Oct.28|12:16:12 audio/alsa: using device 'default'
2016.Oct.28|12:16:12 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:12 audio/alsa: start delay 336ms
2016.Oct.28|12:16:12 [1297] [softhddev]Clear:
2016.Oct.28|12:16:12 audio/alsa: using device 'default'
2016.Oct.28|12:16:12 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:12 audio/alsa: start delay 336ms
2016.Oct.28|12:16:12 [1297] [softhddev]Clear:
2016.Oct.28|12:16:12 audio/alsa: using device 'default'
2016.Oct.28|12:16:12 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:13 audio/alsa: start delay 336ms
2016.Oct.28|12:16:13 [1297] [softhddev]Clear:
2016.Oct.28|12:16:13 audio/alsa: using device 'default'
2016.Oct.28|12:16:13 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:13 audio/alsa: start delay 336ms
2016.Oct.28|12:16:13 [1297] [softhddev]Clear:
2016.Oct.28|12:16:13 audio/alsa: using device 'default'
2016.Oct.28|12:16:13 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:13 audio/alsa: start delay 336ms
2016.Oct.28|12:16:13 [1297] [softhddev]Clear:
2016.Oct.28|12:16:13 audio/alsa: using device 'default'
2016.Oct.28|12:16:13 [1297] ERROR: TS packet not accepted in Transfer Mode
2016.Oct.28|12:16:13 audio/alsa: start delay 336ms
2016.Oct.28|12:16:13 [1297] [softhddev]Clear:
[View Less]
Hi all,
I would like to run my headless VDR without a primary DVB (or suspended
output) but keep xineliboutput running. I can't figure out how.
My VDR has 4 receivers (2x Astra, 2x Hotbird) without MPEG decoder. It runs
vnsiserver (for my Kodi client), streamdev-server (for some browser / VLC
clients) and xineliboutput (because it's sometimes useful to have access to
the VDR console via remote). Alas, xineliboutput will always be the primary
DVB device and block a receiver, which is nasty …
[View More]when VDR is recording on one
bouquet, xineliboutput blocks another bouquet and I want to watch live TV on
just another bouquet, all on the same satellite.
Can I use the suspendoutput plugin while keeping xineliboutput active so that
I can access it with vdr-sxfe when needed?
TIA!
(I could "park" xineliboutput on an arbitrary hotbird channel though but I'd
like to have it automated ...)
--
Keep emotionally active. Cater to your favorite neurosis.
[View Less]
d->MaySwitchTransponder(Channel) is always false here
Please review,
Sergey Chernyavskiy.
---
device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/device.c b/device.c
index 18867cd..542d120 100644
--- a/device.c
+++ b/device.c
@@ -342,7 +342,7 @@ cDevice *cDevice::GetDeviceForTransponder(const cChannel *Channel, int Priority)
if (d->ProvidesTransponder(Channel)) {
if (d->MaySwitchTransponder(Channel))
Device = d; // this …
[View More]device may switch to the transponder without disturbing any receiver or live view
- else if (!d->Occupied() && d->MaySwitchTransponder(Channel)) { // MaySwitchTransponder() implicitly calls Occupied()
+ else if (!d->Occupied()) { // MaySwitchTransponder() implicitly calls Occupied()
if (d->Priority() < Priority && (!Device || d->Priority() < Device->Priority()))
Device = d; // use this one only if no other with less impact can be found
}
--
1.9.1
[View Less]
Merry Christmas to all VDR users!
It's been a very busy year for me, in which I was unable to
spend as much time on VDR as I would have liked to. But now things
are settled again and I managed to prepare a new developer version
with the most important fixes and improvements. Please feel free
to tell me if I missed something important - some things may well
have slipped under my radar ;-).
So here's my Christmas gift for you!
VDR developer version 2.3.2 is now available at
ftp://ftp.…
[View More]tvdr.de/vdr/Developer/vdr-2.3.2.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.3.1-2.3.2.diff
MD5 checksums:
6dbb208ea3d59658a18912b49af175b3 vdr-2.3.2.tar.bz2
68a0ed9f01048026333939d30e0a6474 vdr-2.3.1-2.3.2.diff
WARNING:
========
This is a *developer* version. Even though *I* use it in my productive
environment, I strongly recommend that you only use it under controlled
conditions and for testing and debugging.
The changes since version 2.3.1:
- Fixed a crash when deleting a recording (reported by Oliver Endriss).
- Fixed an overflow of PIDs in a receiver (thanks to Robert Hannebauer).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed initializing device specific parameters in cDvbTransponderParameters.
- The function SetCurrentChannel(const cChannel *Channel) is now deprecated and
may be removed in a future version. Use SetCurrentChannel(int ChannelNumber)
instead.
- The SVDRP command DELC now refuses to delete the very last channel in the list,
to avoid ending up with an empty channel list.
- The cRwLock class now allows nested read locks within a write lock from the
same thread. This fixes possible crashes when moving or deleting channels in
the menu or through SVDRP (as well as other operations that try to acquire a
read lock within a write lock).
- Fixed a crash when trying to delete a channel that is being used by a timer.
- Fixed setting the current item and counter values in the Recordings menu after
deleting the last recording in a subfolder.
- Fixed a crash when deleting a recording that is currently being replayed.
- Fixed a crash when moving a recording to a folder on a different volume.
The cRecordingsHandler now performs its actual operations in a separate thread,
thus avoiding locking problems and reducing the time between subsequent
operations.
- Added a note to the description of cFont::Size(), regarding possible differences
between it and cFont::Height() (suggested to Thomas Reufer).
- Made the cPlayer member functions FramesPerSecond, GetIndex and GetReplayMode
'const' (thanks to Thomas Reufer).
- Fixed resuming replay at a given position, which was off by one frame (thanks
to Thomas Reufer).
- Improved handling frame numbers to have a smoother progress display during
replay of recordings with B-frames (thanks to Thomas Reufer).
- Fixed replaying recordings to their very end, if they don't end with an I-frame
(thanks to Thomas Reufer).
- Implemented a frame parser for H.265 (HEVC) recordings (thanks to Thomas Reufer).
- Added cFont::Width(void) to get the default character width and allow stretched
font drawing in high level OSDs (thanks to Thomas Reufer).
- Fixed regenerating the index of audio recordings (thanks to Thomas Reufer).
- Fixed building VDR with systemd >= 230 (thanks to Ville Skyttä).
- Sorted sources.conf by continous azimuth (thanks to Lucian Muresan).
- Added 'S58.5E Kazsat 3' to sources.conf (thanks to Aitugan Sarbassov).
- Fixed truncated date/time strings in the skins on multi-byte UTF-8 systems
(reported by Sergey Chernyavskiy).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Added a 'const' version of cTimers::GetTimer() (thanks to Lars Hanisch).
- Fixed a typo in the description of cTimers::GetTimersRead() (thanks to Lars
Hanisch).
- Fixed a possible buffer overflow in handling CA descriptors (suggested by
Lars Hanisch).
- Avoiding some duplicate code and unnecessary work in nit.c (thanks to Ville
Skyttä).
- Added support for the systemd watchdog (thanks to Marc Perrudin),
- Added a short sleep to cTSBuffer::Action() to avoid high CPU usage (thanks to
Sergey Chernyavskiy).
Have fun!
Klaus
[View Less]
Using the latest git version of the femon plugin:
https://github.com/rofafor/vdr-plugin-femon
I can successfully build it for vdr-2.3.1.
With vdr-2.3.2 I get the following errors:
*** Plugin femon:
g++ -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -march=native
-D__user= -D__u8=uint8_t -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/linux/dvb -c
-DPLUGIN_NAME_I18N='"femon"' -DGITVERSION='"-GIT-7bc2ff5"'
-I/home/rs/vdr-2.3.2/…
[View More]include -o osd.o osd.c
In file included from /home/rs/vdr-2.3.2/include/vdr/config.h:20:0,
from /home/rs/vdr-2.3.2/include/vdr/channels.h:13,
from /home/rs/vdr-2.3.2/include/vdr/device.h:13,
from /home/rs/vdr-2.3.2/include/vdr/receiver.h:13,
from receiver.h:12,
from osd.c:18:
/home/rs/vdr-2.3.2/include/vdr/font.h:48:15: error: âvirtual int
cFont::Width() constâ was hidden [-Werror=overloaded-virtual]
virtual int Width(void) const = 0;
^~~~~
osd.c:148:15: error: by âcFemonDummyFont::Widthâ
[-Werror=overloaded-virtual]
virtual int Width(const char *sP) const { return 50; }
^~~~~
osd.c: In constructor âcFemonOsd::cFemonOsd()â:
osd.c:209:18: error: invalid new-expression of abstract class type
âcFemonDummyFontâ
fontM = new cFemonDummyFont;
^~~~~~~~~~~~~~~
osd.c:145:7: note: because the following virtual functions are pure
within âcFemonDummyFontâ:
class cFemonDummyFont : public cFont {
^~~~~~~~~~~~~~~
In file included from /home/rs/vdr-2.3.2/include/vdr/config.h:20:0,
from /home/rs/vdr-2.3.2/include/vdr/channels.h:13,
from /home/rs/vdr-2.3.2/include/vdr/device.h:13,
from /home/rs/vdr-2.3.2/include/vdr/receiver.h:13,
from receiver.h:12,
from osd.c:18:
/home/rs/vdr-2.3.2/include/vdr/font.h:48:15: note: virtual int
cFont::Width() const
virtual int Width(void) const = 0;
^~~~~
cc1plus: some warnings being treated as errors
Makefile:73: recipe for target 'osd.o' failed
make[1]: *** [osd.o] Error 1
Can anyone offer assistence please?
Regards,
Richard
[View Less]