git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
also use refcounting for eTimers
[enigma2.git]
/
lib
/
service
/
servicedvb.cpp
diff --git
a/lib/service/servicedvb.cpp
b/lib/service/servicedvb.cpp
index e7d15ba7545a7aa73dcd91aeb683d2f9522f2655..954a3964dff1390176e31427fcdd575d7e155529 100644
(file)
--- a/
lib/service/servicedvb.cpp
+++ b/
lib/service/servicedvb.cpp
@@
-1065,7
+1065,9
@@
eDVBServicePlay::eDVBServicePlay(const eServiceReference &ref, eDVBService *serv
m_tune_state = -1;
m_tune_state = -1;
- CONNECT(m_subtitle_sync_timer.timeout, eDVBServicePlay::checkSubtitleTiming);
+ m_subtitle_sync_timer = eTimer::create(eApp);
+
+ CONNECT(m_subtitle_sync_timer->timeout, eDVBServicePlay::checkSubtitleTiming);
}
eDVBServicePlay::~eDVBServicePlay()
}
eDVBServicePlay::~eDVBServicePlay()
@@
-1601,22
+1603,22
@@
int eDVBServicePlay::getInfo(int w)
{
#if HAVE_DVB_API_VERSION >= 3
case sVideoHeight:
{
#if HAVE_DVB_API_VERSION >= 3
case sVideoHeight:
- if (m_videoEventData.type
!= iTSMPEGDecoder::videoEvent::eventUnknown
)
+ if (m_videoEventData.type
== iTSMPEGDecoder::videoEvent::eventSizeChanged
)
return m_videoEventData.height;
else
return readMpegProc("yres", !m_is_primary);
case sVideoWidth:
return m_videoEventData.height;
else
return readMpegProc("yres", !m_is_primary);
case sVideoWidth:
- if (m_videoEventData.type
!= iTSMPEGDecoder::videoEvent::eventUnknown
)
+ if (m_videoEventData.type
== iTSMPEGDecoder::videoEvent::eventSizeChanged
)
return m_videoEventData.width;
else
return readMpegProc("xres", !m_is_primary);
case sFrameRate:
return m_videoEventData.width;
else
return readMpegProc("xres", !m_is_primary);
case sFrameRate:
- if (m_videoEventData.type
!= iTSMPEGDecoder::videoEvent::eventUnknown
)
+ if (m_videoEventData.type
== iTSMPEGDecoder::videoEvent::eventFrameRateChanged
)
return m_videoEventData.framerate;
else
return readMpegProc("framerate", !m_is_primary);
case sProgressive:
return m_videoEventData.framerate;
else
return readMpegProc("framerate", !m_is_primary);
case sProgressive:
- if (m_videoEventData.type
!= iTSMPEGDecoder::videoEvent::eventUnknown
)
+ if (m_videoEventData.type
== iTSMPEGDecoder::videoEvent::eventProgressiveChanged
)
return m_videoEventData.progressive;
return readMpegProc("progressive", !m_is_primary);
#else
return m_videoEventData.progressive;
return readMpegProc("progressive", !m_is_primary);
#else
@@
-1626,7
+1628,7
@@
int eDVBServicePlay::getInfo(int w)
{
int val;
#if HAVE_DVB_API_VERSION >= 3
{
int val;
#if HAVE_DVB_API_VERSION >= 3
- if (m_videoEventData.type
!= iTSMPEGDecoder::videoEvent::eventUnknown
)
+ if (m_videoEventData.type
== iTSMPEGDecoder::videoEvent::eventSizeChanged
)
return m_videoEventData.aspect == VIDEO_FORMAT_4_3 ? 1 : 3;
else if ((val=readMpegProc("aspect", !m_is_primary)) != -1)
return val;
return m_videoEventData.aspect == VIDEO_FORMAT_4_3 ? 1 : 3;
else if ((val=readMpegProc("aspect", !m_is_primary)) != -1)
return val;
@@
-2926,7
+2928,7
@@
void eDVBServicePlay::checkSubtitleTiming()
} else
{
eDebug("start subtitle delay %d", diff / 90);
} else
{
eDebug("start subtitle delay %d", diff / 90);
- m_subtitle_sync_timer
.
start(diff / 90, 1);
+ m_subtitle_sync_timer
->
start(diff / 90, 1);
break;
}
}
break;
}
}
@@
-2994,6
+2996,8
@@
void eDVBServicePlay::video_event(struct iTSMPEGDecoder::videoEvent event)
case iTSMPEGDecoder::videoEvent::eventProgressiveChanged:
m_event((iPlayableService*)this, evVideoProgressiveChanged);
break;
case iTSMPEGDecoder::videoEvent::eventProgressiveChanged:
m_event((iPlayableService*)this, evVideoProgressiveChanged);
break;
+ default:
+ break;
}
}
}
}