From patchwork Thu Mar 10 14:07:48 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Heiser X-Patchwork-Id: 33428 X-Patchwork-Delegate: mchehab@kernel.org Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.84) (envelope-from ) id 1ae1GD-0006iq-0n; Thu, 10 Mar 2016 14:08:17 +0000 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.76/mailfrontend-8) with esmtp id 1ae1GA-00075u-kM; Thu, 10 Mar 2016 15:08:16 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751517AbcCJOIM (ORCPT + 1 other); Thu, 10 Mar 2016 09:08:12 -0500 Received: from smtp3.goneo.de ([85.220.129.37]:53276 "EHLO smtp3.goneo.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751550AbcCJOIK convert rfc822-to-8bit (ORCPT ); Thu, 10 Mar 2016 09:08:10 -0500 Received: from localhost (localhost [127.0.0.1]) by smtp3.goneo.de (Postfix) with ESMTP id 20CDF23EE9A for ; Thu, 10 Mar 2016 15:08:05 +0100 (CET) X-Virus-Scanned: by goneo X-Spam-Flag: NO X-Spam-Score: -2.787 X-Spam-Level: X-Spam-Status: No, score=-2.787 tagged_above=-999 tests=[ALL_TRUSTED=-1, AWL=0.103, BAYES_00=-1.9, T_FILL_THIS_FORM_SHORT=0.01] autolearn=unavailable Received: from smtp3.goneo.de ([127.0.0.1]) by localhost (smtp3.goneo.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id efWvLomLNaRb for ; Thu, 10 Mar 2016 15:07:49 +0100 (CET) Received: from sol.fritz.box (dyndsl-095-033-016-200.ewe-ip-backbone.de [95.33.16.200]) by smtp3.goneo.de (Postfix) with ESMTPSA id 84D6723EFCB for ; Thu, 10 Mar 2016 15:07:49 +0100 (CET) Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Subject: DVBv5 Tools: VDR support seems to be broken (recommended patch) From: Markus Heiser In-Reply-To: <19129703-C076-47F7-BEFF-8A57D172132D@darmarit.de> Date: Thu, 10 Mar 2016 15:07:48 +0100 Message-Id: References: <19129703-C076-47F7-BEFF-8A57D172132D@darmarit.de> To: linux-media@vger.kernel.org X-Mailer: Apple Mail (2.1510) Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.3.10.140016 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, MIME_LOWER_CASE 0.05, BODY_SIZE_6000_6999 0, BODY_SIZE_7000_LESS 0, NO_URI_HTTPS 0, REFERENCES 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __C230066_P2 0, __C230066_P5 0, __CP_URI_IN_BODY 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __FORWARDED_MSG 0, __FRAUD_CONTACT_NUM 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __LINES_OF_YELLING 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MSGID_APPLEMAIL 0, __MULTIPLE_URI_TEXT 0, __REFERENCES 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_IN_BODY 0, __URI_NS , __URI_WITH_PATH 0, __USER_AGENT_APPLEMAIL 0, __X_MAILER_APPLEMAIL 0' Hi (Mauro), below you will find my recommended patch for the broken VDR format (libdvbv5/dvb-vdr-format.c). There is only one point I have a doubt: I have no ATSC experience (I'am in Europe/germ), so I simply added an "A" at the field "satellite pos.". This is what the w_scan tool does and this tool works fine with the vdr (please correct me if I'am wrong). My test-case was the same as mentioned in the first mail (see below). Which means, I haven't tested with vdr, only with mpv. Is there anyone how can take up this patch? ... may be Mauro, the originator of vdr support? With best regards -- M -- -- M -- --- Mit freundlichem Gruss -- M.Heiser -- --------------------------------------------------------------------- darmarIT // IT solutions & services --------------------------------------------------------------------- Darius Biss & Markus Heiser GbR Wattenscheider Weg 2 28199 Bremen phone : +49 (0) 4792 987 946 9 fax : +49 (0) 421 433 498 7 mobil : +49 (0) 157 316 2222 4 e-mail : markus.heiser@darmarIT.de web : http://www.darmarIT.de --------------------------------------------------------------------- Am 09.03.2016 um 16:43 schrieb Markus Heiser : > Hi, > > I tested DVBv5 tools, creating vdr channel lists. My first attemp > was to convert a dvbv5 channel list: > > ----------------------------- > # file: test_convert_in.conf > # > # converted with: dvb-format-convert -I DVBV5 -O VDR test_convert_in.conf test_convert_out.conf > # > [Das Erste HD] > SERVICE_ID = 10301 > VIDEO_PID = 5101 > AUDIO_PID = 5102 5103 5106 5108 > PID_0b = 5172 2171 > PID_06 = 5105 5104 > PID_05 = 1170 > LNB = UNIVERSAL > FREQUENCY = 11494000 > INVERSION = OFF > SYMBOL_RATE = 22000488 > INNER_FEC = 2/3 > MODULATION = PSK/8 > PILOT = ON > ROLLOFF = 35 > POLARIZATION = HORIZONTAL > STREAM_ID = 0 > DELIVERY_SYSTEM = DVBS2 > ----------------------------- > > > this results in a strange VDR channel (test_convert_out.conf): > > > ----------------------------- > Das Erste HD:11494:S1HC23I0M5N1O35:S:(null):22000:5101:5102,5103,5106,5108:0:0:10301:0:0:0: > ----------------------------- > > > so I created an other (vdr) channel-file (test123.conf) to see how > to fix the problem: > > > ----------------------------- > # file test123.conf > # > # tested with: mpv -v --dvbin-file=test123.conf dvb://"Das Erste HD fixed" > # > Das Erste HD:11494:S1HC23I0M5N1O35:S:(null):22000:5101:5102,5103,5106,5108:0:0:10301:0:0:0: > # > # dropping "(null):" and delete last ":" fixed the problem for mpv > # > Das Erste HD fixed:11494:S1HC23I0M5N1O35:S:22000:5101:5102,5103,5106,5108:0:0:10301:0:0:0 > ----------------------------- > > > refering to the VDR Wikis ... > > * LinuxTV: http://www.linuxtv.org/vdrwiki/index.php/Syntax_of_channels.conf > * german comunity Wiki: http://www.vdr-wiki.de/wiki/index.php/Channels.conf#Parameter_ab_VDR-1.7.4 > > ... there is no field at position [4] / in between "Source" > and "SRate" which might have a value ... I suppose the '(null):' > is the result of pointing to *nothing* ... > > An other mistake is the ending colon (":") at the line. It is not > explicit specified but adding an collon to the end of an channel > entry will prevent players (like mpv or mplayer) from parsing the > line (they will ignore these lines). > > At least: generating a channel list with > > dvbv5-scan --output-format=vdr ... > > will result in the same defective channel entry, containing > "(null):" and the leading collon ":". > > If I can help -- e.g. testing -- please contact me. > > Regards > > --M---- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/lib/libdvbv5/dvb-vdr-format.c b/lib/libdvbv5/dvb-vdr-format.c index 176a927..5151ebc 100644 --- a/lib/libdvbv5/dvb-vdr-format.c +++ b/lib/libdvbv5/dvb-vdr-format.c @@ -310,13 +310,14 @@ int dvb_write_format_vdr(const char *fname, fprintf(fp, "%s", entry->channel); if (entry->vchannel) fprintf(fp, ",%s", entry->vchannel); + fprintf(fp, ":"); /* * Output frequency: * in kHz for terrestrial/cable * in MHz for satellite */ - fprintf(fp, ":%i:", freq / 1000); + fprintf(fp, "%i:", freq / 1000); /* Output modulation parameters */ fmt = &formats[i]; @@ -350,20 +351,28 @@ int dvb_write_format_vdr(const char *fname, fprintf(fp, "%s", table->table[data]); } - - /* Output format type */ - fprintf(fp, ":%s:", id); + fprintf(fp, ":"); /* - * Output satellite location - * FIXME: probably require some adjustments to match the - * format expected by VDR. + * Output sources configuration for VDR + * + * S (satellite) xy.z (orbital position in degrees) E or W (east or west) + * + * FIXME: in case of ATSC we use "A", this is what w_scan does */ - switch(delsys) { - case SYS_DVBS: - case SYS_DVBS2: - fprintf(fp, "%s:", entry->location); + + if (entry->location) { + switch(delsys) { + case SYS_DVBS: + case SYS_DVBS2: + fprintf(fp, "%s", entry->location); break; + default: + fprintf(fp, "%s", id); break; + } + } else { + fprintf(fp, "%s", id); } + fprintf(fp, ":"); /* Output symbol rate */ srate = 27500000; @@ -408,10 +417,16 @@ int dvb_write_format_vdr(const char *fname, /* Output Service ID */ fprintf(fp, "%d:", entry->service_id); - /* Output SID, NID, TID and RID */ - fprintf(fp, "0:0:0:"); + /* Output Network ID */ + fprintf(fp, "0:"); + + /* Output Transport Stream ID */ + fprintf(fp, "0:"); - fprintf(fp, "\n"); + /* Output Radio ID + this is the last entry, tagged bei a new line (not a colon!) + */ + fprintf(fp, "0\n"); line++; }; fclose (fp);