<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>well that messes up my "eit to another ip", i used 'k'</span></div><div><br><span></span></div><div><span>joolz<br></span></div><div><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><font size="2" face="Arial"><hr size="1"><b><span style="font-weight:bold;">From:</span></b> Georgi Chorbadzhiyski <gf@unixsol.org><br><b><span style="font-weight: bold;">To:</span></b> Mailing list for DVBlast developers <dvblast-devel@videolan.org><br><b><span style="font-weight: bold;">Sent:</span></b> Friday, 11 November 2011, 20:59<br><b><span style="font-weight: bold;">Subject:</span></b> Re:
[dvblast-devel] dvb-s2 multistream<br></font><br>On 11/11/11 7:58 PM, Вячеслав Адаманов wrote:<br>> Are there any plans support multistream transponders?!<br><br>Well aren't you a very impatient guy :) The patch for mis support<br>is only two weeks old and have not found it's way into Linux yet<br>(I'm looking at 3.2-rc1-git from today). I'm talking about the<br>patch(es) at: <a href="http://www.tbsdtv.com/forum/viewtopic.php?f=26&t=1874" target="_blank">http://www.tbsdtv.com/forum/viewtopic.php?f=26&t=1874</a><br><br>Any way, attached is a test patch for dvblast that implements<br>multisteam support. It is only compile tested.<br><br>-- Georgi Chorbadzhiyski<br><a href="http://georgi.unixsol.org/" target="_blank">http://georgi.unixsol.org/</a><br><br>From 39d2a66a9cc800d843e91c04aba8fb7e19b9d5d4 Mon Sep 17 00:00:00 2001<br>From: Georgi Chorbadzhiyski <<a ymailto="mailto:gf@unixsol.org"
href="mailto:gf@unixsol.org">gf@unixsol.org</a>><br>Date: Fri, 11 Nov 2011 21:55:40 +0200<br>Subject: [PATCH] Add test support for DVB-S2 multistream.<br><br>---<br> dvb.c | 12 ++++++++++--<br> dvblast.c | 13 ++++++++++---<br> dvblast.h | 11 +++++++++++<br> 3 files changed, 31 insertions(+), 5 deletions(-)<br><br>diff --git a/dvb.c b/dvb.c<br>index 557b7d3..f603030 100644<br>--- a/dvb.c<br>+++ b/dvb.c<br>@@ -781,6 +781,9 @@ static struct dtv_property dvbs2_cmdargs[] = {<br> { .cmd = DTV_DELIVERY_SYSTEM, .u.data = SYS_DVBS2 },<br> { .cmd = DTV_PILOT, .u.data = PILOT_AUTO },<br> { .cmd = DTV_ROLLOFF, .u.data = ROLLOFF_AUTO },<br>+#if DVBS2_MIS_IS_SUPPORTED<br>+ { .cmd = DTV_DVBS2_MIS_ID, .u.data = 0 },<br>+#endif<br> { .cmd = DTV_TUNE },<br> };<br> static struct
dtv_properties dvbs2_cmdseq = {<br>@@ -842,6 +845,7 @@ static struct dtv_properties atsc_cmdseq = {<br> #define PILOT 6<br> #define TRANSMISSION 7<br> #define ROLLOFF 7<br>+#define MIS 8<br> #define HIERARCHY 8<br> <br> struct dtv_property pclear[] = {<br>@@ -916,6 +920,9 @@ static void FrontendSet( bool b_init )<br> p->props[MODULATION].u.data = GetModulation();<br> p->props[PILOT].u.data = GetPilot();<br> p->props[ROLLOFF].u.data = GetRollOff();<br>+#if DVBS2_MIS_IS_SUPPORTED<br>+ p->props[MIS].u.data = i_mis;<br>+#endif<br> }<br> else<br> p = &dvbs_cmdseq;<br>@@ -925,9 +932,10 @@ static void FrontendSet( bool b_init )<br>
p->props[FEC_INNER].u.data = GetFECInner(info.caps);<br> p->props[FREQUENCY].u.data = FrontendDoDiseqc();<br> <br>- msg_Dbg( NULL, "tuning QPSK frontend to f=%d srate=%d inversion=%d fec=%d rolloff=%d modulation=%s pilot=%d",<br>+ msg_Dbg( NULL, "tuning QPSK frontend to f=%d srate=%d inversion=%d fec=%d rolloff=%d modulation=%s pilot=%d mis=%d",<br> i_frequency, i_srate, i_inversion, i_fec, i_rolloff,<br>- psz_modulation == NULL ? "legacy" : psz_modulation, i_pilot );<br>+ psz_modulation == NULL ? "legacy" : psz_modulation, i_pilot,<br>+ i_mis );<br> break;<br> <br> case FE_ATSC:<br>diff --git
a/dvblast.c b/dvblast.c<br>index 93a2dea..2e38135 100644<br>--- a/dvblast.c<br>+++ b/dvblast.c<br>@@ -73,6 +73,7 @@ int b_tone = 0;<br> int i_bandwidth = 8;<br> char *psz_modulation = NULL;<br> int i_pilot = -1;<br>+int i_mis = 0;<br> int i_fec_lp = 999;<br> int i_guard = -1;<br> int i_transmission = -1;<br>@@ -452,7 +453,7 @@ void usage()<br> "[-i <RT priority>] [-a <adapter>] [-n <frontend number>] [-S <diseqc>] "<br> "[-f <frequency>|-D [<src host>[:<src port>]@]<src mcast>[:<port>][/<opts>]*|-A <ASI adapter>] "<br> "[-s <symbol rate>] [-v <0|13|18>] [-p] [-b <bandwidth>] [-I <inversion>] "<br>- "[-F <fec inner>] [-m <modulation] [-R <rolloff>] [-P <pilot>] [-K <fec lp>] "<br>+ "[-F <fec
inner>] [-m <modulation] [-R <rolloff>] [-P <pilot>] [-K <fec lp>] [-k <dvbs2_mutistream_id>] "<br> "[-G <guard interval>] [-H <hierarchy>] [-X <transmission>] [-O <lock timeout>] "<br> "[-u] [-w] [-U] [-L <latency>] [-E <retention>] [-d <dest IP>[<:port>][/<opts>]*] "<br> "[-z] [-C [-e] [-M <network name] [-N <network ID>]] [-T] [-j <system charset>] "<br>@@ -477,6 +478,7 @@ void usage()<br> msg_Raw( NULL, " -P --pilot DVB-S2 Pilot (-1 auto, 0 off, 1 on)" );<br> msg_Raw( NULL, " -R --rolloff DVB-S2 Rolloff value" );<br> msg_Raw( NULL, " DVB-S2 35=0.35|25=0.25|20=0.20|0=AUTO (default: 35)" );<br>+ msg_Raw( NULL, "
-k --multistream-id DVB-S2 multistream id (0-255, default: 0) /Only with DVB API >= 5.5?/" );<br> msg_Raw( NULL, " -K --fec-lp DVB-T low priority FEC (default auto)" );<br> msg_Raw( NULL, " -G --guard DVB-T guard interval" );<br> msg_Raw( NULL, " DVB-T 32 (1/32)|16 (1/16)|8 (1/8)|4 (1/4)|-1 (auto, default)" );<br>@@ -542,7 +544,7 @@ int main( int i_argc, char **pp_argv )<br> usage();<br> <br> /*<br>- * The only short options left are: ky0123456789<br>+ * The only short options left are: y0123456789<br> * Use them wisely.<br> */<br> static const struct option long_options[] =<br>@@ -565,6 +567,7 @@ int main( int i_argc, char **pp_argv )<br> {
"inversion", required_argument, NULL, 'I' },<br> { "modulation", required_argument, NULL, 'm' },<br> { "pilot", required_argument, NULL, 'P' },<br>+ { "mutistream-id", required_argument, NULL, 'k' },<br> { "fec-lp", required_argument, NULL, 'K' },<br> { "guard", required_argument, NULL, 'G' },<br> { "hierarchy", required_argument, NULL, 'H' },<br>@@ -600,7 +603,7 @@ int main( int i_argc, char **pp_argv )<br> { 0, 0, 0, 0 }<br> };<br> <br>- while ( (c = getopt_long(i_argc, pp_argv,
"q::c:r:t:o:i:a:n:f:F:R:s:S:v:pb:I:m:P:K:G:H:X:O:uwUTL:E:d:D:A:lg:zCWYeM:N:j:J:B:x:Q:hVZ:", long_options, NULL)) != -1 )<br>+ while ( (c = getopt_long(i_argc, pp_argv, "q::c:r:t:o:i:a:n:f:F:R:s:S:v:pb:I:m:P:k:K:G:H:X:O:uwUTL:E:d:D:A:lg:zCWYeM:N:j:J:B:x:Q:hVZ:", long_options, NULL)) != -1 )<br> {<br> switch ( c )<br> {<br>@@ -711,6 +714,10 @@ int main( int i_argc, char **pp_argv )<br> i_pilot = strtol( optarg, NULL, 0 );<br> break;<br> <br>+ case 'k':<br>+ i_mis = strtol( optarg, NULL, 0 );<br>+ break;<br>+<br> case 'K':<br> i_fec_lp = strtol( optarg, NULL, 0 );<br>
break;<br>diff --git a/dvblast.h b/dvblast.h<br>index 40ce4c4..19b64ca 100644<br>--- a/dvblast.h<br>+++ b/dvblast.h<br>@@ -24,6 +24,16 @@<br> #include <netdb.h><br> #include <sys/socket.h><br> <br>+#if DVBAPI_VERSION >= 505<br>+ #define DVBS2_MIS_IS_SUPPORTED 1<br>+#endif<br>+<br>+/* Debug code to test mutistream with older DVB headers */<br>+#if 1 && DVBAPI_VERSION < 505<br>+ #define DVBS2_MIS_IS_SUPPORTED 1<br>+ #define DTV_DVBS2_MIS_ID 44<br>+#endif<br>+<br> #define HAVE_CLOCK_NANOSLEEP<br> #define HAVE_ICONV<br> <br>@@ -167,6 +177,7 @@ extern int i_bandwidth;<br> extern int i_inversion;<br> extern char *psz_modulation;<br> extern int i_pilot;<br>+extern int i_mis;<br> extern int i_fec_lp;<br> extern int i_guard;<br> extern int i_transmission;<br>-- <br>1.7.5.1<br><br><br>_______________________________________________<br>dvblast-devel mailing list<br><a
ymailto="mailto:dvblast-devel@videolan.org" href="mailto:dvblast-devel@videolan.org">dvblast-devel@videolan.org</a><br><a href="http://mailman.videolan.org/listinfo/dvblast-devel" target="_blank">http://mailman.videolan.org/listinfo/dvblast-devel</a><br><br><br></div></div></blockquote></div></div></body></html>