openatv / enigma2

openatv-gui
GNU General Public License v2.0
200 stars 317 forks source link

Streaming to kodi crash #900

Closed j4ckp0t85 closed 2 years ago

j4ckp0t85 commented 6 years ago

Zgemma h5. I use IPTV bouquet (http .ts streams, service 1-dvb).

All was fine with old 5.3 (latest 6.1 openpli can handle fine the streaming too).

I have omitted personal data from the log.

openATV Enigma2 crash log

crashdate=Dom Feb 25 11:56:36 2018 compiledate=Feb 22 2018 skin=MetrixHD/skin.MySkin.xml sourcedate=2018-02-21 branch=6.1 rev=2.8.0-18461-g6bf2528 component=enigma2, signal

stbmodel=h5 stbmodel=ultimo stbmodel=h5 kernelcmdline=ubi.mtd=rootfs rootfstype=ubifs root=ubi0:rootfs bmem=192M@64M console=null nimsockets=NIM Socket 0: imageversion=box_type=zgemmah5 imageissue=Welcome to openATV for %h

e/**//***.ts?token=.....= 11:54:27.6449 [ ] dvb/filepush.cpp:160 thread [eFilePushThread] wait for driver eof timeout 11:54:27.6496 [ ] base/httpstream.cpp:270 thread [eHttpStream] Thread end connection 11:54:27.8955 [ ] dvb/filepush.cpp:160 thread [eFilePushThread] wait for driver eof timeout 11:54:28.9049 [ ] dvb/epgcache.cpp:1598 startEPG [eEPGCache] start caching events(1519556068) 11:54:28.9057 [ ] dvb/demux.cpp:286 start [eDVBSectionReader] DMX_SET_FILTER pid=18 11:54:28.9071 [ ] dvb/demux.cpp:286 start [eDVBSectionReader] DMX_SET_FILTER pid=18 11:54:28.9087 [ ] dvb/demux.cpp:286 start [eDVBSectionReader] DMX_SET_FILTER pid=18 11:54:29.3055 { } Plugins/Extensions/EnhancedMovieCenter/EMCTasker.py:43 emcDebugOut EMC: Next trashcan cleanup in 786 minutes 11:54:29.3231 { } Components/Network.py:126 routeFinished 0.0.0.0 11:54:29.3240 { } Components/Network.py:126 routeFinished 192.168 11:54:29.3687 { E } plugin/controllers/SR.py:24 init SerienRecorder plugin not found 11:54:29.3699 { E } plugin/controllers/ER.py:25 init EPG Refresh Plugin not found 11:54:29.3734 { } plugin/httpserver.py:155 buildRootTree [OpenWebif] no plugins to load 11:54:29.3805 { } plugin/httpserver.py:175 HttpdStart [OpenWebif] started on 80 11:54:29.3817 [ ] base/e2avahi.cpp:360 avahi_timeout_new [Avahi] avahi_timeout_new 11:54:29.3839 [ ] base/e2avahi.cpp:380 avahi_timeout_free [Avahi] avahi_timeout_free 11:54:29.3843 [ ] base/e2avahi.cpp:360 avahi_timeout_new [Avahi] avahi_timeout_new 11:54:29.3864 [ ] base/e2avahi.cpp:380 avahi_timeout_free [Avahi] avahi_timeout_free 11:54:29.3878 [ ] base/e2avahi.cpp:360 avahi_timeout_new [Avahi] avahi_timeout_new 11:54:29.3899 [ ] base/e2avahi.cpp:380 avahi_timeout_free [Avahi] avahi_timeout_free 11:54:29.3903 [ ] base/e2avahi.cpp:360 avahi_timeout_new [Avahi] avahi_timeout_new 11:54:29.3925 [ ] base/e2avahi.cpp:380 avahi_timeout_free [Avahi] avahi_timeout_free 11:54:29.3929 [ ] base/e2avahi.cpp:151 avahi_service_try_register [Avahi] Registered zgemmah5 (_http._tcp) on zgemmah5:80

11:54:29.3936 [ ] base/ebase.cpp:279 processOneEvent [eMainloop::processOneEvent] unhandled POLLERR/HUP/NVAL for fd 36(16) 11:54:29.3937 [ ] base/ebase.cpp:279 processOneEvent [eMainloop::processOneEvent] unhandled POLLERR/HUP/NVAL for fd 42(16) 11:54:29.3946 [ ] dvb/pmt.cpp:207 PATready [eDVBServicePMTHandler] PATready 11:54:29.3949 [ ] dvb/pmt.cpp:218 PATready [eDVBServicePMTHandler] PAT TSID: 0x0001 (1) 11:54:29.3951 [ ] dvb/pmt.cpp:238 PATready [eDVBServicePMTHandler] use single pat entry! 11:54:29.3952 [ ] dvb/pmt.cpp:247 PATready [eDVBServicePMTHandler] use pmtpid 1000 for service_id 0001 11:54:29.3954 [ ] dvb/demux.cpp:90 openDemux [eDVBDemux] open demux /dev/dvb/adapter0/demux7 11:54:29.3956 [ ] dvb/demux.cpp:286 start [eDVBSectionReader] DMX_SET_FILTER pid=4096 11:54:29.3963 [ ] dvb/demux.cpp:90 openDemux [eDVBDemux] open demux /dev/dvb/adapter0/demux7 11:54:29.3966 [ ] dvb/demux.cpp:286 start [eDVBSectionReader] DMX_SET_FILTER pid=0 11:54:29.4224 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:29.4227 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.4389 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:29.4392 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.4394 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:29.4395 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.4396 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:29.4398 [ ] base/e2avahi.cpp:196 avahi_browser_callback [Avahi] Resolving service 'zgemmah5' of type '_e2stream._tcp' 11:54:29.4411 [ ] base/e2avahi.cpp:360 avahi_timeout_new [Avahi] avahi_timeout_new 11:54:29.4437 [ ] base/e2avahi.cpp:380 avahi_timeout_free [Avahi] avahi_timeout_free 11:54:29.4443 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.4445 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:29.4447 [ ] base/e2avahi.cpp:196 avahi_browser_callback [Avahi] Resolving service 'zgemmah5' of type '_e2stream._tcp' 11:54:29.4466 [ ] base/e2avahi.cpp:360 avahi_timeout_new [Avahi] avahi_timeout_new 11:54:29.4491 [ ] base/e2avahi.cpp:380 avahi_timeout_free [Avahi] avahi_timeout_free 11:54:29.4495 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.4497 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:29.4500 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.4502 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:29.4521 [ ] base/e2avahi.cpp:360 avahi_timeout_new [Avahi] avahi_timeout_new 11:54:29.4542 [ ] base/e2avahi.cpp:380 avahi_timeout_free [Avahi] avahi_timeout_free 11:54:29.4545 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.4546 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.4549 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:29.4552 [ ] base/e2avahi.cpp:360 avahi_timeout_new [Avahi] avahi_timeout_new 11:54:29.4575 [ ] base/e2avahi.cpp:380 avahi_timeout_free [Avahi] avahi_timeout_free 11:54:29.4579 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:29.7895 [ ] service/servicedvb.cpp:1203 serviceEvent [eDVBServicePlay] eventNewProgramInfo timeshift_enabled=0 timeshift_active=0 11:54:29.7930 < > service/servicedvb.cpp:2872 updateDecoder [eDVBServicePlay] have 1 video stream(s) (0100), and 1 audio stream(s) (0101), and the pcr pid is 0100, and the text pid is ffffffff

11:54:29.8077 [ ] service/servicedvb.cpp:3556 setAC3Delay [eDVBServicePlay] Setting audio delay: setAC3Delay, 0 + 0 11:54:29.8101 [ ] service/servicedvb.cpp:3567 setPCMDelay [eDVBServicePlay] Setting audio delay: setPCMDelay, 0 + 0 11:54:29.8103 [ ] dvb/decoder.cpp:836 setState [eTSMPEGDecoder] decoder state: play, vpid=0100, apid=0101 11:54:29.8105 < > dvb/decoder.cpp:84 startPid [eDVBAudio0] DMX_SET_PES_FILTER pid=0x0101 ok 11:54:29.8106 < > dvb/decoder.cpp:92 startPid [eDVBAudio0] DEMUX_START ok 11:54:29.8110 < > dvb/decoder.cpp:138 startPid [eDVBAudio0] AUDIO_SET_BYPASS bypass=8 ok 11:54:29.8111 < > dvb/decoder.cpp:191 freeze [eDVBAudio0] AUDIO_PAUSE ok 11:54:29.8112 < > dvb/decoder.cpp:146 startPid [eDVBAudio0] AUDIO_PLAY ok 11:54:29.8190 [ ] dvb/decoder.cpp:265 eDVBVideo [eDVBVideo] Video Device: /dev/dvb/adapter0/video0 11:54:29.8192 [ ] dvb/decoder.cpp:276 eDVBVideo [eDVBVideo] demux device: /dev/dvb/adapter0/demux7 11:54:29.8193 < > dvb/decoder.cpp:356 startPid [eDVBVideo0] VIDEO_SET_STREAMTYPE 1 - ok 11:54:29.8194 < > dvb/decoder.cpp:391 startPid [eDVBVideo0] DMX_SET_PES_FILTER pid=0x0100 ok 11:54:29.8195 < > dvb/decoder.cpp:399 startPid [eDVBVideo0] DEMUX_START ok 11:54:29.8199 < > dvb/decoder.cpp:460 freeze [eDVBVideo0] VIDEO_FREEZE ok 11:54:29.8201 < > dvb/decoder.cpp:414 startPid [eDVBVideo0] VIDEO_PLAY ok 11:54:29.8275 < > dvb/decoder.cpp:484 setSlowMotion [eDVBVideo0] VIDEO_SLOWMOTION 0 ok 11:54:29.8277 < > dvb/decoder.cpp:499 setFastForward [eDVBVideo0] VIDEO_FAST_FORWARD 0 ok 11:54:29.8279 < > dvb/decoder.cpp:472 unfreeze [eDVBVideo0] VIDEO_CONTINUE ok 11:54:29.8280 < > dvb/decoder.cpp:203 unfreeze [eDVBAudio0] AUDIO_CONTINUE ok 11:54:29.8334 < > dvb/decoder.cpp:222 setChannel [eDVBAudio0] AUDIO_CHANNEL_SELECT 0 ok 11:54:29.8345 [ ] dvb/teletext.cpp:222 eDVBTeletextParser [eDVBTeletextParser] Starting! 11:54:29.8347 [ ] dvb/teletext.cpp:645 setPageAndMagazine [eDVBTeletextParser] disable teletext subtitles page ffffffffffffffff (und) 11:54:29.8352 [!W!] dvb/demux.cpp:361 eDVBPESReader [eDVBPESReader] Created. Opening demux 11:54:29.8353 [ ] dvb/demux.cpp:90 openDemux [eDVBDemux] open demux /dev/dvb/adapter0/demux7 11:54:29.8357 [ ] dvb/teletext.cpp:230 eDVBTeletextParser [eDVBTeletextParser] created teletext subtitle PES reader! 11:54:29.8360 [!W!] dvb/demux.cpp:361 eDVBPESReader [eDVBPESReader] Created. Opening demux 11:54:29.8361 [ ] dvb/demux.cpp:90 openDemux [eDVBDemux] open demux /dev/dvb/adapter0/demux7 11:54:29.8364 [ ] dvb/teletext.cpp:463 start [eDVBTeletextParser] starting PES reader on pid=ffffffff 11:54:29.8576 { } Plugins/Extensions/Volume_adjust/plugin.py:468 evUpdatedInfo [Volume Adjust] Update Info 11:54:29.8583 { } Plugins/Extensions/Volume_adjust/plugin.py:472 evUpdatedInfo [Volume Adjust] Volume = 100 11:54:29.8587 { } Plugins/Extensions/Volume_adjust/plugin.py:446 loadXML [Volume Adjust] load xml... 11:54:29.8596 { } Plugins/Extensions/Volume_adjust/plugin.py:483 evUpdatedInfo [Volume Adjust] New Channel 11:54:29.8605 { } Plugins/Extensions/Volume_adjust/plugin.py:488 evUpdatedInfo [Volume Adjust] oldvol = 0 11:54:29.8717 [ ] dvb/demux.cpp:90 openDemux [eDVBDemux] open demux /dev/dvb/adapter0/demux7 11:54:29.8720 [ ] dvb/demux.cpp:286 start [eDVBSectionReader] DMX_SET_FILTER pid=4096 11:54:30.2845 [ ] base/e2avahi.cpp:48 activated [Avahi] watch activated: 0x1 11:54:30.2851 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:30.2854 [ ] base/e2avahi.cpp:26 timeout [Avahi] timeout elapsed 11:54:30.2855 [ ] base/e2avahi.cpp:372 avahi_timeout_update [Avahi] avahi_timeout_update 11:54:30.8634 [ ] service/servicedvb.cpp:1728 timeshift [eDVBServicePlay] timeshift 11:54:31.3132 { } Plugins/Extensions/EnhancedMovieCenter/EMCFileCache.py:214 delPathFromCache EMC delPathFromCache /media/hdd/movie/trashcan 11:54:31.3153 { } Plugins/Extensions/EnhancedMovieCenter/EMCTasker.py:43 emcDebugOut EMC: [EMCMS] trashcan cleanup: nothing to delete... 11:54:31.3600 < > dvb/decoder.cpp:543 video_event [eDVBVideo0] VIDEO_GET_EVENT FRAME_RATE_CHANGED 60000 fps

11:54:31.3615 < > dvb/decoder.cpp:543 video_event [eDVBVideo0] VIDEO_GET_EVENT SIZE_CHANGED 1280x720 aspect 3

11:54:31.3862 < > dvb/decoder.cpp:543 video_event [eDVBVideo0] VIDEO_GET_EVENT PROGRESSIVE_CHANGED 1

11:54:31.8927 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] afterDownload /tmp/xtream.gz 11:54:31.8944 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] unlink /tmp/xtream.gz 11:54:31.8955 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] Downloading: http://...... 11:54:33.4036 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] No IPv6, using IPv4 directly: http://..... 11:54:35.1884 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] afterChannelDownload /tmp/xtream 11:54:35.1907 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] Using twisted thread 11:54:35.1952 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] Parsing channels from '....' 11:54:35.2257 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] Enumerating event information 11:54:35.9439 [ ] dvb/epgcache.cpp:1947 abortNonAvail [eEPGCache] abort non avail nownext reading 11:54:35.9445 [ ] dvb/epgcache.cpp:1954 abortNonAvail [eEPGCache] abort non avail schedule reading 11:54:35.9450 [ ] dvb/epgcache.cpp:1961 abortNonAvail [eEPGCache] abort non avail schedule other reading 11:54:41.0431 { E } Tools/StbHardware.py:24 getFPVersion getFPVersion failed! 11:54:41.0614 { } plugin/controllers/models/info.py:383 getInfo [OpenWebif] -D- tuner '0' 'BCM7346 (internal)' 'Tuner A' 11:54:41.0624 { } plugin/controllers/models/info.py:383 getInfo [OpenWebif] -D- tuner '1' 'ATBM7811' 'Tuner B' 11:55:02.9024 [ ] dvb/dvbtime.cpp:416 updateTime [eDVBLocalTimerHandler] no transponder tuned... or no TDT/TOT avail .. try to use RTC :) 11:55:02.9031 [ ] dvb/dvbtime.cpp:449 updateTime [eDVBLocalTimerHandler] getRTC returned time=0. RTC problem? 11:55:02.9033 [ ] dvb/dvb.cpp:2415 getDemux [eDVBChannel] getDemux cap=00 11:55:03.1092 { } Plugins/Extensions/XtreamEditor/XConverter.py:180 enumFile [XTREAM] Bad start/stop time: 20180228000000 +0000 (1519776000) - 20180228000000 +0000 (1519776000) [Serie B Remix 27a g] 11:55:06.1236 { E } Tools/StbHardware.py:24 getFPVersion getFPVersion failed! 11:55:06.1464 { } plugin/controllers/models/info.py:383 getInfo [OpenWebif] -D- tuner '0' 'BCM7346 (internal)' 'Tuner A' 11:55:06.1474 { } plugin/controllers/models/info.py:383 getInfo [OpenWebif] -D- tuner '1' 'ATBM7811' 'Tuner B' 11:55:06.4390 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] ### thread is ready ### Events: 17811 11:55:06.5064 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] imported 17811 events 11:55:06.5076 [ ] dvb/epgcache.cpp:1468 save [eEPGCache] store epg to realpath '/media/hdd/epg.dat' 11:55:06.5580 [ ] dvb/epgcache.cpp:1514 save [eEPGCache] 18001 events written to /media/hdd/epg.dat 11:55:08.0621 { } Plugins/Extensions/XtreamEditor/log.py:17 write [XTREAM] #### Finished #### 11:56:36.1533 [ ] dvb/streamserver.cpp:176 notifier [eDVBServiceStream] stream ref: 1:0:1:49F:63:27:FFFF0000:0:0:0 11:56:36.1544 [ ] dvb/dvb.cpp:1410 allocateChannel [eDVBResourceManager] allocate channel.. 0063:0027 11:56:36.1546 [ ] dvb/dvb.cpp:1413 allocateChannel [eDVBResourceManager] available channel.. 0063:0027 11:56:36.1550 [ ] bsod.cpp:305 oops PC: 004a4bf4 11:56:36.1551 [ ] bsod.cpp:311 oops 00000000 00000001 ffffffed 00000027 11:56:36.1552 [ ] bsod.cpp:311 oops 00000000 00000000 00000063 00000000 11:56:36.1553 [ ] bsod.cpp:311 oops 00000000 0062c30c 5a929664 00000000 11:56:36.1554 [ ] bsod.cpp:311 oops 7fb83a60 00000000 00000000 766ade00 11:56:36.1555 [ ] bsod.cpp:311 oops 007e7e00 00000000 006e92c0 7fb848e0 11:56:36.1555 [ ] bsod.cpp:311 oops 007e7e58 018e10a0 005f27e4 005f0000 11:56:36.1556 [ ] bsod.cpp:311 oops 00000000 004a3f08 fefefeff 00000000 11:56:36.1557 [ ] bsod.cpp:311 oops 766dd020 7fb84840 ffffffff 004a4bf0 11:56:36.1565 [ ] bsod.cpp:328 print_backtrace Backtrace: 11:56:36.1578 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_Z17handleFatalSignaliP9siginfo_tPv) [0x46C498] 11:56:36.1584 [ ] bsod.cpp:336 print_backtrace linux-vdso.so.1(n/a) [0x7759E560] 11:56:36.1590 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_ZN19eDVBResourceManager15allocateChannelERK13eDVBChannelIDR7eUsePtrI11iDVBChannelEb) [0x4A4BF6] 11:56:36.1597 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_ZN21eDVBServicePMTHandler7tuneExtER20eServiceReferenceDVBR4ePtrI9iTsSourceEPKcP9eCueSheetbP11eDVBServiceNS_11serviceTypeEb) [0x4E6A38] 11:56:36.1604 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_ZN21eDVBServicePMTHandler4tuneER20eServiceReferenceDVBiP9eCueSheetbP11eDVBServiceNS_11serviceTypeEb) [0x4E7020] 11:56:36.1612 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_ZN17eDVBServiceStream9doPrepareEv) [0x5C97BC] 11:56:36.1619 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_ZN17eDVBServiceStream5startEPKci) [0x5CA7B4] 11:56:36.1625 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_ZN13eStreamClient8notifierEi) [0x5059C4] 11:56:36.1631 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(n/a) [0x471678] 11:56:36.1636 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_ZN9eMainloop15processOneEventEjPP7_object9ePyObject) [0x473AC0] 11:56:36.1641 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(_ZN9eMainloop7iterateEjPP7_object9ePyObject) [0x473DDC] 11:56:36.1646 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(ZN9eMainloop4pollE9ePyObjectS0) [0x473ECC] 11:56:36.1653 [ ] bsod.cpp:336 print_backtrace /usr/bin/enigma2(n/a) [0x55A5CC] 11:56:36.1655 [ ] bsod.cpp:336 print_backtrace /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx) [0x76C73C54] 11:56:36.1656 [ ] bsod.cpp:348 handleFatalSignal -------FATAL SIGNAL

dmesg

<4>[ 3072.739000] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 10 in queue 2 <6>[ 3236.618000] TCP: request_sock_TCP: Possible SYN flooding on port 8001. Sending cookies. Check SNMP counters.
j4ckp0t85 commented 6 years ago

I already fixed it using this portion of code in lib/dvb/dvb.cpp.

It fits my personal needs, maybe as suggested you should consider a "iptv friendly" branch..

RESULT eDVBResourceManager::allocateChannel(const eDVBChannelID &channelid, eUsePtr &channel, bool simulate) { / first, check if a channel is already existing. / std::list &active_channels = simulate ? m_active_simulate_channels : m_active_channels;

if (!simulate && m_cached_channel)
{
    eDVBChannel *cache_chan = (eDVBChannel*)&(*m_cached_channel);

ifndef HAVE_AMLOGIC

    if(channelid==cache_chan->getChannelID())
    {
        eDebug("[eDVBResourceManager] use cached_channel");
        channel = m_cached_channel;
        return 0;
    }

endif

    m_cached_channel_state_changed_conn.disconnect();
    m_cached_channel=0;
    m_releaseCachedChannelTimer->stop();
}

eDebugNoSimulate("[eDVBResourceManager] allocate channel.. %04x:%04x", channelid.transport_stream_id.get(), channelid.original_network_id.get());
for (std::list<active_channel>::iterator i(active_channels.begin()); i != active_channels.end(); ++i)
{
    eDebugNoSimulate("[eDVBResourceManager] available channel.. %04x:%04x", i->m_channel_id.transport_stream_id.get(), i->m_channel_id.original_network_id.get());
    if (i->m_channel_id == channelid)
    {
        eDebugNoSimulate("[eDVBResourceManager] found shared channel..");
        channel = i->m_channel;
        return 0;
    }
}

/* no currently available channel is tuned to this channelid. create a new one, if possible. */

if (!m_list)
{
    eDebugNoSimulate("[eDVBResourceManager] no channel list set!");
    return errNoChannelList;
}

ePtr<iDVBFrontendParameters> feparm;
if (m_list->getChannelFrontendData(channelid, feparm))
{
    eDebugNoSimulate("[eDVBResourceManager] channel not found!");
    return errChannelNotInList;
}

/* allocate a frontend. */

ePtr<eDVBAllocatedFrontend> fe;

int err = allocateFrontend(fe, feparm, simulate);
if (err)
    return err;

RESULT res;
ePtr<eDVBChannel> ch = new eDVBChannel(this, fe);

res = ch->setChannel(channelid, feparm);
if (res)
{
    channel = 0;
    return errChidNotFound;
}

if (simulate)
    channel = ch;
else
{
    m_cached_channel = channel = ch;
    m_cached_channel_state_changed_conn =
        CONNECT(ch->m_stateChanged,eDVBResourceManager::DVBChannelStateChanged);
}

return 0;

}

jbleyel commented 2 years ago

Is this issue fixed in ATV 7.0?

jbleyel commented 2 years ago

No answer.