git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add ability to filter by tag. they must be created by hand right now.
[enigma2.git]
/
lib
/
service
/
servicedvb.cpp
diff --git
a/lib/service/servicedvb.cpp
b/lib/service/servicedvb.cpp
index 89301de471f25fbaddbdeadc1ecc5d7536f4e9a2..6c980c76f6b4ceba675265cd40c238903ac68be8 100644
(file)
--- a/
lib/service/servicedvb.cpp
+++ b/
lib/service/servicedvb.cpp
@@
-3,6
+3,7
@@
#include <string>
#include <lib/service/servicedvb.h>
#include <lib/service/service.h>
#include <string>
#include <lib/service/servicedvb.h>
#include <lib/service/service.h>
+#include <lib/base/estring.h>
#include <lib/base/init_num.h>
#include <lib/base/init.h>
#include <lib/base/nconfig.h> // access to python config
#include <lib/base/init_num.h>
#include <lib/base/init.h>
#include <lib/base/nconfig.h> // access to python config
@@
-211,6
+212,8
@@
std::string eStaticServiceDVBPVRInformation::getInfoString(const eServiceReferen
return m_parser.m_description;
case iServiceInformation::sServiceref:
return m_parser.m_ref.toString();
return m_parser.m_description;
case iServiceInformation::sServiceref:
return m_parser.m_ref.toString();
+ case iServiceInformation::sTags:
+ return m_parser.m_tags;
default:
return "";
}
default:
return "";
}
@@
-1337,6
+1340,8
@@
int eDVBServicePlay::selectAudioStream(int i)
}
}
}
}
+ h.resetCachedProgram();
+
return 0;
}
return 0;
}
@@
-1362,7
+1367,7
@@
std::string eDVBServicePlay::getRadioText(int x)
switch(x)
{
case 0:
switch(x)
{
case 0:
- return
m_radiotext_parser->getCurrentText(
);
+ return
convertLatin1UTF8(m_radiotext_parser->getCurrentText()
);
}
return "";
}
}
return "";
}
@@
-2022,7
+2027,6
@@
RESULT eDVBServicePlay::enableSubtitles(eWidget *parent, PyObject *entry)
else
{
int pid = -page;
else
{
int pid = -page;
- eDebug("start dvb subtitles on pid %04x", pid);
m_subtitle_parser->start(pid);
}
m_subtitle_parser->start(pid);
}
@@
-2033,6
+2037,16
@@
RESULT eDVBServicePlay::disableSubtitles(eWidget *parent)
{
delete m_subtitle_widget;
m_subtitle_widget = 0;
{
delete m_subtitle_widget;
m_subtitle_widget = 0;
+ if (m_subtitle_parser)
+ {
+ m_subtitle_parser->stop();
+ m_dvb_subtitle_pages.clear();
+ }
+ if (m_teletext_parser)
+ {
+ m_teletext_parser->setPage(-1);
+ m_subtitle_pages.clear();
+ }
return 0;
}
return 0;
}
@@
-2050,7
+2064,7
@@
PyObject *eDVBServicePlay::getSubtitleList()
{
PyObject *tuple = PyTuple_New(2);
char desc[20];
{
PyObject *tuple = PyTuple_New(2);
char desc[20];
- sprintf(desc, "Page %
x
", *i);
+ sprintf(desc, "Page %
d
", *i);
PyTuple_SetItem(tuple, 0, PyString_FromString(desc));
PyTuple_SetItem(tuple, 1, PyInt_FromLong(*i));
PyList_Append(l, tuple);
PyTuple_SetItem(tuple, 0, PyString_FromString(desc));
PyTuple_SetItem(tuple, 1, PyInt_FromLong(*i));
PyList_Append(l, tuple);
@@
-2091,6
+2105,8
@@
void eDVBServicePlay::newSubtitlePage(const eDVBTeletextSubtitlePage &page)
void eDVBServicePlay::checkSubtitleTiming()
{
// eDebug("checkSubtitleTiming");
void eDVBServicePlay::checkSubtitleTiming()
{
// eDebug("checkSubtitleTiming");
+ if (!m_subtitle_widget)
+ return;
while (1)
{
enum { TELETEXT, DVB } type;
while (1)
{
enum { TELETEXT, DVB } type;