diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-09-25 12:45:39 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-09-25 12:45:39 +0000 |
| commit | be40133df4db68185931042f43995cf27da480be (patch) | |
| tree | 96626ab25c4872f7a154200e82b5da23b2c3542e /lib/service/servicedvb.cpp | |
| parent | 2f21e0048543192bc1a145f5ac3bd62da7822adf (diff) | |
| download | enigma2-be40133df4db68185931042f43995cf27da480be.tar.gz enigma2-be40133df4db68185931042f43995cf27da480be.zip | |
add possibility to query current progressive / framerate state
Diffstat (limited to 'lib/service/servicedvb.cpp')
| -rw-r--r-- | lib/service/servicedvb.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index e036307b..17f841b5 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -1594,8 +1594,16 @@ int eDVBServicePlay::getInfo(int w) if (m_videoEventData.type != iTSMPEGDecoder::videoEvent::eventUnknown) return m_videoEventData.width; return -1; + case sFrameRate: + if (m_videoEventData.type != iTSMPEGDecoder::videoEvent::eventUnknown) + return m_videoEventData.framerate; + return -1; + case sProgressive: + if (m_videoEventData.type != iTSMPEGDecoder::videoEvent::eventUnknown) + return m_videoEventData.progressive; + return -1; #else -#warning "FIXMEE implement sVideoHeight, sVideoWidth for old DVB API" +#warning "FIXMEE implement sFrameRate, sProgressive, sVideoHeight, sVideoWidth for old DVB API" #endif case sAspect: #if HAVE_DVB_API_VERSION >= 3 @@ -2953,15 +2961,19 @@ void eDVBServicePlay::setPCMDelay(int delay) void eDVBServicePlay::video_event(struct iTSMPEGDecoder::videoEvent event) { - memcpy(&m_videoEventData, &event, sizeof(iTSMPEGDecoder::videoEvent)); switch(event.type) { case iTSMPEGDecoder::videoEvent::eventSizeChanged: + m_videoEventData.aspect = event.aspect; + m_videoEventData.height = event.height; + m_videoEventData.width = event.width; m_event((iPlayableService*)this, evVideoSizeChanged); break; case iTSMPEGDecoder::videoEvent::eventFrameRateChanged: + m_videoEventData.framerate = event.framerate; m_event((iPlayableService*)this, evVideoFramerateChanged); break; case iTSMPEGDecoder::videoEvent::eventProgressiveChanged: + m_videoEventData.progressive = event.progressive; m_event((iPlayableService*)this, evVideoProgressiveChanged); break; } |
