Jugendschutz im SportPortal!?!?
-
- Tuxboxer
- Beiträge: 6044
- Registriert: Montag 17. November 2003, 06:48
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Einsteiger
- Beiträge: 191
- Registriert: Dienstag 30. Dezember 2003, 01:49
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
So, jetzt mal ein inbound diff:
vielleicht kann mir mal jemand erklären wo der Speicher im anderen Zweig (if) freigegeben wird.
Houdini
vielleicht kann mir mal jemand erklären wo der Speicher im anderen Zweig (if) freigegeben wird.
Houdini
Code: Alles auswählen
diff -ur -x CVS sectionsd.orig/sectionsd.cpp sectionsd/sectionsd.cpp
--- sectionsd.orig/sectionsd.cpp 2005-08-17 22:31:01.000000000 +0200
+++ sectionsd/sectionsd.cpp 2005-08-17 22:36:02.000000000 +0200
@@ -3671,6 +3671,10 @@
//dprintf("[eitThread] added %d events (end)\n", eit.events().size());
} // if
} // if
+ else
+ {
+ delete[] buf;
+ }
} // for
} // try
catch (std::exception& e)
-
- Einsteiger
- Beiträge: 166
- Registriert: Dienstag 22. Juni 2004, 22:12
Hi all,
erstmal einen Dank an Houdini für die hervorragende Arbeit !!
Läuft schon hervorragend .......
Ich hab da ein kleines Problem festgestellt, wo ich nicht weis ob es direkt mit dem Patch zu tun hat :
Direktaufnahme (Features->Aufnahme Start) aus dem Portal geht nur bei Optionenskanälen die auf dem gleichen Transponder(ID 0003) wie das Portal liegen. Wenn ich die Option 2 (Feed DD auf TP:0011) versuche aufzunehmen schaltet er auf den TP:0011, aber nimmt dann SCI-Fi auf. Wenn ich dagegen einen Timer über die EPG-Daten erstelle, dann funktionierts.
In der timerd.conf steht die richtige Channel_ID drinnen. Ich versuche mich grad durch die Sourcen zu wühlen, aber bin noch nicht fündig geworden, vielleicht hat ja mal einer einen Tip, wo ich so ungefähr suchen sollte......
Gruß Kroki
erstmal einen Dank an Houdini für die hervorragende Arbeit !!
Läuft schon hervorragend .......
Ich hab da ein kleines Problem festgestellt, wo ich nicht weis ob es direkt mit dem Patch zu tun hat :
Direktaufnahme (Features->Aufnahme Start) aus dem Portal geht nur bei Optionenskanälen die auf dem gleichen Transponder(ID 0003) wie das Portal liegen. Wenn ich die Option 2 (Feed DD auf TP:0011) versuche aufzunehmen schaltet er auf den TP:0011, aber nimmt dann SCI-Fi auf. Wenn ich dagegen einen Timer über die EPG-Daten erstelle, dann funktionierts.
In der timerd.conf steht die richtige Channel_ID drinnen. Ich versuche mich grad durch die Sourcen zu wühlen, aber bin noch nicht fündig geworden, vielleicht hat ja mal einer einen Tip, wo ich so ungefähr suchen sollte......
Gruß Kroki
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
ich hätte da so folgenden Verdacht:
g_RemoteControl->current_channel_id gibt die Portal channelID zurück und nicht die option channelID, warum nicht eventinfo.channel_id benutzt wird weiss ich auch nicht.
g_RemoteControl->current_channel_id gibt die Portal channelID zurück und nicht die option channelID, warum nicht eventinfo.channel_id benutzt wird weiss ich auch nicht.
Code: Alles auswählen
bool CNeutrinoApp::doGuiRecord(char * preselectedDir, bool addTimer)
{
CTimerd::RecordingInfo eventinfo;
bool refreshGui = false;
if(CVCRControl::getInstance()->isDeviceRegistered())
{
if(recordingstatus == 1)
{
puts("[neutrino.cpp] executing " NEUTRINO_RECORDING_START_SCRIPT ".");
if (system(NEUTRINO_RECORDING_START_SCRIPT) != 0)
perror(NEUTRINO_RECORDING_START_SCRIPT "failed");
CZapitClient::CCurrentServiceInfo si = g_Zapit->getCurrentServiceInfo();
eventinfo.channel_id = CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(si.sid, si.onid, si.tsid);
CEPGData epgData;
if (g_Sectionsd->getActualEPGServiceKey(g_RemoteControl->current_channel_id, &epgData ))
{
eventinfo.epgID = epgData.eventID;
eventinfo.epg_starttime = epgData.epg_times.startzeit;
}
else
{
eventinfo.epgID = 0;
eventinfo.epg_starttime = 0;
}
-
- Tuxboxer
- Beiträge: 6044
- Registriert: Montag 17. November 2003, 06:48
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
Mit g_RemoteControl->current_channel_id werden doch nur die EPGInfos geholt - ist glaub ich Absicht dass die EPG-Infos vom Portal kommen.Houdini hat geschrieben:ich hätte da so folgenden Verdacht:
g_RemoteControl->current_channel_id gibt die Portal channelID zurück und nicht die option channelID, warum nicht eventinfo.channel_id benutzt wird weiss ich auch nicht.
Entscheidend ist in diesem fall ja eventinfo.channel_id, die wird über dieses komische Konstrukt CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID ....
erzeugt. Da müsste man mal forschen, ob das die richtige channelId ist.
Bei der AUfnahme wird später dann nämlich abgefragt:
Code: Alles auswählen
if(g_Zapit->getCurrentServiceID() != channel_id) // und momentan noch nicht getuned ist
{
g_Zapit->zapTo_serviceID(channel_id); // dann umschalten
}
Oder auf 0, dann wird nämlich nie nicht gezappt...
@jmittelst: nicht so ungeduldig, nicht jeder hat die Zeit sich das forum stündlich reinzuziehen ;-)
Zwen
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
meine eigentliche Frage um die es ging war folgende, da es wahrscheinlich noch ein memory leak in meiner letzten version gab, hab ich nachgeschaut und anhand dem Vergleich mit dem EIT thread folgenden diff gemacht. Ich habe aber nicht gefunden wo der Speicher im anderen Zweig freigegeben wird (genau wie im EIT Thread).
Zu diesem Diff hat sich noch niemand geäußert obs was gebracht hat, bei mir siehts aber besser aus.
Die Sache mit der channelid wollte sich Kroki anschauen, ich hab da erst mal einen Tip gegeben, aber ich schau dort auch mal nach
Houdini
Zu diesem Diff hat sich noch niemand geäußert obs was gebracht hat, bei mir siehts aber besser aus.
Die Sache mit der channelid wollte sich Kroki anschauen, ich hab da erst mal einen Tip gegeben, aber ich schau dort auch mal nach

Houdini
Code: Alles auswählen
diff -ur -x CVS sectionsd.orig/sectionsd.cpp sectionsd/sectionsd.cpp
--- sectionsd.orig/sectionsd.cpp 2005-08-17 22:31:01.000000000 +0200
+++ sectionsd/sectionsd.cpp 2005-08-17 22:36:02.000000000 +0200
@@ -3671,6 +3671,10 @@
//dprintf("[eitThread] added %d events (end)\n", eit.events().size());
} // if
} // if
+ else
+ {
+ delete[] buf;
+ }
} // for
} // try
catch (std::exception& e)
-
- Image-Team
- Beiträge: 1015
- Registriert: Freitag 7. Februar 2003, 18:37
Houdini hat geschrieben:meine eigentliche Frage um die es ging war folgende, da es wahrscheinlich noch ein memory leak in meiner letzten version gab, hab ich nachgeschaut und anhand dem Vergleich mit dem EIT thread folgenden diff gemacht. Ich habe aber nicht gefunden wo der Speicher im anderen Zweig freigegeben wird (genau wie im EIT Thread).
Zu diesem Diff hat sich noch niemand geäußert obs was gebracht hat, bei mir siehts aber besser aus.
Die Sache mit der channelid wollte sich Kroki anschauen, ich hab da erst mal einen Tip gegeben, aber ich schau dort auch mal nach
Houdini
Code: Alles auswählen
diff -ur -x CVS sectionsd.orig/sectionsd.cpp sectionsd/sectionsd.cpp --- sectionsd.orig/sectionsd.cpp 2005-08-17 22:31:01.000000000 +0200 +++ sectionsd/sectionsd.cpp 2005-08-17 22:36:02.000000000 +0200 @@ -3671,6 +3671,10 @@ //dprintf("[eitThread] added %d events (end)\n", eit.events().size()); } // if } // if + else + { + delete[] buf; + } } // for } // try catch (std::exception& e)
Ich guck mir das gleich mal an, und jmittelst testet es auch gleich mal, hab das eben mal eingebaut.
Gruß Riker
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
Dann helf ich dir malHoudini hat geschrieben:meine eigentliche Frage um die es ging war folgende, da es wahrscheinlich noch ein memory leak in meiner letzten version gab, hab ich nachgeschaut und anhand dem Vergleich mit dem EIT thread folgenden diff gemacht. Ich habe aber nicht gefunden wo der Speicher im anderen Zweig freigegeben wird (genau wie im EIT Thread).

Der Speicher wird erstmal nicht freigegeben. Weil in diesem Zweig das Event ja gespeichert wird. Erst wenn das Event "veraltet" wird es gelöscht und damit auch der Speicher...
Technisch:
Der Pointer auf den Speicher wird an den Konstruktor von SIsection übergeben. Das SIsection object übernimmt sozusagen die ownership für diesen Speicher. Wird das SIsection object zerstört, wird in dessen Destruktor der Speicher freigegeben...
Zwen
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Wie schon vermutet ist Krokis Problem hier zu fixen:
Beim Sportportal ist die aktuelle channelID die vom Portal und nicht vom Optionskanal, also die aktuelle gibts dann von zapit.
Hab jetzt kein diff gemacht
Houdini
Beim Sportportal ist die aktuelle channelID die vom Portal und nicht vom Optionskanal, also die aktuelle gibts dann von zapit.
Hab jetzt kein diff gemacht

Houdini
Code: Alles auswählen
bool CNeutrinoApp::doGuiRecord(char * preselectedDir, bool addTimer)
{
CTimerd::RecordingInfo eventinfo;
bool refreshGui = false;
if(CVCRControl::getInstance()->isDeviceRegistered())
{
if(recordingstatus == 1)
{
puts("[neutrino.cpp] executing " NEUTRINO_RECORDING_START_SCRIPT ".");
if (system(NEUTRINO_RECORDING_START_SCRIPT) != 0)
perror(NEUTRINO_RECORDING_START_SCRIPT "failed");
CZapitClient::CCurrentServiceInfo si = g_Zapit->getCurrentServiceInfo();
eventinfo.channel_id = CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(si.sid, si.onid, si.tsid);
CEPGData epgData;
// if (g_Sectionsd->getActualEPGServiceKey(g_RemoteControl->current_channel_id, &epgData ))
if (g_Sectionsd->getActualEPGServiceKey(eventinfo.channel_id , &epgData ))
{
-
- Einsteiger
- Beiträge: 166
- Registriert: Dienstag 22. Juni 2004, 22:12
-
- Erleuchteter
- Beiträge: 450
- Registriert: Sonntag 28. Juli 2002, 01:18
-
- Image-Team
- Beiträge: 1015
- Registriert: Freitag 7. Februar 2003, 18:37
-
- Semiprofi
- Beiträge: 1383
- Registriert: Freitag 18. April 2003, 15:12
Habe jetzt mal einen aktuellen JTG snapshot drauf gemacht, leider macht der neue sectionsd oder zapit ständig Probleme und schmiert beim EPG einlesen knadenlos ab.
Die Box ist hierbei nicht mehr bedienbar und es hilft nur noch der reboot bis es dann irgendwann wieder auftritt. 
Code: Alles auswählen
PES, queue 0 normal.
[camd] starting onid 0085 sid 0008
[controld] VIDEO_EVENT_SIZE_CHANGED 544x576 (4:3 -> 4:3)
descramble onid: 0085 sid: 0008 status: 8484
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/zapit.sock
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
usw...

-
- Tuxboxer
- Beiträge: 6044
- Registriert: Montag 17. November 2003, 06:48
-
- Semiprofi
- Beiträge: 1383
- Registriert: Freitag 18. April 2003, 15:12
Jo, eine andere camd2 sonst nichts.jmittelst hat geschrieben:Hmm - ich hatte bislang nur Probleme mit dem alternativen nhttpd - hast Du auch irgendwas auf der Box laufen, was nicht dem Standard von Neutrino entspricht? Bei mir läuft der Snap vom 16.8. seit dem 17.8. problemlos (von dem nhttpd-Problem mal abgesehen).
cu
Jens
Die Sachlage verhält sich ganz einfach so:
Ich habe Boxen mit meinen selbsterstellten Images und wenn da was mucken macht schliesse ich die Box mit JTG Image an und mach einen aktuellen shot drauf. Gepatcht ist das nichts.
So wie es aussieht sobald die epg Infos einen Tick zu spät kommen schmiert alles ab.
Passiert hauptsächlich auf Sender die vom Empfang her hier nicht ganz so stark sind.
-
- Tuxboxer
- Beiträge: 6044
- Registriert: Montag 17. November 2003, 06:48
-
- Semiprofi
- Beiträge: 1383
- Registriert: Freitag 18. April 2003, 15:12
-
- Semiprofi
- Beiträge: 1383
- Registriert: Freitag 18. April 2003, 15:12
So runtergeladen geflasht, der snap vom 15.08. macht 0 Probleme.
Snap vom 16.08. wieder geflasht sectionsd und zapit stürzen ab.
15.08. wieder geflasht, läuft bleibt da erstmal drauf.
Also hat sich am 16.08. ein Bug eingeschlichen.
Wenn jemand Ideen hat, immer her damit, kann gerne testen(source oder binary egal).
Snap vom 16.08. wieder geflasht sectionsd und zapit stürzen ab.
15.08. wieder geflasht, läuft bleibt da erstmal drauf.
Also hat sich am 16.08. ein Bug eingeschlichen.

Wenn jemand Ideen hat, immer her damit, kann gerne testen(source oder binary egal).
-
- Image-Team
- Beiträge: 1015
- Registriert: Freitag 7. Februar 2003, 18:37
Nico 77 hat geschrieben:So runtergeladen geflasht, der snap vom 15.08. macht 0 Probleme.
Snap vom 16.08. wieder geflasht sectionsd und zapit stürzen ab.
15.08. wieder geflasht, läuft bleibt da erstmal drauf.
Also hat sich am 16.08. ein Bug eingeschlichen.
Wenn jemand Ideen hat, immer her damit, kann gerne testen(source oder binary egal).
Ich mach gleich mal einen aktuellen Snap, allerdings hauts bei mir auch noch ab und zu die Box weg mit dem aktuellen sectionsd.
Na wird schon noch werden, aber testen kann man es ja mal.
Riker