real mute volume on lowest volume level .. but not show the mute symbol
[enigma2.git] / lib / dvb / teletext.cpp
index 54b514e676275a4cc2c6913092339ea7bfdc647d..c96fbed9f4015aa03e59f2f2f5531befb9e43edc 100644 (file)
@@ -73,7 +73,7 @@ eDVBTeletextParser::eDVBTeletextParser(iDVBDemux *demux)
        setPage(-1);
        
        if (demux->createPESReader(eApp, m_pes_reader))
-               eDebug("failed to create PES reader!");
+               eDebug("failed to create teletext subtitle PES reader!");
        else
                m_pes_reader->connectRead(slot(*this, &eDVBTeletextParser::processData), m_read_connection);
 }
@@ -114,7 +114,7 @@ void eDVBTeletextParser::processPESPacket(__u8 *pkt, int len)
                
                if (data_unit_length != 44)
                {
-                       eDebug("illegal data unit length %d", data_unit_length);
+                       /* eDebug("illegal data unit length %d", data_unit_length); */
                        break;
                }
                
@@ -248,7 +248,7 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len)
                                /* ignore other attributes */
                } else
                {
-                       eDebugNoNewLine("%c", b);
+                       //eDebugNoNewLine("%c", b);
                                /* no more than one whitespace, only printable chars */
                        if (((!last_was_white) || (b != ' ')) && (b >= 0x20))
                        {
@@ -257,23 +257,29 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len)
                        }
                }
        }
-       eDebug("");
+       //eDebug("");
        addSubtitleString(color, text);
 }
 
 void eDVBTeletextParser::handlePageEnd(int have_pts, const pts_t &pts)
 {
-       eDebug("handle page end");
+//     eDebug("handle page end");
        addSubtitleString(-2, ""); /* end last line */ 
        
        m_subtitle_page.m_have_pts = have_pts;
        m_subtitle_page.m_pts = pts;
        m_subtitle_page.m_timeout = 90000 * 20; /* 20s */
-       sendSubtitlePage();  /* send assembled subtitle page to display */
+       if (m_page_number != -1)
+               sendSubtitlePage();  /* send assembled subtitle page to display */
 }
 
 void eDVBTeletextParser::setPage(int page)
 {
+       if (page > 0)
+               eDebug("enable teletext subtitle page %d", page);
+       else
+               eDebug("disable teletext subtitles");
+       m_page_number = page;
        m_page_M = (page >> 8) & 7; /* magazine to look for */
        m_page_X = page & 0xFF;     /* page number */
 }
@@ -315,8 +321,8 @@ void eDVBTeletextParser::addSubtitleString(int color, std::string string)
 
 void eDVBTeletextParser::sendSubtitlePage()
 {
-       eDebug("subtitle page:");
-       for (unsigned int i = 0; i < m_subtitle_page.m_elements.size(); ++i)
-               eDebug("%s", m_subtitle_page.m_elements[i].m_text.c_str());
+//     eDebug("subtitle page:");
+       //for (unsigned int i = 0; i < m_subtitle_page.m_elements.size(); ++i)
+       //      eDebug("%s", m_subtitle_page.m_elements[i].m_text.c_str());
        m_new_subtitle_page(m_subtitle_page);
 }