From 4009bd2a6833657db5f8b51c0a948526140c1788 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Sat, 25 Sep 2021 19:39:22 +0200 Subject: [PATCH] getting ait after starting playback --- src/zapit/include/zapit/scanait.h | 3 ++- src/zapit/include/zapit/zapit.h | 3 ++- src/zapit/src/scanait.cpp | 13 +++++++++---- src/zapit/src/zapit.cpp | 11 ++++------- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/zapit/include/zapit/scanait.h b/src/zapit/include/zapit/scanait.h index 58b8292d5..cb28e94e9 100644 --- a/src/zapit/include/zapit/scanait.h +++ b/src/zapit/include/zapit/scanait.h @@ -50,8 +50,9 @@ private: bool Read(); public: - CAit(int dnum = 0); + CAit(); ~CAit(); + void setDemux(int dnum = 0); bool Start(); bool Stop(); bool Parse(); diff --git a/src/zapit/include/zapit/zapit.h b/src/zapit/include/zapit/zapit.h index b67cdb7ae..3d5240010 100644 --- a/src/zapit/include/zapit/zapit.h +++ b/src/zapit/include/zapit/zapit.h @@ -19,6 +19,7 @@ #include #include #include +#include #define PAL 0 #define NTSC 1 @@ -167,7 +168,7 @@ class CZapit : public OpenThreads::Thread t_channel_id lastChannelTV; int abort_zapit; int pmt_update_fd; - + CAit *ait; //void LoadAudioMap(); void SaveAudioMap(); void SaveVolumeMap(); diff --git a/src/zapit/src/scanait.cpp b/src/zapit/src/scanait.cpp index 9291af7c5..886ee41dc 100644 --- a/src/zapit/src/scanait.cpp +++ b/src/zapit/src/scanait.cpp @@ -37,10 +37,15 @@ #define DEBUG_AIT_UNUSED #define DEBUG_LCN -CAit::CAit(int dnum) +CAit::CAit() +{ + dmxnum = 0; + pid = 0; +} + +void CAit::setDemux(int dnum) { dmxnum = dnum; - pid = 0; } bool CAit::Start() @@ -222,6 +227,7 @@ bool CAit::Parse() } if (pFile) fclose(pFile); + sections.clear(); return true; } @@ -232,8 +238,7 @@ bool CAit::Parse(CZapitChannel * const channel) unlink("/tmp/ait.txt"); if(pid > 0) { - Parse(); - return true; + return Start(); } return false; } diff --git a/src/zapit/src/zapit.cpp b/src/zapit/src/zapit.cpp index 91d29169d..fe5c5e23a 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -45,7 +45,6 @@ #include #include #include -#include #include //#include #include @@ -142,6 +141,7 @@ CZapit::CZapit() pip_channel_id = 0; lock_channel_id = 0; pip_fe = NULL; + ait = new CAit(); } CZapit::~CZapit() @@ -490,7 +490,6 @@ bool CZapit::ParsePatPmt(CZapitChannel * channel) CPat pat(channel->getRecordDemux()); CPmt pmt(channel->getRecordDemux()); - CAit ait(channel->getRecordDemux()); DBG("looking up pids for channel_id " PRINTF_CHANNEL_ID_TYPE "\n", channel->getChannelID()); if(!pat.Parse(channel)) { @@ -501,11 +500,6 @@ bool CZapit::ParsePatPmt(CZapitChannel * channel) printf("[zapit] pmt parsing failed\n"); return false; } - if (channel == current_channel) - if(!ait.Parse(channel)) { - printf("[zapit] ait parsing failed\n"); - } - return true; } @@ -670,6 +664,9 @@ bool CZapit::ZapIt(const t_channel_id channel_id, bool forupdate, bool startplay if (update_pmt) pmt_set_update_filter(current_channel, &pmt_update_fd); + ait->setDemux(current_channel->getRecordDemux()); + ait->Parse(current_channel); + return true; }