
Hi
Code: Alles auswählen
Index: apps/dvb/zapit/src/zapost/frontend.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/dvb/zapit/src/zapost/frontend.cpp,v
retrieving revision 1.57
diff -u -p -r1.57 frontend.cpp
--- a/apps/dvb/zapit/src/zapost/frontend.cpp 24 Jun 2007 11:46:04 -0000 1.57
+++ b/apps/dvb/zapit/src/zapost/frontend.cpp 28 Jun 2007 14:11:58 -0000
@@ -124,6 +124,7 @@ fe_modulation_t CFrontend::getModulation
return QAM_256;
default:
#if HAVE_DVB_API_VERSION < 3
+ // FIXME!
return QAM_256;
#else
return QAM_AUTO;
@@ -211,6 +212,7 @@ void CFrontend::setFrontend(const dvb_fr
quiet_fop(ioctl, FE_GET_EVENT, &event);
#if HAVE_DVB_API_VERSION < 3
+ // FIXME: is this really needed? -- seife
fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
#endif
fop(ioctl, FE_SET_FRONTEND, feparams);
@@ -340,6 +342,7 @@ void CFrontend::secSetTone(const fe_sec_
TIMER_START();
#if HAVE_DVB_API_VERSION < 3
+ // FIXME: is this really needed? -- seife
if (fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON) < 0)
perror("FE_SET_POWR_STATE");
if (fop_sec(ioctl, FE_SET_TONE, toneMode) == 0) {
@@ -375,7 +378,10 @@ void CFrontend::secResetOverload(void)
#if HAVE_DVB_API_VERSION >= 3
fop(ioctl, FE_DISEQC_RESET_OVERLOAD);
+#else
+ printf("CFrontend::secResetOverload() not implemented in old API\n");
#endif
+
TIMER_STOP();
}
@@ -402,6 +408,7 @@ void CFrontend::sendDiseqcCommand(const
sequence.commands = &command;
sequence.numCommands = 1;
+ // FIXME: is this really needed? -- seife
fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
if (fop_sec(ioctl, SEC_SEND_SEQUENCE, sequence) == 0)
#endif
@@ -463,6 +470,7 @@ void CFrontend::sendToneBurst(const fe_s
sequence.commands = &command;
sequence.numCommands = 0;
+ // FIXME: is this really needed? -- seife
fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
if (fop_sec(ioctl, SEC_SEND_SEQUENCE, sequence) == 0)
#endif
@@ -700,7 +708,7 @@ int CFrontend::setParameters(TP_params *
*
* TODO: set a flag to indicate a change in the service list
*/
- memcpy(¤tTransponder.feparams, &event.u.completionEvent, sizeof(dvb_frontend_parameters));
+ memcpy(¤tTransponder.feparams, &event.u.completionEvent, sizeof(FrontendParameters));
#endif
#else
last_qam = TP->feparams.u.qam.modulation; /* store good value */
Index: apps/tuxbox/neutrino/daemons/controld/controld.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/daemons/controld/controld.cpp,v
retrieving revision 1.126
diff -u -p -r1.126 controld.cpp
--- a/apps/tuxbox/neutrino/daemons/controld/controld.cpp 24 Jun 2007 11:51:03 -0000 1.126
+++ b/apps/tuxbox/neutrino/daemons/controld/controld.cpp 28 Jun 2007 14:11:58 -0000
@@ -363,6 +363,8 @@ void setRGBCsync(int val)
close(fd);
}
config->setInt32("csync", settings.csync);
+#else
+ fprintf(stderr, "[controld] SAAIOSCSYNC not implemented in dreambox\n");
#endif
}
@@ -381,6 +383,7 @@ char getRGBCsync()
}
return val;
#else
+ fprintf(stderr, "[controld] SAAIOGCSYNC not implemented in dreambox\n");
return 0;
#endif
}
@@ -1296,7 +1299,7 @@ void CControldAspectRatioNotifier::aspec
printf("[controld] Unknown aspectRatio: %d", activeAspectRatio);
}
}
-#if HAVE_DVB_API < 3
+#if HAVE_DVB_API_VERSION < 3
else
setVideoFormat(settings.videoformat, false);
#endif
Index: apps/tuxbox/neutrino/daemons/controld/driver/audio.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/daemons/controld/driver/audio.cpp,v
retrieving revision 1.18
diff -u -p -r1.18 audio.cpp
--- a/apps/tuxbox/neutrino/daemons/controld/driver/audio.cpp 17 Jun 2007 18:33:53 -0000 1.18
+++ b/apps/tuxbox/neutrino/daemons/controld/driver/audio.cpp 28 Jun 2007 14:11:58 -0000
@@ -50,6 +50,8 @@ void audioControl::setVolume(const unsig
close(fd);
}
+#else
+ printf("controld: audioControl::setVolume does not work on dreamboxen\n");
#endif
}
@@ -69,6 +71,8 @@ void audioControl::setMute(const bool mu
close(fd);
}
+#else
+ printf("controld: audioControl::setMute does not work on dreamboxen\n");
#endif
}
Index: apps/tuxbox/neutrino/lib/controldclient/controldtypes.h
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/lib/controldclient/controldtypes.h,v
retrieving revision 1.2
diff -u -p -r1.2 controldtypes.h
--- a/apps/tuxbox/neutrino/lib/controldclient/controldtypes.h 27 May 2006 10:24:35 -0000 1.2
+++ b/apps/tuxbox/neutrino/lib/controldclient/controldtypes.h 28 Jun 2007 14:11:59 -0000
@@ -42,9 +42,11 @@ public:
enum volume_type
{
TYPE_OST=0,
+#ifndef HAVE_DREAMBOX_HARDWARE
TYPE_AVS=1,
TYPE_LIRC=2,
- TYPE_UNKNOWN
+#endif
+ TYPE_UNKNOWN=3
};
const static int no_video_formats = 5;
Index: apps/tuxbox/neutrino/src/gui/alphasetup.h
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/alphasetup.h,v
retrieving revision 1.6
diff -u -p -r1.6 alphasetup.h
--- a/apps/tuxbox/neutrino/src/gui/alphasetup.h 23 May 2004 21:48:50 -0000 1.6
+++ b/apps/tuxbox/neutrino/src/gui/alphasetup.h 28 Jun 2007 14:11:59 -0000
@@ -33,6 +33,8 @@
#ifndef __alphasetup__
#define __alphasetup__
+// just to make sure we don't include something of this file by accident - seife
+#ifndef HAVE_DREAMBOX_HARDWARE
#include "widget/menue.h"
@@ -75,4 +77,6 @@ class CAlphaSetup : public CMenuTarget
#endif
-
+#else
+#error on dreambox, alphasetup.h should not be included
+#endif
Index: apps/tuxbox/neutrino/src/gui/audioplayer.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/audioplayer.cpp,v
retrieving revision 1.44
diff -u -p -r1.44 audioplayer.cpp
--- a/apps/tuxbox/neutrino/src/gui/audioplayer.cpp 24 Jun 2007 11:51:04 -0000 1.44
+++ b/apps/tuxbox/neutrino/src/gui/audioplayer.cpp 28 Jun 2007 14:11:59 -0000
@@ -225,6 +225,7 @@ int CAudioPlayerGui::exec(CMenuTarget* p
// set zapit in standby mode
g_Zapit->setStandby(true);
+#ifndef HAVE_DREAMBOX_HARDWARE
// If Audiomode is OST then save setting and switch to AVS-Mode
if(g_settings.audio_avs_Control == CControld::TYPE_OST)
{
@@ -232,6 +233,7 @@ int CAudioPlayerGui::exec(CMenuTarget* p
g_settings.audio_avs_Control = CControld::TYPE_AVS;
}
else
+#endif
m_vol_ost = false;
// tell neutrino we're in audio mode
@@ -269,11 +271,13 @@ int CAudioPlayerGui::exec(CMenuTarget* p
//t_channel_id channel_id=CNeutrinoApp::getInstance()->channelList->getActiveChannel_ChannelID();
//g_Zapit->zapTo_serviceID(channel_id);
g_Zapit->setStandby(false);
+#ifndef HAVE_DREAMBOX_HARDWARE
if(m_vol_ost)
{
g_Controld->setVolume(100, CControld::TYPE_AVS);
g_settings.audio_avs_Control = CControld::TYPE_OST;
}
+#endif
//Send ir
CIRSend irs2("audioplayeroff");
Ich habe mir mal die Sache mit dem FE_SET_POWER_STATE angesehen.seife hat geschrieben: Außerdem ein paar FIXMEs an den Stellen, wo ich mir wirklich nicht sicher bin, ob das alles so korrekt ist.
Code: Alles auswählen
Index: apps/dvb/zapit/src/zapost/frontend.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/dvb/zapit/src/zapost/frontend.cpp,v
retrieving revision 1.57
diff -U3 -r1.57 frontend.cpp
--- apps/dvb/zapit/src/zapost/frontend.cpp 24 Jun 2007 11:46:04 -0000 1.57
+++ apps/dvb/zapit/src/zapost/frontend.cpp 1 Jul 2007 08:44:12 -0000
@@ -83,7 +83,7 @@
if ((fd = open(FRONTEND_DEVICE, O_RDWR|O_NONBLOCK|O_SYNC)) < 0)
ERROR(FRONTEND_DEVICE);
#if HAVE_DVB_API_VERSION < 3
- fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
+ //fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
#endif
}
@@ -124,6 +124,7 @@
return QAM_256;
default:
#if HAVE_DVB_API_VERSION < 3
+ // FIXME!
return QAM_256;
#else
return QAM_AUTO;
@@ -211,7 +212,8 @@
quiet_fop(ioctl, FE_GET_EVENT, &event);
#if HAVE_DVB_API_VERSION < 3
- fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
+ // FIXME: is this really needed? -- seife
+ //fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
#endif
fop(ioctl, FE_SET_FRONTEND, feparams);
}
@@ -340,8 +342,9 @@
TIMER_START();
#if HAVE_DVB_API_VERSION < 3
- if (fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON) < 0)
- perror("FE_SET_POWR_STATE");
+ // FIXME: is this really needed? -- seife
+ //if (fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON) < 0)
+ // perror("FE_SET_POWR_STATE");
if (fop_sec(ioctl, FE_SET_TONE, toneMode) == 0) {
#else
if (fop(ioctl, FE_SET_TONE, toneMode) == 0) {
@@ -375,6 +378,8 @@
#if HAVE_DVB_API_VERSION >= 3
fop(ioctl, FE_DISEQC_RESET_OVERLOAD);
+#else
+ printf("CFrontend::secResetOverload() not implemented in old API\n");
#endif
TIMER_STOP();
}
@@ -402,7 +407,8 @@
sequence.commands = &command;
sequence.numCommands = 1;
- fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
+ // FIXME: is this really needed? -- seife
+ //fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
if (fop_sec(ioctl, SEC_SEND_SEQUENCE, sequence) == 0)
#endif
usleep(1000 * ms);
@@ -463,7 +469,8 @@
sequence.commands = &command;
sequence.numCommands = 0;
- fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
+ // FIXME: is this really needed? -- seife
+ //fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
if (fop_sec(ioctl, SEC_SEND_SEQUENCE, sequence) == 0)
#endif
usleep(1000 * ms);
@@ -581,7 +588,10 @@
bool can_not_auto_inversion = true;
bool do_auto_qam = false;
bool do_auto_inversion = false;
+ if (!tuned)
+ fop(ioctl, FE_SET_POWER_STATE, FE_POWER_ON);
#endif
+
if (info.type == FE_QPSK)
{
@@ -700,7 +710,7 @@
*
* TODO: set a flag to indicate a change in the service list
*/
- memcpy(¤tTransponder.feparams, &event.u.completionEvent, sizeof(dvb_frontend_parameters));
+ memcpy(¤tTransponder.feparams, &event.u.completionEvent, sizeof(FrontendParameters));
#endif
#else
last_qam = TP->feparams.u.qam.modulation; /* store good value */
OpenWRT ist schon bei 2.6.22-rc6seife hat geschrieben:ich habe es nicht probiert, aber ich gehe davon aus, daß die 600er Treiber nicht auf die 500er passen.
Wären die Treiber nicht binonly-Dreck, würde ich den 2.6.22-rc5 nehmen ;-)
Sehr gut.dbluelle hat geschrieben:Ich habe mir mal die Sache mit dem FE_SET_POWER_STATE angesehen.seife hat geschrieben: Außerdem ein paar FIXMEs an den Stellen, wo ich mir wirklich nicht sicher bin, ob das alles so korrekt ist.
IMHO sind die ioctl nicht nötig, jedenfalls konnte ich keinen Unterschied im Verhalten feststellen.
Zum Vergleich: In Enigma wird m.E. dieser ioctl nur abgesetzt, wenn das Tunen nicht erfolgreich war. Ich habe das mal so ähnlich bei Neutrino eingebaut:
Hm. So hatte ich das noch gar nie betrachtet. In diesem Falle könnte man das mit "#ifndef HAVE_DREAMBOX_HARDWARE" umklammern. Allerdings scheint es nicht zu stören (und ich glaube ich habe eine "teletext demux failed"-Meldung auch im enigma gesehen...)Noch was: In der zapit.cpp funktioniert ja das Starten des TeletextDemux nicht. Ich vermute, der ist bei der DBox für das Durchschleifen des Teletextsignals an den Fernseher zuständig (kann das evtl. einer bestätigen? ). Da die Dreambox das nicht kann, kommt hier natürlich die Fehlermeldung.
Sehr schön. Ich habe heute mal endlich wieder etwas Zeit gehabt, mich damit zu beschäftigen, den Picviewer habe ich allerdings noch nicht probiert (den habe ich noch nie benutzt, auch nicht auf der dbox).@alle
Ich habe gerade noch eine Änderung eingecheckt, sodass jetzt auch der Pictureviewer auf der Dreambox (zumindest auf der 7000er ;)) funktioniert.
dbluelle