Oh, it is quite old bug and still not fixed.
Beiträge von arkoko
-
-
It looks like a firmware bug to me, so I'm going to open an issue. Is it ok to share your link on github?
Yes, Thomas, no problem. You can share link if it needed.
Thank you.br,
Arthur -
Hi,
I have setup VDR 2.2.0 on the raspberry Pi2 as client for my master VDR server (streamdev-client, rpihddevice).
Now I discovered that some DVB-C channels are without video.Syslog for not working channel:
Code
Alles anzeigenJan 17 23:10:00 akopi2 vdr: [2479] switching to channel 4 (ETV HD) Jan 17 23:10:00 akopi2 vdr: [8380] ERROR (device.c,1767): Bad file descriptor Jan 17 23:10:00 akopi2 vdr: [8380] device 2 TS buffer thread ended (pid=2479, tid=8380) Jan 17 23:10:00 akopi2 vdr: [8379] buffer stats: 160928 (7%) used Jan 17 23:10:00 akopi2 vdr: [8379] device 2 receiver thread ended (pid=2479, tid=8379) Jan 17 23:10:01 akopi2 vdr: [8382] device 2 receiver thread started (pid=2479, tid=8382, prio=high) Jan 17 23:10:01 akopi2 vdr: [8383] device 2 TS buffer thread started (pid=2479, tid=8383, prio=high) Jan 17 23:10:01 akopi2 vdr: [8382] rpihddevice: set video codec to H264 Jan 17 23:10:01 akopi2 vdr: [2490] rpihddevice: new audio codec: 2ch MPEG Jan 17 23:10:01 akopi2 vdr: [2490] rpihddevice: set local audio output format to 2ch PCM, 48.0kHz Jan 17 23:10:11 akopi2 vdr: [8382] ERROR: TS packet not accepted in Transfer Mode Jan 17 23:10:11 akopi2 vdr: [2490] rpihddevice: set local audio output format to 2ch PCM, 48.0kHz
And working example of the same channel over DVB-T2:
Code
Alles anzeigenJan 17 23:13:31 akopi2 vdr: [2479] switching to channel 187 (ETV HD) Jan 17 23:13:31 akopi2 vdr: [8423] device 2 TS buffer thread ended (pid=2479, tid=8423) Jan 17 23:13:31 akopi2 vdr: [8422] buffer stats: 285384 (13%) used Jan 17 23:13:31 akopi2 vdr: [8422] device 2 receiver thread ended (pid=2479, tid=8422) Jan 17 23:13:31 akopi2 vdr: [8434] device 2 receiver thread started (pid=2479, tid=8434, prio=high) Jan 17 23:13:31 akopi2 vdr: [8435] device 2 TS buffer thread started (pid=2479, tid=8435, prio=high) Jan 17 23:13:32 akopi2 vdr: [8434] rpihddevice: set video codec to H264 Jan 17 23:13:32 akopi2 vdr: [2490] rpihddevice: new audio codec: 2ch MPEG Jan 17 23:13:32 akopi2 vdr: [2490] rpihddevice: set local audio output format to 2ch PCM, 48.0kHz Jan 17 23:13:33 akopi2 vdr: [2489] rpihddevice: video stream started 1920x1080@50i PAR(1:1) Jan 17 23:13:33 akopi2 vdr: [2489] rpihddevice: failed to set HDMI mode to 1280x720@50i
Comparing saved streams with Mediainfo I can see 2 big differences:
-overall bitrate
-reframes: 4 on not working vs 3 on working channelBad:
Code
Alles anzeigenGeneral ID : 32776 (0x8008) Complete name : \\diskstation.lan\vdr\ETV\2016-01-16.20.05.1-0.rec\00001.ts Format : MPEG-TS File size : 663 MiB Duration : 4mn 58s Overall bit rate mode : Variable Overall bit rate : 18.7 Mbps Video ID : 101 (0x65) Menu ID : 132 (0x84) Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4 Format settings, CABAC : Yes Format settings, ReFrames : 4 frames Codec ID : 27 Duration : 4mn 57s Bit rate : 17.1 Mbps Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate : 25.000 fps Standard : Component Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Interlaced Scan type, store method : Separated fields Scan order : Top Field First Bits/(Pixel*Frame) : 0.330 Stream size : 607 MiB (92%) Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709
OK:
Code
Alles anzeigenGeneral ID : 32776 (0x8008) Complete name : \\diskstation.lan\vdr\dvbt\2016-01-17.22.45.187-0.rec\00001.ts Format : MPEG-TS File size : 177 MiB Duration : 2mn 56s Overall bit rate mode : Variable Overall bit rate : 8 421 Kbps Video ID : 591 (0x24F) Menu ID : 132 (0x84) Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4 Format settings, CABAC : Yes Format settings, ReFrames : 3 frames Format settings, GOP : M=4, N=32 Codec ID : 27 Duration : 2mn 56s Bit rate : 7 617 Kbps Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate : 25.000 fps Standard : Component Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Interlaced Scan type, store method : Separated fields Scan order : Top Field First Bits/(Pixel*Frame) : 0.147 Stream size : 160 MiB (90%) Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709
Also trying to play saved stream hang at the time 10 seconds, without video.
Link with recording sample: https://www.suhtlus.ee/sharefi…79-4e42-ae49-e97c0e46b272
Is it possible to find why it happened and is it plugins or RPi H264 firmware bug?br,
Arthur -
Alles Gute zum Geburtstag Liebe VDR!
-
Is it possible that crash happened when SNR value doesn't obtained quick enough from dvb device with enabled audio/video bitrate display?
-
Es handelt sich nict nur über dem Provider UPC (Hungary)
I know it. I provided UPC only as example, because it has been mentioned in the previous message. -
I think it the same reason as it was with SES5 and Astra 4A - two different satellite orbital positions are in the practice 4.8E and 5.0E in the NIT.
In the UPC Hungary case we have 3 satellites: Thor 5, Thor 6 and Intelsat 10-02. They reports different positions: 0.8W and 1.0W. VDR looks this info and mark channels as OBSOLETE if it mismatched.Practical evident.
When zapping to the "Animal Planet Europe" (regarding to the Lyngsat - Thor 5) on the 11785H, with dvbsnoop we have:Code
Alles anzeigenTransport_stream_ID: 69 (0x0045) Original_network_ID: 70 (0x0046) [= 1 degree W | Telenor] reserved_1: 15 (0x0f) Transport_descriptor_length: 141 (0x008d) DVB-DescriptorTag: 67 (0x43) [= satellite_delivery_system_descriptor] descriptor_length: 11 (0x0b) Frequency: 17367808 (= 10.90300 GHz) Orbital_position: 16 (= 1.0) West_East_flag: 0 (0x00) [= WEST] Polarisation: 1 (0x01) [= linear - vertical] Kind: 1 (0x01) [= DVB-S2] Roll Off Faktor: 1 (0x01) [= Alpha 0.25] Modulation_type: 2 (0x02) [= 8PSK] Symbol_rate: 2424832 (= 25.0000) FEC_inner: 3 (0x03) [= 3/4 conv. code rate]
When zap to the HBO Hungary (Thor 6) 11727V:
Code
Alles anzeigenTransport_stream_ID: 1 (0x0001) Original_network_ID: 1 (0x0001) [= Astra Satellite Network 19,2°E | Soci? Europ?ne des Satellites] reserved_1: 15 (0x0f) Transport_descriptor_length: 18 (0x0012) DVB-DescriptorTag: 67 (0x43) [= satellite_delivery_system_descriptor] descriptor_length: 11 (0x0b) Frequency: 19302144 (= 12.68700 GHz) Orbital_position: 8 (= 0.8) West_East_flag: 0 (0x00) [= WEST] Polarisation: 0 (0x00) [= linear - horizontal] Kind: 0 (0x00) [= DVB-S] fixed ('00'): 0 (0x00) Modulation_type: 1 (0x01) [= QPSK] Symbol_rate: 2576384 (= 27.5000) FEC_inner: 3 (0x03) [= 3/4 conv. code rate]
Because in the sources.conf we have defined only 1.0W position, then I think that in this example the "HBO Hungary" channel will be marked as OBSOLETE in vdr.
br,
Arthur -
Great, looks promising. At the first 30 minutes test no segfaults occurred anymore.
Testing continued ...One picture always better than 1000 words
-
I know it's strange and that there no direct indication to the skin found, but for some reason only with flatplus I have such problem. I have tried original vdr's skin, skinsoppalusikka and nOpacity (currently in the use).
I have the vanilla unpatched vdr-2.1.10 and latest flatplus 0.5.1 in use.Usually if hang occured the following freezed picture stays on the screen:
-
I'm so sorry, but I have to abandon my favorite skin, because only with it I frequently (not always) have segfaults after channel switching.
I've collected as much as possible logs. Maybe somebody able to find a real reason of crashes. My guess that it because of reading DVB device status after channel switching (signal bar, DVB devices status?).Google translate:
Es tut mir leid, aber ich habe zu meinen Lieblings-Haut verlassen, denn nur damit ich häufig (nicht immer) haben segfaults nach Kanalwechsel.
Ich habe so viel wie möglich Protokolle gesammelt. Vielleicht hat jemand in der Lage, einen wirklichen Grund der Unfälle von ihnen zu finden. Meine unbestätigte Vermutung, dass es aufgrund der Lektüre DVB Gerätestatus nach der Kanalumschaltung (Signal-Bar, DVB-Geräte-Status?).br,
Arthur -
I have spontaneous segfaults as well, but not during start. They mostly occurs during channel switching.
For example:Code[Wed Feb 11 22:40:32 2015] device 4 sectio[25938]: segfault at 7821 ip 080a9e37 sp ab1fdc20 error 4 in vdr[8048000+189000]
Python
Alles anzeigenProgram terminated with signal 11, Segmentation fault. #0 0x080a9e37 in cChannels::GetByChannelID (this=0x81d9740 <Channels>, ChannelID=..., TryWithoutRid=true, TryWithoutPolarization=false) at channels.c:942 942 for (cHashObject *hobj = list->First(); hobj; hobj = list->Next(hobj)) { Traceback (most recent call last): File "/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.3600.4-gdb.py", line 9, in <module> from gobject import register File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module> import gdb.backtrace ImportError: No module named backtrace (gdb) bt #0 0x080a9e37 in cChannels::GetByChannelID (this=0x81d9740 <Channels>, ChannelID=..., TryWithoutRid=true, TryWithoutPolarization=false) at channels.c:942 #1 0x080dabf7 in cEIT::cEIT (this=0xab1fe228, Schedules=0x81daac0 <cSchedules::schedules>, Source=1392574454, Tid=79 'O', Data=0xab1fe300 "O\361\061\034", OnlyRunningStatus=false) at eit.c:43 #2 0x080dcacf in cEitFilter::Process (this=0xa062790, Pid=18, Tid=79 'O', Data=0xab1fe300 "O\361\061\034", Length=308) at eit.c:396 #3 0x08135acb in cSectionHandler::Action (this=0xa081328) at sections.c:212 #4 0x0815e707 in cThread::StartThread (Thread=0xa081328) at thread.c:262 #5 0xb771a955 in start_thread () from /lib/libpthread.so.0 #6 0xb744c85e in clone () from /lib/libc.so.6
Since it not easy to reproduce I still trying to found vdr+plugins different configuration combination to find what caused segfaults.
Any hint will be welcome.br,
Arthur -
Hier eine kleine Korrektur eines Log-Messages...
Diff
Alles anzeigendiff --git a/softhddevice.cpp b/softhddevice.cpp index b3467a5..92ebf8d 100644 --- a/softhddevice.cpp +++ b/softhddevice.cpp @@ -2288,7 +2288,7 @@ int64_t cSoftHdDevice::GetSTC(void) #if APIVERSNUM >= 20103 void cSoftHdDevice::TrickSpeed(int speed, bool forward) { - dsyslog("[softhddev]%s: %d $d\n", __FUNCTION__, speed, forward); + dsyslog("[softhddev]%s: %d %d\n", __FUNCTION__, speed, forward); ::TrickSpeed(speed); }
What is meaning of this patch? It replaces the old line with the same? -
In the browser UTF-8 and on the machine LANG=et_EE.utf8, LC_TIME=en_IE@euro
=================
For the record.I found solution by setting:
LC_NUMERIC=CThanks to all
-
-
Thanks, but what mean "conflicts with latest ffmpeg" in the git description?
Does it mean that with ffmpeg 2.2.2 (released on 2014-05-05) this patch not necessary? -
Not really, my C programming skills are very limited.
But maybe some useful code from vdr source can help (channels.c):Code
Alles anzeigenint cChannel::Transponder(int Frequency, char Polarization) { // some satellites have transponders at the same frequency, just with different polarization: switch (toupper(Polarization)) { case 'H': Frequency += 100000; break; case 'V': Frequency += 200000; break; case 'L': Frequency += 300000; break; case 'R': Frequency += 400000; break; default: esyslog("ERROR: invalid value for Polarization '%c'", Polarization); } return Frequency; } int cChannel::Transponder(void) const { int tf = frequency; while (tf > 20000) tf /= 1000; if (IsSat()) { const char *p = strpbrk(parameters, "HVLRhvlr"); // lowercase for backwards compatibility if (p) tf = Transponder(tf, *p); } return tf; }
-
A dirty hack to fix showing frequency:
Diff
Alles anzeigen--- menuitem.c.org 2014-05-02 22:46:38.328771162 +0300 +++ menuitem.c 2014-05-02 22:48:10.871710694 +0300 @@ -703,7 +703,7 @@ strChannelSource = cString::sprintf("%s - %s", *cSource::ToString(source->Code()), source->Description()); else strChannelSource = ""; - strChannelInfo = cString::sprintf("%s %d, %d MHz", tr("Transp."), Channel->Transponder(), Channel->Frequency()/1000); + strChannelInfo = cString::sprintf("%s %d MHz", tr("Transp."), Channel->Frequency()); } else { readCurrentEPG(); }
But it would be nice to add showing polarity too to the DVB-S/S2 transponders. -
Yes, exactly. Values for vertical polarisation in the info starts with 2.
But still, I think it's a plugin's bug. -
I have a question about DVB-S transponder frequency in the channel info.
Examples on the pictures:[Blockierte Grafik: https://dl.dropboxusercontent.com/u/13532720/2014-05-02%2019.13.04.jpg]
[Blockierte Grafik: https://dl.dropboxusercontent.com/u/13532720/2014-05-02%2019.13.34.jpg]In case of DVB-C this information is correct. For example I can see "Transp. 266,0 MHz" with value of 266 in the channel settings.
How to fix this problem?
I have nOpacity version 1.1.1 and vdr-2.1.6 installed. -
Like this?
Diff
Alles anzeigen--- codec.c.org 2014-04-25 11:46:53.418615019 +0300 +++ codec.c 2014-04-25 12:19:39.161512431 +0300 @@ -226,7 +226,9 @@ if (video_ctx->pkt) { frame->pkt_pts = video_ctx->pkt->pts; } else { +#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(52,66,100) frame->pkt_pts = AV_NOPTS_VALUE; +#endif } return 0; } @@ -253,7 +255,9 @@ if (video_ctx->pkt) { frame->pkt_pts = video_ctx->pkt->pts; } else { +#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(52,66,100) frame->pkt_pts = AV_NOPTS_VALUE; +#endif } return 0; }