home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Development
Improvement Suggestions
Improving the DiseqC Support for KNC TV-Station card
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Django.edwards" data-source="post: 996076" data-attributes="member: 98942"><p>Hi all,</p><p>since some days ago I started to merge the KNC branch <a href="https://github.com/MediaPortal/MediaPortal-1/tree/KNC" target="_blank">https://github.com/MediaPortal/MediaPortal-1/tree/KNC</a></p><p>into the MP 1.2.3 and so one code.</p><p>Since there are only 16 changed files between the KNC branch and the 1.2.3 source, I replaced all the files from the KNC branch into the source of 1.2.3.</p><p>After compiling everything seems to be fine, except when I try to tune to a channel I got the following error:</p><p></p><p> </p><p>I found out, that the exception is generated in the following module: .\TvEngine3\TVLibrary\TVLibrary\Implementations\DVB\ConditionalAccess\ConditionalAccess.cs</p><p>in this area:</p><p>[CODE=C#]</p><p> /// <summary></p><p> /// Instructs the cam/ci module to use hardware filter and only send the pids listed in pids to the pc</p><p> /// </summary></p><p> /// <param name="subChannel">The sub channel id</param></p><p> /// <param name="channel">The current tv/radio channel.</param></p><p> /// <param name="pids">The pids.</param></p><p> /// <remarks>when the pids array is empty, pid filtering is disabled and all pids are received</remarks></p><p> public void SendPids(int subChannel, DVBBaseChannel channel, List<ushort> pids)</p><p> {</p><p> try</p><p> {</p><p> List<ushort> HwPids = new List<ushort>();</p><p> </p><p> _mapSubChannels[subChannel].Pids = pids;</p><p> </p><p> Dictionary<int, ConditionalAccessContext>.Enumerator enSubch = _mapSubChannels.GetEnumerator();</p><p> while (enSubch.MoveNext())</p><p> {</p><p> List<ushort> enPid = enSubch.Current.Value.Pids;</p><p> if (enPid != null)</p><p> {</p><p> for (int i = 0; i < enPid.Count; ++i)</p><p> {</p><p> if (!HwPids.Contains(enPid[i]))</p><p> HwPids.Add(enPid[i]);</p><p> }</p><p> }</p><p> }</p><p> </p><p> if (_digitalEveryWhere != null)</p><p> {</p><p> bool isDvbc = ((channel as DVBCChannel) != null);</p><p> bool isDvbt = ((channel as DVBTChannel) != null);</p><p> bool isDvbs = ((channel as DVBSChannel) != null);</p><p> bool isAtsc = ((channel as ATSCChannel) != null);</p><p> </p><p> // It is not ideal to have to enable hardware PID filtering because</p><p> // doing so can limit the number of channels that can be viewed/recorded</p><p> // simultaneously. However, it does seem that there is a need for filtering</p><p> // on transponders with high data rates. Problems have been observed with</p><p> // transponders on Thor 5/6, Intelsat 10-02 (0.8W) if the filter is not enabled:</p><p> // Symbol Rate: 27500, Modulation: 8 PSK, FEC rate: 5/6, Pilot: On, Roll-Off: 0.35</p><p> // Symbol Rate: 30000, Modulation: 8 PSK, FEC rate: 3/4, Pilot: On, Roll-Off: 0.35</p><p> if (pids.Count != 0 && isDvbs &&</p><p> (((DVBSChannel)channel).ModulationType == ModulationType.Mod8Psk ||</p><p> ((DVBSChannel)channel).ModulationType == ModulationType.Mod16Apsk ||</p><p> ((DVBSChannel)channel).ModulationType == ModulationType.Mod32Apsk)</p><p> )</p><p> {</p><p> for (int i = 0; i < HwPids.Count; ++i)</p><p> {</p><p> Log.Log.Info("FireDTV: HW Filtered Pid : 0x{0:X}", HwPids[i]);</p><p> }</p><p> _digitalEveryWhere.SetHardwarePidFiltering(isDvbc, isDvbt, true, isAtsc, HwPids);</p><p> }</p><p> else</p><p> {</p><p> pids.Clear();</p><p> Log.Log.Info("FireDTV: HW Filtering disabled.");</p><p> _digitalEveryWhere.SetHardwarePidFiltering(isDvbc, isDvbt, isDvbs, isAtsc, pids);</p><p> }</p><p> }</p><p> }</p><p> catch (Exception ex)</p><p> {</p><p> Log.Log.Write(ex);</p><p> }</p><p> }</p><p>[/CODE]</p><p> </p><p>at the following line: _mapSubChannels[subChannel].Pids = pids;</p><p> </p><p>Since I'm an absolute beginner, I can't find out why this happens. It seems that the called key is not in the Directory. But I don't know if this is ok or not.</p><p> </p><p>It would be really gret if somebody could help me out, as this is the only Problem that I have, and so I could use my tv Card with the latest release without having to wait for TVE3.5 coming out.</p><p> </p><p>Maybe @<a href="https://forum.team-mediaportal.com/members/mm1352000.82144/" target="_blank">mm1352000</a> could me give a hint.</p><p> </p><p>Any help would be very appreciated.</p></blockquote><p></p>
[QUOTE="Django.edwards, post: 996076, member: 98942"] Hi all, since some days ago I started to merge the KNC branch [url]https://github.com/MediaPortal/MediaPortal-1/tree/KNC[/url] into the MP 1.2.3 and so one code. Since there are only 16 changed files between the KNC branch and the 1.2.3 source, I replaced all the files from the KNC branch into the source of 1.2.3. After compiling everything seems to be fine, except when I try to tune to a channel I got the following error: I found out, that the exception is generated in the following module: .\TvEngine3\TVLibrary\TVLibrary\Implementations\DVB\ConditionalAccess\ConditionalAccess.cs in this area: [CODE=C#] /// <summary> /// Instructs the cam/ci module to use hardware filter and only send the pids listed in pids to the pc /// </summary> /// <param name="subChannel">The sub channel id</param> /// <param name="channel">The current tv/radio channel.</param> /// <param name="pids">The pids.</param> /// <remarks>when the pids array is empty, pid filtering is disabled and all pids are received</remarks> public void SendPids(int subChannel, DVBBaseChannel channel, List<ushort> pids) { try { List<ushort> HwPids = new List<ushort>(); _mapSubChannels[subChannel].Pids = pids; Dictionary<int, ConditionalAccessContext>.Enumerator enSubch = _mapSubChannels.GetEnumerator(); while (enSubch.MoveNext()) { List<ushort> enPid = enSubch.Current.Value.Pids; if (enPid != null) { for (int i = 0; i < enPid.Count; ++i) { if (!HwPids.Contains(enPid[i])) HwPids.Add(enPid[i]); } } } if (_digitalEveryWhere != null) { bool isDvbc = ((channel as DVBCChannel) != null); bool isDvbt = ((channel as DVBTChannel) != null); bool isDvbs = ((channel as DVBSChannel) != null); bool isAtsc = ((channel as ATSCChannel) != null); // It is not ideal to have to enable hardware PID filtering because // doing so can limit the number of channels that can be viewed/recorded // simultaneously. However, it does seem that there is a need for filtering // on transponders with high data rates. Problems have been observed with // transponders on Thor 5/6, Intelsat 10-02 (0.8W) if the filter is not enabled: // Symbol Rate: 27500, Modulation: 8 PSK, FEC rate: 5/6, Pilot: On, Roll-Off: 0.35 // Symbol Rate: 30000, Modulation: 8 PSK, FEC rate: 3/4, Pilot: On, Roll-Off: 0.35 if (pids.Count != 0 && isDvbs && (((DVBSChannel)channel).ModulationType == ModulationType.Mod8Psk || ((DVBSChannel)channel).ModulationType == ModulationType.Mod16Apsk || ((DVBSChannel)channel).ModulationType == ModulationType.Mod32Apsk) ) { for (int i = 0; i < HwPids.Count; ++i) { Log.Log.Info("FireDTV: HW Filtered Pid : 0x{0:X}", HwPids[i]); } _digitalEveryWhere.SetHardwarePidFiltering(isDvbc, isDvbt, true, isAtsc, HwPids); } else { pids.Clear(); Log.Log.Info("FireDTV: HW Filtering disabled."); _digitalEveryWhere.SetHardwarePidFiltering(isDvbc, isDvbt, isDvbs, isAtsc, pids); } } } catch (Exception ex) { Log.Log.Write(ex); } } [/CODE] at the following line: _mapSubChannels[subChannel].Pids = pids; Since I'm an absolute beginner, I can't find out why this happens. It seems that the called key is not in the Directory. But I don't know if this is ok or not. It would be really gret if somebody could help me out, as this is the only Problem that I have, and so I could use my tv Card with the latest release without having to wait for TVE3.5 coming out. Maybe @[URL='https://forum.team-mediaportal.com/members/mm1352000.82144/']mm1352000[/URL] could me give a hint. Any help would be very appreciated. [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Development
Improvement Suggestions
Improving the DiseqC Support for KNC TV-Station card
Contact us
RSS
Top
Bottom