diff --git a/src/qteletextdecoder/pagebase.cpp b/src/qteletextdecoder/pagebase.cpp index a6a4738..24bc6a3 100644 --- a/src/qteletextdecoder/pagebase.cpp +++ b/src/qteletextdecoder/pagebase.cpp @@ -37,6 +37,14 @@ PageBase::PacketCodingEnum PageBase::packetCoding() const return Coding7bit; } +PageBase::PacketCodingEnum PageBase::packetCoding(int y, int d) const +{ + if (y == 27 && d < 4) + return Coding4bit; + else + return Coding18bit; +} + bool PageBase::isEmpty() const { for (int y=0; y<26; y++) diff --git a/src/qteletextdecoder/pagebase.h b/src/qteletextdecoder/pagebase.h index 17366e3..e6c50a9 100644 --- a/src/qteletextdecoder/pagebase.h +++ b/src/qteletextdecoder/pagebase.h @@ -35,6 +35,7 @@ public: virtual PageFunctionEnum pageFunction() const; virtual PacketCodingEnum packetCoding() const; + virtual PacketCodingEnum packetCoding(int y, int d) const; virtual bool isEmpty() const; @@ -43,7 +44,7 @@ public: virtual bool setPacket(int y, QByteArray pkt); virtual bool setPacket(int y, int d, QByteArray pkt); virtual bool packetExists(int y) const; - virtual bool packetExists(int y, int d) const ; + virtual bool packetExists(int y, int d) const; virtual bool clearPacket(int y); virtual bool clearPacket(int y, int d); virtual void clearAllPackets();