1
0
mirror of https://github.com/rofafor/vdr-plugin-femon.git synced 2023-10-10 13:36:53 +02:00

Fixed AC3-info flickering (Thanks to Pasi Juppo for reporting this one).

Added "Analog" type CA system.
Plugin is now stripped by default.
This commit is contained in:
Rolf Ahrenberg 2005-07-23 04:20:00 +03:00
parent 8e57eec535
commit 7c948cde72
7 changed files with 51 additions and 10 deletions

View File

@ -161,3 +161,9 @@ VDR Plugin 'femon' Revision History
- Renamed compiling switches ('DEBUG' to 'FEMON_DEBUG' and 'NTSC_SYSTEM' to 'FEMON_NTSC'). - Renamed compiling switches ('DEBUG' to 'FEMON_DEBUG' and 'NTSC_SYSTEM' to 'FEMON_NTSC').
- Enabled preliminary support for the device switching. - Enabled preliminary support for the device switching.
2005-07-23: Version 0.9.1
- Fixed AC3-info flickering (Thanks to Pasi Juppo for reporting this one).
- Added "Analog" type CA system.
- Plugin is now stripped by default.

View File

@ -16,7 +16,11 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).h | awk '{ pri
### The C++ compiler and options: ### The C++ compiler and options:
CXX ?= g++ CXX ?= g++
CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -fPIC ifdef FEMON_DEBUG
CXXFLAGS ?= -g -Wall -Woverloaded-virtual -fPIC
else
CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -fPIC
endif
### The directory environment: ### The directory environment:
@ -80,6 +84,9 @@ all: libvdr-$(PLUGIN).so
libvdr-$(PLUGIN).so: $(OBJS) libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
@cp $@ $(LIBDIR)/$@.$(VDRVERSION) @cp $@ $(LIBDIR)/$@.$(VDRVERSION)
ifndef FEMON_DEBUG
strip $(LIBDIR)/$@.$(VDRVERSION)
endif
dist: clean dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE) @-rm -rf $(TMPDIR)/$(ARCHIVE)

10
README
View File

@ -63,7 +63,7 @@ Ok - Switch between display modes: basic, transponder, stream, AC-3
Green - Select next audio track Green - Select next audio track
Yellow - Select audio channel: stereo, mono left, mono right Yellow - Select audio channel: stereo, mono left, mono right
Back - Exit plugin Back - Exit plugin
Left/Right - Switch to next/previous device that provides the current channel Left/Right - Switch to next/previous device that provides the current channel
Installation: Installation:
@ -80,14 +80,16 @@ Notes:
- The plugin supports only those DVB cards with _one_ frontend (do any cards - The plugin supports only those DVB cards with _one_ frontend (do any cards
with multiple frontends even exist?), because I haven't yet figured howto do with multiple frontends even exist?), because I haven't yet figured howto do
it without patching the VDR core. it without patching the VDR core.
- Disable the stream analyze to speed up heavy zapping sessions. - Disable the stream analyze to speed up heavy zapping sessions.
- The signal strength and signal-to-noise ratio values are comparable only - The signal strength and signal-to-noise ratio values are comparable only
between the same brand/model frontends. Due to the lack of proper frontend between the same brand/model frontends. Due to the lack of proper frontend
specifications those values cannot be calculated into any real units. specifications those values cannot be calculated into any real units.
- If the OSD isn't visible, you've configured the OSD height too big or too - If the OSD isn't visible, you've configured the OSD height too big or too
small. Please, try to adjust the variable on the setup page before writing small. Please, try to adjust the variable on the setup page before writing
any bug reports. any bug reports. NTSC users should use a shrinked default OSD height by
- There's a shrinked default OSD height for NTSC users: make FEMON_NTSC=1 compiling the plugin with: make FEMON_NTSC=1
- The device switching feature is still non-functional.
"Femon - A real womon who lives according to her natural feminine inclinations." "Femon - A real womon who lives according to her natural feminine inclinations."

View File

@ -11,7 +11,7 @@
#include <vdr/plugin.h> #include <vdr/plugin.h>
static const char *VERSION = "0.9.0"; static const char *VERSION = "0.9.1";
static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)"; static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)";
static const char *MAINMENUENTRY = "Signal Information"; static const char *MAINMENUENTRY = "Signal Information";

View File

@ -1836,6 +1836,27 @@ const tI18nPhrase Phrases[] = {
"Fikseeritud", // Eesti "Fikseeritud", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Analog", // English
"", // Deutsch
"", // Slovenski
"", // Italiano
"", // Nederlands
"", // Português
"", // Français
"", // Norsk
"analoginen", // suomi
"", // Polski
"", // Español
"", // ÅëëçíéêÜ (Greek)
"", // Svenska
"", // Romaneste
"", // Magyar
"", // Català
"", // ÀãááÚØÙ (Russian)
"", // Hrvatski (Croatian)
"", // Eesti
"", // Dansk
},
{ "Free to Air", // English { "Free to Air", // English
"Free to Air", // Deutsch "Free to Air", // Deutsch
"", // Slovenski "", // Slovenski

View File

@ -405,7 +405,10 @@ void cFemonOsd::DrawInfoWindow(void)
break; break;
case 0x0001 ... 0x00FF: case 0x0001 ... 0x00FF:
/* Standardized systems */ /* Standardized systems */
snprintf(buf, sizeof(buf), "%s", tr("Fixed")); if ((value == 0x00A0) || (value == 0x00A1))
snprintf(buf, sizeof(buf), "%s", tr("Analog"));
else
snprintf(buf, sizeof(buf), "%s", tr("Fixed"));
break; break;
case 0x0100 ... 0x01FF: case 0x0100 ... 0x01FF:
/* Canal Plus */ /* Canal Plus */
@ -1057,9 +1060,11 @@ eOSState cFemonOsd::ProcessKey(eKeys Key)
} }
if (cDevice::GetDevice(device)->ProvidesChannel(channel)) { if (cDevice::GetDevice(device)->ProvidesChannel(channel)) {
Dprintf("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, Key, device); Dprintf("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, Key, device);
// here should be added some checks, if the device is really available (i.e. not recording)
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0); cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0);
cControl::Shutdown(); cControl::Shutdown();
cDevice::GetDevice(device)->SwitchChannel(channel, true); cDevice::GetDevice(device)->SwitchChannel(channel, true);
// does this work with primary devices ?
cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel->Vpid(), channel->Apids(), channel->Dpids(), channel->Spids())); cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel->Vpid(), channel->Apids(), channel->Dpids(), channel->Spids()));
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number()); cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number());
break; break;

View File

@ -72,7 +72,7 @@ void cFemonReceiver::GetVideoInfo(uint8_t *mbuf, int count)
uint8_t *headr; uint8_t *headr;
int found = 0; int found = 0;
int c = 0; int c = 0;
m_VideoValid = false; //m_VideoValid = false;
while ((found < 4) && ((c + 4) < count)) { while ((found < 4) && ((c + 4) < count)) {
uint8_t *b; uint8_t *b;
b = mbuf + c; b = mbuf + c;
@ -165,7 +165,7 @@ void cFemonReceiver::GetAudioInfo(uint8_t *mbuf, int count)
int found = 0; int found = 0;
int c = 0; int c = 0;
int tmp = 0; int tmp = 0;
m_AudioValid = false; //m_AudioValid = false;
while (!found && (c < count)) { while (!found && (c < count)) {
uint8_t *b = mbuf + c; uint8_t *b = mbuf + c;
if ((b[0] == 0xff) && ((b[1] & 0xf8) == 0xf8)) if ((b[0] == 0xff) && ((b[1] & 0xf8) == 0xf8))
@ -214,7 +214,7 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count)
int found = 0; int found = 0;
int c = 0; int c = 0;
uint8_t frame; uint8_t frame;
m_AC3Valid = false; //m_AC3Valid = false;
while (!found && (c < count)) { while (!found && (c < count)) {
uint8_t *b = mbuf + c; uint8_t *b = mbuf + c;
if ((b[0] == 0x0b) && (b[1] == 0x77)) if ((b[0] == 0x0b) && (b[1] == 0x77))