Excuse to everybody and to the developer if it has wrong come across. Such was not my intention!
Regards
Excuse to everybody and to the developer if it has wrong come across. Such was not my intention!
Regards
I tried to upgrade to a later glibc (using a backported package for MX/Mepis which is also Squeeze-based) but that horribly broke my dependencies and I had to switch back. The next option would be to eliminate recvmmsg from the plugin for older GLIBCs (something like http://lists.linaro.org/piperm…odp/2014-June/001156.html ) but since this a complete rewrite of the function cSatipSocket::ReadVideo to cSatipSocket::ReadMulti I'm a bit lost. Does anyone else have an idea? This will be a problem for all Squeeze users that want to use satip-plugin 1.0.0 as well as some (still supported) LTS distros like CentOS/RHEL 5 and Ubuntu Lucid.
You could try to revert this commit: https://github.com/rofafor/vdr…c87ab179b5234b2470db394ee
Reverting is for idiots! You might want to enchance this one for your needs:
diff --git a/socket.c b/socket.c
index d6a9e50..7ca38b0 100644
--- a/socket.c
+++ b/socket.c
@@ -136,6 +136,8 @@ int cSatipSocket::Read(unsigned char *bufferAddrP, unsigned int bufferLenP)
int cSatipSocket::ReadMulti(unsigned char *bufferAddrP, unsigned int *elementRecvSizeP, unsigned int elementCountP, unsigned int elementBufferSizeP)
{
debug16("%s (, , %d, %d)", __PRETTY_FUNCTION__, elementCountP, elementBufferSizeP);
+ int count = -1;
+#if __GLIBC_PREREQ (2,12)
// Error out if socket not initialized
if (socketDescM <= 0) {
error("%s Invalid socket", __PRETTY_FUNCTION__);
@@ -153,12 +155,18 @@ int cSatipSocket::ReadMulti(unsigned char *bufferAddrP, unsigned int *elementRec
}
// Read data from socket as a set
- int count = -1;
if (socketDescM && bufferAddrP && elementRecvSizeP && (elementCountP > 0) && (elementBufferSizeP > 0))
count = (int)recvmmsg(socketDescM, mmsgh, elementCountP, MSG_DONTWAIT, NULL);
ERROR_IF_RET(count < 0 && errno != EAGAIN && errno != EWOULDBLOCK, "recvmmsg()", return -1);
for (int i = 0; i < count; ++i)
elementRecvSizeP[i] = mmsgh[i].msg_len;
+#else
+ int len = Read(bufferAddrP, elementCountP * elementBufferSizeP);
+ if (len <= 0)
+ return -1;
+ count = 1;
+ elementRecvSizeP[0] = len;
+#endif
debug16("%s Received %d packets size[0]=%d", __PRETTY_FUNCTION__, count, elementRecvSizeP[0]);
return count;
Alles anzeigen
This is exactly what I had in mind, thanks! I will give it a try and report back.
I would expect you have to loop over the Read, as one call to Read only receives One UDP packet where in this situation we want to receive up to elementCount ones.
try this (did not compile or test it):
I would expect you have to loop over the Read, as one call to Read only receives One UDP packet where in this situation we want to receive up to elementCount ones.
try this (did not compile or test it):
It compiles and runs, but doesnt work, no data at all -> VDSB
I tried reverting the change as suggested TheChief (with some manual corrections due to other changes) and this is working fine.
I'll try to come up with a patch that uses "if __GLIBC_PREREQ (2,12)" and works in the next days...
Anyone having problems with decryption and plugin version 1.0.0, please, change the PMT scan timeout to 2 seconds and check if that solves the problem:
--- vdr-2.1.6-vanilla/pat.c 2014-02-19 10:57:43.000000000 +0200
+++ vdr-2.1.6-storepmtpid-v2/pat.c 2015-01-06 15:38:20.420349960 +0200
@@ -13,7 +13,7 @@
#include "libsi/section.h"
#include "libsi/descriptor.h"
-#define PMT_SCAN_TIMEOUT 1000 // ms
+#define PMT_SCAN_TIMEOUT 2000 // ms
// --- cCaDescriptor ---------------------------------------------------------
Alles anzeigen
Git as the Inverto OEM fix is included there among the other things.
How is channel scanning made with this plugin? I don´t see any further updates in the log. If i start a scane e.g. with wirbelscan he doesn´t find anything as there is no dvb device to use. Can i obtain the channels directly from the server?
I have the situation that some channels can be played if i access via vlc but not via the plugin.
How is channel scanning made with this plugin.
There's no such feature, but if you have an initial channel, VDR can find all the other channel in the actual / related transponders via NIT information.
There's no such feature, but if you have an initial channel, VDR can find all the other channel in the actual / related transponders via NIT information.
This means i simply set "UpdateChannels" to "Add Transponders" in VDR Setup? This is the setting i have but in comparison to my diretc attached dvb-s card i don´t see any updates in the log.
Anyone having problems with decryption and plugin version 1.0.0, please, change the PMT scan timeout to 2 seconds and check if that solves the problem:
On my server machine this change does not have any effect. streaming encrypted channels over streamdev still does not work very well. On my LiveTV machine i will test over the weekend.
Well in that case you'll have to find out why the VDR doesn't parse CA descriptors from the stream. As a starting point, you can enable the debugging in pat.c.
EDIT1: I've just committed a fix that might make things a bit better, but you'll better use the PMT scan timeout tweak too.
EDIT2: Yet another fix and no need to tweak the PMT scan timeout anymore.
A new version 1.0.1 is now available containing hotfixes.
OctopusNet owners might want to test the integrated CI:
1) Use the vdr-2.1.7 and the satip plugin 1.0.2
THX for the update
Thanks for the new Version. But I have a Problem. After the VDR start everything in the Log looks ok, but after one minute it is flooded with the following message:
Jan 10 19:30:07 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:07 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:07 [vdr] video/vdpau: synced after 41 frames_
Jan 10 19:30:08 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:08 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:08 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:08 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:08 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:08 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:08 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:08 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:09 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:09 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:09 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:09 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:09 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:09 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:09 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:09 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:10 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:10 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:10 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:10 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:10 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:10 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:11 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:11 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:11 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:11 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Jan 10 19:30:11 [vdr] [12122] SATIP-ERROR: Detected invalid status code 404: rtsp://192.168.178.71/ [device 2]
Jan 10 19:30:11 [vdr] [12122] SATIP-ERROR: Connect failed [device 2]
Alles anzeigen
After the messages, switching to another channel is not possible.
Regards
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!