channel_id verändert?

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

channel_id verändert?

Beitrag von sumisu »

Hi,

keine Ahnung, ob ich hier richtig bin - falls nicht, entschuldige ich mich vorab dafür.

Mein Prob:

Kann es sein, dass sich im März der Aufbau der channel_id geändert hat? Anfang des Jahres erhielt ich mit dem Aufruf "http://dboxipcontrol/channellist" noch folgende Info:

44d00016dca Das Erste

Seit ein paar Tagen sieht das Ergebnis nun wie folgt aus:

1044d6dca Das Erste

Sieht also so aus, dass da im Aufbau was vertauscht wurde. Da ich in einem Plugin den zapto + timer-Befehl aus dem Web-Interface nutze, funktionieren also meine fest hinterlegten channel_ids nicht mehr :( . Wäre sehr nett, wenn mir jemand sagen könnte, ob das Absicht ist / was dahinter steckt / ob ich eine Möglichkeit habe, die ursprüngliche channel_id zu nutzen.

Vielen Dank vorab für jegliche Infos!

Grüße,
Sumisu
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Kann ich so nicht nachvollziehen

Code: Alles auswählen

44d00016dca Das Erste
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

Houdini hat geschrieben:Kann ich so nicht nachvollziehen

Code: Alles auswählen

44d00016dca Das Erste
erstmal danke fürs feedback - ich nehme an, dass das mit dem cvs von heute war? ich muss zugeben, dass ich es mit einem cvs von vor ein paar tagen probiert habe. wurde das zwischendurch mal was geändert? anyway - das lässt mich jedenfalls hoffen, dass es sich entweder um ein individualprob oder aber um einen temporären fehler handelte. wäre nett, wenn mir da jemand abschließend noch feedback geben könnte.

Danke!
Sumisu
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

ich nehme an, dass das mit dem cvs von heute war?
genau
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

welche datei ist dafür verantwortlich, wenn man fragen darf ?
channellist.cpp sectionsd.cpp ?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

kann denn keiner sagen, wo der fehler liegt ?
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

Es sieht also so aus, dass dieses "Problem" noch andere beschäftigt. Schade, dass man sich dazu bisher ein wenig bedeckt hält. Liegt vielleicht daran, dass ich bisher noch nicht sehr aktiv war.

Vielleicht hilfts ja, wenn ich schreibe, dass mein Plugin nichts mit Vögeln oder sonstwas zutun hat. Es geht lediglich um ein Schellexec-Plugin, das auf Basis einer Datenbank eine TV-Übersicht bietet. Mit den anderen (hier aus verständlichen Gründen unerwünschten) Themen hat es nichts zutun.

Vielleicht hilft das ja, dass jemand da ein paar mehr Informationen postet :)

Meine konkreten Fragen:

- was genau im Image ist für die Erzeugung der channel_id zuständig?
- hat jemand ggf. eine Idee, was an Modifikationen dazu führen kann, dass die channel_id wie von mir beschrieben vertauscht werden kann?

Ich sage vorab schon mal Danke!

Grüße,
Sumisu
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich hab grad neu ausgecheckt. fehler ist noch da :(
wenn ich im timerliste ne timer setze, dann steht :" dahinter.
ich werd noch blöde :(
1044d6dca Das Erste
104316e29 EinsExtra
104316e2a EinsFestival
104316e2b EinsPlus
104376d66 ZDF
104376d6b ZDFinfokanal
104376d6e ZDFdokukanal
104376d70 ZDFtheaterkanal
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

@Houdini

Danke - kann direkt dort nichts finden aber habe mich diesbezüglich mal in den Web-Thread eingehängt.

Sumisu
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

irgendwie denke ich dort ist der fehler nicht.
wenn ich einen umschalttimer setze per menü, dann steht in der timerliste der kanal, und dahinter steht :" ich mach mal bei gelegenheit ein screenshot davon
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

Ich habe mir gestern mal ein "jungfräuliches" Image (cvs 27.03.) gezogen und es damit ausprobiert. Und da ist es so, wie Houdini geschrieben hat. Die channel_id ist ok. Es muss sich also wohl doch um ein Individualproblem handeln. Iss nur schwierig, da den Ansatz zu finden. An Configs habe ich gestern schon wie verrückt probiert. Habe aber nicht gefunden.

Man müsste jetzt herausfinden, ob es irgendwo einen Parameter gibt, der für die Sortierung im Aufbau der channel_id verantwortlich ist...

Sumisu
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

Hi nochmal,

hier:

http://cvs.tuxbox-cvs.sourceforge.net/c ... 7&r1=1.386

steht ab Zeile 547 folgendes:

" ONID/TSID/SID SHOULD be unique.\n"

Ist zwar nur ne Info, die da meines Erachtens generiert wird, aber dennoch interessant, da die aufgeführte Reihenfolge genau die Kombination ist, die meiner fehlerhaften entspricht. Eigentlich müsste es nämlich TSID/ONID/SID lauten.

Ich suche mal weiter und bin weiterhin für jegliche Denlkanstösse dankbar!

Grüße,
Sumisu
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Mein Verständniss ist dass channel_id vom Makro CREATE_CHANNEL_ID gebildet wird. Das Makro ist in $(appsdir)/dvb/zapit/include/zapit/client/zapittypes.h (!!) definiert:

Code: Alles auswählen

#define CREATE_CHANNEL_ID CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(service_id, original_network_id, transport_stream_id)
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

@Barf

Ich glaube, das isses!!!

Dort steht:

Code: Alles auswählen

#define CREATE_BOUQUETENTRY_ID(bouquet_id,original_network_id,transport_stream_id,service_id) ((((t_bouquetentry_id) bouquet_id) << 48) | (((t_bouquetentry_id) original_network_id) << 32) | (((t_bouquetentry_id) transport_stream_id) << 16) | (t_bouquetentry_id) service_id)
müsste das nicht:

Code: Alles auswählen

#define 
CREATE_BOUQUETENTRY_ID(bouquet_id,original_network_id,transport_stream_id,service_id) ((((t_bouquetentry_id) bouquet_id) << 48) | (((t_bouquetentry_id) original_network_id) << 32) | (((t_bouquetentry_id) transport_stream_id) << 16) | (t_bouquetentry_id) service_id)
lauten??

EDIT: Bullshit - iss ja nur der Umbruch in der Darstellung. Aber m.E. ist das der korrekte Ansatz. Irgendwo wird hier anscheinend auf den neuen Eintrag zurückgegriffen, da dort die Sortierung eben genau die falsche ist. Ich forsche mal weiter...

Sumisu
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

Nächster Anlauf. Mein Verständnis ist nun so, dass die folgenden Zeilen nacheinander abgearbeitet werden:

Code: Alles auswählen

#define CREATE_CHANNEL_ID CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(service_id, original_network_id, transport_stream_id)
#define CREATE_TRANSPONDER_ID_FROM_ORIGINALNETWORK_TRANSPORTSTREAM_ID(original_network_id,transport_stream_id) ((((t_original_network_id) original_network_id) << 16) | (t_transport_stream_id) transport_stream_id)
#define CREATE_BOUQUETENTRY_ID(bouquet_id,original_network_id,transport_stream_id,service_id) ((((t_bouquetentry_id) bouquet_id) << 48) | (((t_bouquetentry_id) original_network_id) << 32) | (((t_bouquetentry_id) transport_stream_id) << 16) | (t_bouquetentry_id) service_id)
Leider bin ich diesbezüglich absoluter DAU. Könnte es aber sein, dass unter irgendwelchen Umständen zwar CREATE_TRANSPONDER_ID_FROM_ORIGINALNETWORK_TRANSPORTSTREAM_ID aufgeruf, das Ergebnis aber letztendlich aus CREATE_BOUQUETENTRY_ID abgefragt wird?? Dort ist die Reihenfolge nämlich ONID, TSID, SID statt TSID, ONID, SID

Ich bin mir ziemlcih sicher, dass die Lösung greibar nahe ist...

Sumisu
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

Ich sitze jetzt seit zig Minuten vor diesem Makro (http://cvs.tuxbox-cvs.sourceforge.net/c ... 25&r1=1.24)

Meine Meinung ist, dass folgender Eintrag FALSCH ist:

Code: Alles auswählen

#define CREATE_BOUQUETENTRY_ID(bouquet_id,original_network_id,transport_stream_id,service_id) ((((t_bouquetentry_id) bouquet_id) << 48) | (((t_bouquetentry_id) original_network_id) << 32) | (((t_bouquetentry_id) transport_stream_id) << 16) | (t_bouquetentry_id) service_id)
Und wie folgt geändert werden müsste:

Code: Alles auswählen

#define CREATE_BOUQUETENTRY_ID(bouquet_id,original_network_id,transport_stream_id,service_id) ((((t_bouquetentry_id) bouquet_id) << 48) | (((t_bouquetentry_id) transport_stream_id) << 32) | (((t_bouquetentry_id) original_network_id) << 16) | (t_bouquetentry_id) service_id)
Begründung:

Dort wird genau die Reihengfolge verdreht. Ich verstehe zwar nicht, wann was aufgerufen wird, bin mir in meiner Sache aber ziemlich sicher.

Kann das bitte jemand prüfen oder aber begründen, warum es hier anders sein soll als bei "CREATE_TRANSPONDER_ID_FROM_ORIGINALNETWORK_TRANSPORTSTREAM_ID".

Danke,
Sumisu
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Die Reihenfolge ist hierarchisch so korrekt und nicht anders:

Original Network ID
Transport Stream ID
Service ID

Auf festabgespeicherte Links sollte da keine Rücksicht genommen werden. Sorry.
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

@Nirvana

Das würde ich ja akzeptieren. Komisch ist nur, dass es momentan offenbar (je nach Konstellation) mal so und mal so ist. Sprich: im aktuellen (jungfräulichen) cvs ist es genau andersrum. In bestimmten Konstellationen wieder nicht. Eben DAS versuche ich zu verstehen.

Frage ist - warum ist es HIER:

Code: Alles auswählen

#define CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(service_id,original_network_id,transport_stream_id) ((((t_channel_id)transport_stream_id) << 32) | (((t_channel_id)original_network_id) << 16) | (t_channel_id)service_id)
anders als HIER:

Code: Alles auswählen

#define CREATE_BOUQUETENTRY_ID(bouquet_id,original_network_id,transport_stream_id,service_id) ((((t_bouquetentry_id) bouquet_id) << 48) | (((t_bouquetentry_id) original_network_id) << 32) | (((t_bouquetentry_id) transport_stream_id) << 16) | (t_bouquetentry_id) service_id)
Sumisu
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Für die EPG-speichern Erweiterung habe ich auch das auf die korrekte Reihenfolge geändert.
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

Heisst das, dass auch das Web-Interface zukünftig die ID wie folgt ausgiebt und annimmt (für Timer etc.):

1044d6dca Das Erste

statt wie bisher so

44d00016dca Das Erste

Danke übrigens für Deine Unterstützung!

Sumisu
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Ich bin hier in Südafrika etwa 10000km von meiner Dbox weg, aber wenn es nach mir geht, sollte es in der Reihenfolge ausgegeben werden. Falls ich nochmal zurückkomme, befasse ich mich aber sofort damit. *g*
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

lol - danke - reicht mir auch erstmal an Infos für den Moment

Sumisu
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

Nirvana hat geschrieben:Für die EPG-speichern Erweiterung habe ich auch das auf die korrekte Reihenfolge geändert.
Hier muss ich doch nochmal nachhaken. Was genau heisst "habe ich geändert"? Hier: http://cvs.tuxbox.org/cgi-bin/viewcvs.c ... iew=markup
ist es noch unterschiedlich (letzte Änderung von vor 6 Wochen):

Code: Alles auswählen

#define CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(service_id,original_network_id,transport_stream_id) ((((t_channel_id)transport_stream_id) << 32) | (((t_channel_id)original_network_id) << 16) | (t_channel_id)service_id)

Code: Alles auswählen

Code: 
#define CREATE_BOUQUETENTRY_ID(bouquet_id,original_network_id,transport_stream_id,service_id) ((((t_bouquetentry_id) bouquet_id) << 48) | (((t_bouquetentry_id) original_network_id) << 32) | (((t_bouquetentry_id) transport_stream_id) << 16) | (t_bouquetentry_id) service_id)


WER ändert das Coding denn WANN?

Grüße,
Sumisu
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Mal ganz blöd frag: könnte man den nicht eine "übersetzungstabelle" für die geänderten Channel_IDs nehmen? So nach dem Motto wenn Channel_ID X kommt, dann nehme Y.
Das würde dann auch bei Kabelzuschauern für die Privaten Sender funktionieren.

Gruß Gorcon