Jump to content


Photo

BAT


  • Please log in to reply
22 replies to this topic

Re: BAT #21 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 16 July 2019 - 05:28

It works, but I can see some issues.

I never got names on 0.8W BAT's.

I am not sure if getExtensionTable gives you the bouquet_id.

I got several private/user SI tables while scanning BAT on 0.8W.

[eDVBScan] BAT Bouquet_id: 8212
[eDVBScan] BAT ServiceListDesciptor<41>
[eDVBScan] BAT descr<81>
[eDVBScan] BAT descr<5f>
[eDVBScan] BAT descr<91>
[eDVBScan] BAT descr<5f>
[eDVBScan] BAT descr<91>
[eDVBScan] BAT ServiceListDesciptor<41>
[eDVBScan] BAT descr<81>
[eDVBScan] BAT descr<5f>
[eDVBScan] BAT descr<91>
...
So first those issues should be addressed, before pushing that code.

Filtering can be a nice feature but first we need something working properly.
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: BAT #22 littlesat

  • PLi® Core member
  • 56,272 posts

+691
Excellent

Posted 16 July 2019 - 06:58

Indeed

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: BAT #23 LraiZer

  • Senior Member
  • 101 posts

+19
Neutral

Posted 16 July 2019 - 22:55

I am not sure if getExtensionTable gives you the bouquet_id.

 

FYI: I needed to run some code that scans BAT from epgcache and getTableIdExtension() gives me the correct bouquet_id on 28.2e from the LongCrcSection otcs(d)

void eEPGCache::channel_data::OPENTV_ChannelsSection(const uint8_t *d)
{
	OpenTvChannelSection otcs(d);

#ifdef OPENTV_CHANNELS_DEBUG
	eDebug("[eEPGCache] OpenTV: BouquetId %d", otcs.getTableIdExtension());
#endif

	for (OpenTvChannelListConstIterator channel = otcs.getChannels()->begin(); channel != otcs.getChannels()->end(); ++channel)
	{
#ifdef OPENTV_CHANNELS_DEBUG
		eDebug("[eEPGCache] OpenTV: found %d channelId %d %x:%x:%x:%x lcn %d region-flag:id %x:%d",
			otcs.getChannelsListSize(),
			(*channel)->getChannelId(),
			(*channel)->getServiceId(),
			(*channel)->getTransportStreamId(),
			(*channel)->getOriginalNetworkId(),
			(*channel)->getServiceType(),
			(*channel)->getChannelNumber(),
			(*channel)->getRegionFlag(),
			(*channel)->getRegionId());
#endif
		if (m_OPENTV_channels_map.find((*channel)->getChannelId()) == m_OPENTV_channels_map.end())
		{
			struct opentv_channel otc;
			otc.originalNetworkId = (*channel)->getOriginalNetworkId();
			otc.transportStreamId = (*channel)->getTransportStreamId();
			otc.serviceId = (*channel)->getServiceId();
			otc.serviceType = (*channel)->getServiceType();
			m_OPENTV_channels_map[(*channel)->getChannelId()] = otc;
#ifdef OPENTV_CHANNELS_DEBUG
			eDebug("[eEPGCache] OpenTV: ..add >> channelId %d %x found %d",
				(*channel)->getChannelId(), otc.serviceId, m_OPENTV_channels_map.size());
#endif
		}
	}
	OPENTV_checkCompletion(otcs.getCrc32());
}
[eEPGCache] OpenTV: BouquetId 4096
[eEPGCache] OpenTV: BouquetId 4097
[eEPGCache] OpenTV: BouquetId 4098
[eEPGCache] OpenTV: BouquetId 4099
[eEPGCache] OpenTV: BouquetId 4100
[eEPGCache] OpenTV: BouquetId 4101
[eEPGCache] OpenTV: BouquetId 4102
[eEPGCache] OpenTV: BouquetId 4103
[eEPGCache] OpenTV: BouquetId 4104
[eEPGCache] OpenTV: BouquetId 4105
[eEPGCache] OpenTV: BouquetId 4106
[eEPGCache] OpenTV: BouquetId 4107
[eEPGCache] OpenTV: BouquetId 4108
[eEPGCache] OpenTV: BouquetId 4109
[eEPGCache] OpenTV: BouquetId 4110



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users