Hi,
ShorTie schrieb:
Trying to get this h.264 stuff going and vdr-1.5.12-h264-syncearly-framespersec-audioindexer-fielddetection.diff and vdr-1.5.10-genpix-usb.diff aren't playing nice during compile .. :(~
dvbdevice.c: In member function 'bool cDvbTuner::SetFrontend()': dvbdevice.c:253: error: jump to case label dvbdevice.c:184: error: crosses initialization of 'unsigned int frequency' dvbdevice.c:267: error: jump to case label dvbdevice.c:184: error: crosses initialization of 'unsigned int frequency' dvbdevice.c:285: error: jump to case label dvbdevice.c:184: error: crosses initialization of 'unsigned int frequency' make: *** [dvbdevice.o] Error 1
This is not a matter of applying both patches -- only vdr-1.5.10-genpix-usb.diff is wrong. The error is the result of changes like that:
@@ -173,13 +173,14 @@
bool cDvbTuner::SetFrontend(void) { - dvb_frontend_parameters Frontend; + dvb_frontend_parameters_new Frontend;
memset(&Frontend, 0, sizeof(Frontend));
switch (frontendType) { - case FE_QPSK: { // DVB-S - + case FE_QPSK: // DVB-S + case FE_DVB_S: // DVB-S + case FE_DVB_S2: // DVB-S unsigned int frequency = channel.Frequency();
if (Setup.DiSEqC) {
See that the variable frequency a few lines above is declared within a switch statement which requires to use a separate block (= a pair of curly braces) for this declaration or you will get the above error. The original code correctly opened a curly brace after "case FE_QPSK:" while the new one doesn't after "case FE_DVB_S2:".
BTW: this is the matching curly brace that was removed from the orignal code:
tuneTimeout = DVBS_TUNE_TIMEOUT; lockTimeout = DVBS_LOCK_TIMEOUT; - } break; case FE_QAM: { // DVB-C
@@ -280,10 +286,17 @@
Try to add those removed curly braces and give it a try. Don't know whether it will work correctly afterwards, but it should compile (though not tested).
Bye.