#include <lib/base/eerror.h>
#include <lib/base/object.h>
#include <lib/base/ebase.h>
+#include <lib/base/nconfig.h>
#include <string>
#include <lib/service/service.h>
#include <lib/base/init_num.h>
return 0;
}
-RESULT eServiceFactoryDVD::record(const eServiceReference &ref, ePtr<iRecordableService> &ptr)
+RESULT eServiceFactoryDVD::record(const eServiceReference &/*ref*/, ePtr<iRecordableService> &ptr)
{
ptr=0;
return -1;
}
-RESULT eServiceFactoryDVD::info(const eServiceReference &ref, ePtr<iStaticServiceInformation> &ptr)
+RESULT eServiceFactoryDVD::info(const eServiceReference &/*ref*/, ePtr<iStaticServiceInformation> &ptr)
{
ptr=0;
return -1;
m_sn(eApp, ddvd_get_messagepipe_fd(m_ddvdconfig), eSocketNotifier::Read|eSocketNotifier::Priority|eSocketNotifier::Error|eSocketNotifier::Hungup),
m_pump(eApp, 1)
{
+ std::string aspect;
eDebug("SERVICEDVD construct!");
// create handle
ddvd_set_dvd_path(m_ddvdconfig, filename);
ddvd_set_ac3thru(m_ddvdconfig, 0);
ddvd_set_language(m_ddvdconfig, "de");
- ddvd_set_video(m_ddvdconfig, DDVD_16_9, DDVD_PAL);
+
+ if (ePythonConfigQuery::getConfigValue("config.av.aspect", aspect) != 0)
+ aspect = "16_9";
+ if (aspect == "4_3_letterbox")
+ ddvd_set_video(m_ddvdconfig, DDVD_4_3_LETTERBOX, DDVD_PAL);
+ else if (aspect == "4_3_panscan")
+ ddvd_set_video(m_ddvdconfig, DDVD_4_3_PAN_SCAN, DDVD_PAL);
+ else
+ ddvd_set_video(m_ddvdconfig, DDVD_16_9, DDVD_PAL);
+
ddvd_set_lfb(m_ddvdconfig, (unsigned char *)m_pixmap->surface->data, 720, 576, 4, 720*4);
CONNECT(m_sn.activated, eServiceDVD::gotMessage);
CONNECT(m_pump.recv_msg, eServiceDVD::gotThreadMessage);
}
}
-void eServiceDVD::gotMessage(int what)
+void eServiceDVD::gotMessage(int /*what*/)
{
switch(ddvd_get_next_message(m_ddvdconfig,1))
{
return 0;
}
-RESULT eServiceDVD::setTarget(int target)
+RESULT eServiceDVD::setTarget(int /*target*/)
{
return -1;
}
}
// iPausableService
-RESULT eServiceDVD::setSlowMotion(int ratio)
+RESULT eServiceDVD::setSlowMotion(int /*ratio*/)
{
return -1;
}
case sAlbum:
return resIsPyObject; // then getInfoObject should be called
case sComment:
- case sTracknumber:
case sGenre:
return resIsString; // then getInfoString should be called
- case evUser+8:
+ case sCurrentChapter:
{
struct ddvd_time info;
ddvd_get_last_time(m_ddvdconfig, &info);
return info.pos_chapter;
}
- case evUser+80:
+ case sTotalChapters:
{
struct ddvd_time info;
ddvd_get_last_time(m_ddvdconfig, &info);
return info.end_chapter;
}
-
- case evUser+9:
+ case sCurrentTitle:
{
struct ddvd_time info;
ddvd_get_last_time(m_ddvdconfig, &info);
return info.pos_title;
}
- case evUser+90:
+ case sTotalTitles:
{
struct ddvd_time info;
ddvd_get_last_time(m_ddvdconfig, &info);
return info.end_title;
}
-
case sTXTPID: // we abuse HAS_TELEXT icon in InfoBar to signalize subtitles status
{
int spu_id;
{
switch(w)
{
- case evUser+7: {
+ case sUser+7: {
int spu_id;
uint16_t spu_lang;
ddvd_get_last_spu(m_ddvdconfig, &spu_id, &spu_lang);
// lbo_changed=1;
return osd;
}
- case evUser+6:
+ case sUser+6:
{
int audio_id,audio_type;
uint16_t audio_lang;
Py_RETURN_NONE;
}
-RESULT eServiceDVD::enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) entry)
+RESULT eServiceDVD::enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) /*entry*/)
{
if (m_subtitle_widget)
delete m_subtitle_widget;
return 0;
}
-RESULT eServiceDVD::disableSubtitles(eWidget *parent)
+RESULT eServiceDVD::disableSubtitles(eWidget */*parent*/)
{
delete m_subtitle_widget;
m_subtitle_widget = 0;
return 0;
}
-RESULT eServiceDVD::setTrickmode(int trick)
+RESULT eServiceDVD::setTrickmode(int /*trick*/)
{
return -1;
}
return list;
}
-void eServiceDVD::setCutList(ePyObject list)
+void eServiceDVD::setCutList(ePyObject /*list*/)
{
}
-void eServiceDVD::setCutListEnable(int enable)
+void eServiceDVD::setCutListEnable(int /*enable*/)
{
}