EPG wird durch Umschalten bei Ankündigung nicht eingelesen

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

EPG wird durch Umschalten bei Ankündigung nicht eingelesen

Beitrag von Gaucho316 »

Mir ist aufgefallen, dass durch "Umschalten bei Ankündigung" zwar einige Minuten vor Aufnahmebeginn umgeschaltet wird, der EPG dabei aber nicht eingelesen wird, falls man bspw. nach einem Neustart der Box noch nicht auf dem Kanal war, auf den umgeschaltet werden soll. Bei diesem Umschaltvorgang wird auch nicht die Infobar eingeblendet.

Ein Umschaltimer dagegen liest den EPG ordentlich ein. Bei diesem Umschaltvorgang wird aber auch die Infobar eingeblendet.

Die entsprechenden Codeteile, die bei den beiden Vorgängen ausgeführt werden, habe ich schon einmal in einem anderen Thread zu einem anderen Thema gepostet. Leider hat mir damals keiner auf meine Frage nach dem Unterschied geantwortet. Deshalb nun Versuch Nr. 2:

Für das Umschalten bei Ankündigung ist wohl folgender Code zuständig:

Code: Alles auswählen

else if( msg == NeutrinoMessages::ANNOUNCE_RECORD)
{
	...

	if( g_settings.recording_zap_on_announce )
	{
		if(recordingstatus==0)
		{
			t_channel_id channel_id=((CTimerd::RecordingInfo*)data)->channel_id;
			g_Zapit->zapTo_serviceID_NOWAIT(channel_id);
		}
	}

	...
}
Und für das Umschalten durch einen Timer ist dann wohl folgender Code zuständig:

Code: Alles auswählen

else if( msg == NeutrinoMessages::ZAPTO)
{
	CTimerd::EventInfo * eventinfo;
	eventinfo = (CTimerd::EventInfo *) data;
	if(recordingstatus==0)
	{
		bool isTVMode = g_Zapit->isChannelTVChannel(eventinfo->channel_id);

		if ((!isTVMode) && (mode != mode_radio))
		{
			radioMode(false);
			channelsInit(init_mode_switch, mode_tv);
		}
		else if (isTVMode && (mode != mode_tv))
		{
			tvMode(false);
			channelsInit(init_mode_switch, mode_radio);
		}
		channelList->zapTo_ChannelID(eventinfo->channel_id);
	}
	delete (unsigned char*) data;
	return messages_return::handled;
}
Kann mir nun bitte jemand, der Ahnung davon hat, erklären, worin der Unterschied zwischen diesen beiden Umschaltvorgängen liegt?
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Hi,
ganz einfach hier:

g_Zapit->zapTo_serviceID_NOWAIT(channel_id);
und
channelList->zapTo_ChannelID(eventinfo->channel_id);


Man müsste sich jetzt mal diese beiden Funktionien raussuchen und schauen was da genau gemacht wird ......

Kroki
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Beitrag von Gaucho316 »

Das weiß ich auch. Ich wollte nur den umgebenden Code auch noch mit angeben, um die beiden Funktionen im Kontext zu zeigen. Und aus dem Code der beiden Funktionen "zapTo_serviceID_NOWAIT" und "zapTo_ChannelID" werde ich leider nicht schlau. :cry:
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

möglicherweise bekommt der sectionsd keine "service changed" Nachricht,
dann wird die EPG Einleseroutine nicht neu getriggert.