braice / MuMuDVB

A DVB IPTV streaming software
http://mumudvb.braice.net/
GNU General Public License v2.0
219 stars 133 forks source link

mumudvb reads SDT endlessly #226

Closed malakudi closed 6 years ago

malakudi commented 6 years ago

On 12399 H on Eutelsat 9B (9 degrees east), mumudvb keeps rereading SDT endlessly. Log is full with looping output like the following: Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: We update the channel filters Sep 11 17:47:39 job MUMUDVB[7291]: Info: Common chan: Looking through all services to update their filters Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: We update the channel networking Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:41 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:41 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel names Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel status Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: Looking through all channels to see if they are ready for streaming Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel filters Sep 11 17:47:42 job MUMUDVB[7291]: Info: Common chan: Looking through all services to update their filters Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel networking Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed

It only happens on this transponder. How can I debug this issue?

If I run with -v -v I get (among others): Deb1: Autoconf: SDT Need update. stored version : -1, new: 2 Deb1: Autoconf: SDT Need update. stored version : -1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 10, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 11, new: 2 Deb1: Autoconf: SDT Need update. stored version : 30, new: 2 Deb1: Autoconf: SDT Need update. stored version : 30, new: 2 Deb1: Autoconf: SDT Need update. stored version : 11, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 16, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 19, new: 2

Any hint?

braice commented 6 years ago

Hi

This is an annoying transponder were they send tge sdt information in different tables...

I will have a look on how to fix that

On Tue, Sep 11, 2018, 10:54 Panagiotis Malakoudis notifications@github.com wrote:

On 12399 H on Eutelsat 9B (9 degrees east), mumudvb keeps rereading SDT endlessly. Log is full with looping output like the following: Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: We update the channel filters Sep 11 17:47:39 job MUMUDVB[7291]: Info: Common chan: Looking through all services to update their filters Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: We update the channel networking Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:41 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:41 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel names Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel status Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: Looking through all channels to see if they are ready for streaming Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel filters Sep 11 17:47:42 job MUMUDVB[7291]: Info: Common chan: Looking through all services to update their filters Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel networking Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed

It only happens on this transponder. How can I debug this issue?

If I run with -v -v I get (among others): Deb1: Autoconf: SDT Need update. stored version : -1, new: 2 Deb1: Autoconf: SDT Need update. stored version : -1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 10, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 11, new: 2 Deb1: Autoconf: SDT Need update. stored version : 30, new: 2 Deb1: Autoconf: SDT Need update. stored version : 30, new: 2 Deb1: Autoconf: SDT Need update. stored version : 11, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 16, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 19, new: 2

Any hint?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/braice/MuMuDVB/issues/226, or mute the thread https://github.com/notifications/unsubscribe-auth/AAUUD1njtVIH_gAOKaSsZs4EuzHNIr23ks5uZ86MgaJpZM4Wjep6 .

braice commented 6 years ago

Can you add an extra -v to your command line so I see a bit more the structure of the tables ?

Thank you

Le mar. 11 sept. 2018 à 19:03, Brice Dubost bricedubost@gmail.com a écrit :

Hi

This is an annoying transponder were they send tge sdt information in different tables...

I will have a look on how to fix that

On Tue, Sep 11, 2018, 10:54 Panagiotis Malakoudis < notifications@github.com> wrote:

On 12399 H on Eutelsat 9B (9 degrees east), mumudvb keeps rereading SDT endlessly. Log is full with looping output like the following: Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: We update the channel filters Sep 11 17:47:39 job MUMUDVB[7291]: Info: Common chan: Looking through all services to update their filters Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: We update the channel networking Sep 11 17:47:39 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:40 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:41 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:41 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel names Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel status Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: Looking through all channels to see if they are ready for streaming Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel filters Sep 11 17:47:42 job MUMUDVB[7291]: Info: Common chan: Looking through all services to update their filters Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: We update the channel networking Sep 11 17:47:42 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:43 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed Sep 11 17:47:44 job MUMUDVB[7291]: Info: Autoconf: The SDT version changed, channels description have changed

It only happens on this transponder. How can I debug this issue?

If I run with -v -v I get (among others): Deb1: Autoconf: SDT Need update. stored version : -1, new: 2 Deb1: Autoconf: SDT Need update. stored version : -1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 10, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 1, new: 2 Deb1: Autoconf: SDT Need update. stored version : 11, new: 2 Deb1: Autoconf: SDT Need update. stored version : 30, new: 2 Deb1: Autoconf: SDT Need update. stored version : 30, new: 2 Deb1: Autoconf: SDT Need update. stored version : 11, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 9, new: 2 Deb1: Autoconf: SDT Need update. stored version : 16, new: 2 Deb1: Autoconf: SDT Need update. stored version : 3, new: 2 Deb1: Autoconf: SDT Need update. stored version : 19, new: 2

Any hint?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/braice/MuMuDVB/issues/226, or mute the thread https://github.com/notifications/unsubscribe-auth/AAUUD1njtVIH_gAOKaSsZs4EuzHNIr23ks5uZ86MgaJpZM4Wjep6 .

malakudi commented 6 years ago

I attach mumudvb log with -v -v -v and dvbsnoop 100 packets raw binary log (can be replayed with dvbsnoop -if) from pid 0x11 mumudvb.debug3.log

dvbsnoop_binary_sdt.log

malakudi commented 6 years ago

I think the issue is in autoconf_read_sdt(), it checks version before checking table 0x42. So it triggers version change wrongly, since the version change is for table 0x4a or 0x46.

From dvbsnoop log:
Table_ID: 66 (0x42)  [= Service Description Table (SDT) - actual transport stream]
section_syntax_indicator: 1 (0x01)
reserved_1: 1 (0x01)
reserved_2: 3 (0x03)
Section_length: 602 (0x025a)
Transport_Stream_ID: 6 (0x0006)
reserved_3: 3 (0x03)
Version_number: 2 (0x02)
--
Table_ID: 66 (0x42)  [= Service Description Table (SDT) - actual transport stream]
section_syntax_indicator: 1 (0x01)
reserved_1: 1 (0x01)
reserved_2: 3 (0x03)
Section_length: 946 (0x03b2)
Transport_Stream_ID: 6 (0x0006)
reserved_3: 3 (0x03)
Version_number: 2 (0x02)
--
Table_ID: 74 (0x4a)  [= Bouquet Association Table (BAT)]
section_syntax_indicator: 1 (0x01)
reserved_1: 1 (0x01)
reserved_2: 3 (0x03)
Section_length: 843 (0x034b)
Bouquet_ID: 24924 (0x615c)  [= >>ERROR: not (yet) defined... Report!<<]
reserved_3: 3 (0x03)
Version_number: 19 (0x13)
--

3rd packet is table 0x4a, version number 19, so it triggers a reread, which is wrong.

I can prepare a patch if needed, but I think you can handle it easily.

malakudi commented 6 years ago

Simple (not elegant) patch that fixes the issue:

--- autoconf_sdt.c~ 2018-09-10 16:37:08.000000000 +0300
+++ autoconf_sdt.c  2018-09-12 13:32:16.970804358 +0300
@@ -104,6 +104,8 @@
    len=sdt_mumu->len_full;

    header=(sdt_t *)buf; //we map the packet over the header structure
+   
+   if(header->table_id != 0x42) return 0;

    if(header->version_number==auto_p->sdt_version)
    {
malakudi commented 6 years ago

Will you apply fix to git?

braice commented 6 years ago

yes

Le mer. 3 oct. 2018 à 02:49, Panagiotis Malakoudis notifications@github.com a écrit :

Will you apply fix to git?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/braice/MuMuDVB/issues/226#issuecomment-426529768, or mute the thread https://github.com/notifications/unsubscribe-auth/AAUUD3mVASGqZS-_fQlhOYhm1vRCxtsUks5uhF34gaJpZM4Wjep6 .

braice commented 6 years ago

Done, Thank you very much !