SectionsD ansteuern ... aber wie ?

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
Cybergen2k
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Freitag 1. Oktober 2004, 16:01

SectionsD ansteuern ... aber wie ?

Beitrag von Cybergen2k »

Code: Alles auswählen

#include <sectionsdclient/sectionsdclient.h>
CSectionsdClient *g_Sectionsd;
CEPGData epgdata;

void getepg(int id) {
 int chan_id = 0x2f1c;
 if (g_Sectionsd->getActualEPGServiceKey(chan_id,&epgdata)) {
 printf("[EPG] ID:%d TITLE=<%s>\n",epgdata.eventID,epgdata.title.c_str());
 }
}


main() {
 g_Sectionsd = new CSectionsdClient;
 for (int i=0;i<0xffff;i++) {
  getepg(i);
 }
 delete g_Sectionsd;
}
also ansich hab nicht viele probleme mit den libs ...
aber die hier tut mir garkein gefallen ..
anscheinend wird zwar sectiond connected aber er sendet nix.
mach ich was falsch ? was vergessen ?
kann sectionsd nur ein client at same time vertragen ?

edit:
Also ich hab es geschafft die Aktuellen Sendungen rauszubekommen
aber ich schaff es ums verrxxxxx nicht alle EPG-Sendungen eines Senders
auszulesen.

Also kann mir jemand ein einfaches Beispiel zur EPG-Auslesung posten ?
Biiiiiiiiiiiiiiiiiiiiiittttttttttteeeeeeeeeeeeeeeee *seufz*
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

schau doch mal, wie das der nhttpd macht.

ciao,

ChakaZulu
Cybergen2k
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Freitag 1. Oktober 2004, 16:01

folgendes gebaut

Beitrag von Cybergen2k »

folgendes gebaut:

Code: Alles auswählen

#include <sectionsdclient/sectionsdclient.h>
CSectionsdClient *g_Sectionsd;
CEPGData epgdata;
CChannelEventList cevtlst;
CSectionsdClient::responseGetCurrentNextInfoChannelID curnext;

void getepg(int chan_id) {
 cevtlst = g_Sectionsd->getChannelEvents();
 printf("Events 4 %d Channels\n",cevtlst.size());
 for (int i = 0;i<cevtlst.size();i++) {
  int id = cevtlst[i].get_channel_id();
  if (id == chan_id)
  printf("(%d) %d = %s | %s\n",id,i,cevtlst[i].text.c_str(),cevtlst[i].description.c_str());
 }

 g_Sectionsd->setServiceChanged(chan_id,true);
 printf("Try fetching cEList...\n");
// chan_id = 2100850383; << war nur mal zum testen
 cevtlst = g_Sectionsd->getEventsServiceKey(chan_id);
// selbe funktion die nhttpd verwendet
 printf("cEL-Size: %d\n",cevtlst.size());
 for(int i = 0;i<cevtlst.size();i++) {
  printf("%d = %s\n",i,cevtlst[i].text.c_str());
 }

 if (!g_Sectionsd->getCurrentNextServiceKey(chan_id,curnext)) printf("CNSK Fail!");
 printf("Current:= %s\n",curnext.current_name.c_str());
 printf("next:= %s\n",curnext.next_name.c_str());

}

int calc_id(int onid,int sid) {
 return (onid * 0x10000)+sid;
}

main() {
 g_Sectionsd = new CSectionsdClient();
 if (g_Sectionsd->getIsTimeSet()) printf("EPG: Time is set!\n");
 g_Sectionsd->setPauseScanning(false);
 if (g_Sectionsd->getIsScanningActive()) printf("EGP Scanning active!");
 getepg(calc_id(0x85,0x383));
 getepg(calc_id(0x85,0x203));
 getepg(calc_id(0x85,0x02A));
 getepg(0x16DCB);
 // onid + sid
 g_Sectionsd->setPauseScanning(false);
 delete g_Sectionsd;
}

Ausgabe uffer Box:

Code: Alles auswählen

/mnt/custom # ./epgvieww

EPG: Time is set!
EGP Scanning active!Events 4 125 Channels
(8717187) 43 = Cold Case - Kein Opfer ist je vergessen | Cold Case - Kein Opfer
ist je vergessen
// ---------------------------
Try fetching cEList...
cEL-Size: 0
// -------^^^^ Das geht nicht --------------
Current:=
next:=
Events 4 125 Channels
(8716803) 36 = Kriminalfilm | Rattennest (Kiss me deadly)
Try fetching cEList...
cEL-Size: 0
Current:=
next:=
Events 4 127 Channels
(8716330) 36 = Der Fanatiker | Law & Order
Try fetching cEList...
cEL-Size: 0
Current:=
next:=
Events 4 128 Channels
(93643) 87 = Camping-Urlaub | Frõnkisches Volkstheater
Try fetching cEList...
cEL-Size: 0
Current:=
next:=
/mnt/custom #  e
also die Zeile die nix macht ist:
>> cevtlst = g_Sectionsd->getEventsServiceKey(chan_id);
auch wenn ich ne ChanID direkt ausm webifc nehm ...
also sektions liefert da nada zurück aber why *ka*
Cybergen2k
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Freitag 1. Oktober 2004, 16:01

tjahoha

Beitrag von Cybergen2k »

problem gelöst ... ;)

sectionsd will TSID noch haben dann klapperts