multistream support in VDR
Commit Message
> >>> Recently in kernel was added full multistream support (DTV_STREAM_ID)
> >>> https://patchwork.kernel.org/patch/1351421/
> >>>
> >>> is there any plans to implement multistream support in vdr ?
> >>
> >> DTV_STREAM_ID is already used in VDR for DVB-T2.
> >
> > what about DTV_STREAM_ID for dvb-s2 ?
>
> Which parameter would go in there, and where would it come from?
parameter "P" in channels.conf for identification of sub-stream
WeddingTV;Tivuitalia:11914:HM5S1P2:S31.5E:27500:1026:1027=ita:0:0:4:8572:972:0
and small patch from crazycat for VDR 1.7.35
Goga
Comments
On 03.01.2013 08:22, Goga777 wrote:
>>>>> Recently in kernel was added full multistream support (DTV_STREAM_ID)
>>>>> https://patchwork.kernel.org/patch/1351421/
>>>>>
>>>>> is there any plans to implement multistream support in vdr ?
>>>>
>>>> DTV_STREAM_ID is already used in VDR for DVB-T2.
>>>
>>> what about DTV_STREAM_ID for dvb-s2 ?
>>
>> Which parameter would go in there, and where would it come from?
>
> parameter "P" in channels.conf for identification of sub-stream
>
> WeddingTV;Tivuitalia:11914:HM5S1P2:S31.5E:27500:1026:1027=ita:0:0:4:8572:972:0
>
> and small patch from crazycat for VDR 1.7.35
Have you tested this and does it actually work?
I can hardly imagine that, because in
+ if (frontendType == SYS_DVBT2 || frontendType == SYS_DVBS2) {
+ // DVB-T2/DVB-S2
SETCMD(DTV_STREAM_ID, dtp.PlpId());
}
"frontendType" will never be SYS_DVBS2 because in line 816 this is
already limited to SYS_DVBT or SYS_DVBT2:
else if (frontendType == SYS_DVBT || frontendType == SYS_DVBT2) {
I would assume that this also requires some additional code in VDR's nit.c
in order to store the "PlpId" in the transponder parameters of DVB-S2
transponders (see case case SI::T2DeliverySystemDescriptorTag).
Klaus
On Thu, Jan 3, 2013 at 2:08 PM, Klaus Schmidinger
<Klaus.Schmidinger@tvdr.de> wrote:
> On 03.01.2013 08:22, Goga777 wrote:
>>>>>>
>>>>>> Recently in kernel was added full multistream support (DTV_STREAM_ID)
>>>>>> https://patchwork.kernel.org/patch/1351421/
>>>>>>
>>>>>> is there any plans to implement multistream support in vdr ?
>>>>>
>>>>>
>>>>> DTV_STREAM_ID is already used in VDR for DVB-T2.
>>>>
>>>>
>>>> what about DTV_STREAM_ID for dvb-s2 ?
>>>
>>>
>>> Which parameter would go in there, and where would it come from?
>>
>>
>> parameter "P" in channels.conf for identification of sub-stream
>>
>>
>> WeddingTV;Tivuitalia:11914:HM5S1P2:S31.5E:27500:1026:1027=ita:0:0:4:8572:972:0
>>
>> and small patch from crazycat for VDR 1.7.35
>
>
> Have you tested this and does it actually work?
> I can hardly imagine that, because in
>
> + if (frontendType == SYS_DVBT2 || frontendType == SYS_DVBS2) {
> + // DVB-T2/DVB-S2
> SETCMD(DTV_STREAM_ID, dtp.PlpId());
> }
>
> "frontendType" will never be SYS_DVBS2 because in line 816 this is
> already limited to SYS_DVBT or SYS_DVBT2:
>
> else if (frontendType == SYS_DVBT || frontendType == SYS_DVBT2) {
>
DTV_STREAM_ID is supposed to work with the following:
- DVB-S2 (the only current user as of now. Also to be noted
is that, for any other current S2 demodulator in
the kernel, this will not work)
- DVB-T2
- ISDB-T/S
- DVB-C2
so, it shouldn't be restricted to DVB-T/T2 alone.
> >>>>> Recently in kernel was added full multistream support (DTV_STREAM_ID)
> >>>>> https://patchwork.kernel.org/patch/1351421/
> >>>>>
> >>>>> is there any plans to implement multistream support in vdr ?
> >>>>
> >>>> DTV_STREAM_ID is already used in VDR for DVB-T2.
> >>>
> >>> what about DTV_STREAM_ID for dvb-s2 ?
> >>
> >> Which parameter would go in there, and where would it come from?
> >
> > parameter "P" in channels.conf for identification of sub-stream
> >
> > WeddingTV;Tivuitalia:11914:HM5S1P2:S31.5E:27500:1026:1027=ita:0:0:4:8572:972:0
> >
> > and small patch from crazycat for VDR 1.7.35
>
> Have you tested this and does it actually work?
no, I have not tested
As Manu mentioned - my cx24116 based hvr4000 dvb-s2 card doesn't support multistream
Goga
@@ -230,7 +230,7 @@
ST("ACST*") q += PrintParameter(q, 'I', MapToUser(inversion, InversionValues));
ST("ACST*") q += PrintParameter(q, 'M', MapToUser(modulation, ModulationValues));
ST(" S 2") q += PrintParameter(q, 'O', MapToUser(rollOff, RollOffValues));
- ST(" T2") q += PrintParameter(q, 'P', plpId);
+ ST(" ST2") q += PrintParameter(q, 'P', plpId);
ST(" ST*") q += PrintParameter(q, 'S', MapToUser(system, SystemValuesSat)); // we only need the numerical value, so Sat or Terr doesn't matter
ST(" T*") q += PrintParameter(q, 'T', MapToUser(transmission, TransmissionValues));
ST(" T*") q += PrintParameter(q, 'Y', MapToUser(hierarchy, HierarchyValues));
@@ -823,8 +823,8 @@
SETCMD(DTV_TRANSMISSION_MODE, dtp.Transmission());
SETCMD(DTV_GUARD_INTERVAL, dtp.Guard());
SETCMD(DTV_HIERARCHY, dtp.Hierarchy());
- if (frontendType == SYS_DVBT2) {
- // DVB-T2
+ if (frontendType == SYS_DVBT2 || frontendType == SYS_DVBS2) {
+ // DVB-T2/DVB-S2
SETCMD(DTV_STREAM_ID, dtp.PlpId());
}