summaryrefslogtreecommitdiff
path: root/softhddevice.cpp
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2012-02-01 16:50:48 +0100
committerJohns <johns98@gmx.net>2012-02-01 16:50:48 +0100
commit27e9a88e2ff02c9a84ca009c52d091062dbe5530 (patch)
treecaf09e2a16ffa87d049fb88e861a12e90c0f25ba /softhddevice.cpp
parent33e9c71aea853f1f5bb1ccc55394ecbaa4a01b18 (diff)
downloadvdr-plugin-softhddevice-27e9a88e2ff02c9a84ca009c52d091062dbe5530.tar.gz
vdr-plugin-softhddevice-27e9a88e2ff02c9a84ca009c52d091062dbe5530.tar.bz2
Video updates and bug fix.
Check if surface is ready in VaapiGetSurface. Set PTS/DTS only in the first split video packet. Add support for 4:3 output modes. Quicker auto-crop after channel switch. Add auto-crop support for Intel VA-API backend. Fix bug: Auto-Crop logo skip didn't use displayed width.
Diffstat (limited to 'softhddevice.cpp')
-rw-r--r--softhddevice.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/softhddevice.cpp b/softhddevice.cpp
index b77543c..cae7402 100644
--- a/softhddevice.cpp
+++ b/softhddevice.cpp
@@ -625,6 +625,7 @@ class cSoftHdDevice:public cDevice
virtual bool Poll(cPoller &, int = 0);
virtual bool Flush(int = 0);
virtual int64_t GetSTC(void);
+ virtual void SetVideoDisplayFormat(eVideoDisplayFormat);
virtual void GetVideoSize(int &, int &, double &);
virtual void GetOsdSize(int &, int &, double &);
virtual int PlayVideo(const uchar *, int);
@@ -848,6 +849,26 @@ bool cSoftHdDevice::Flush(int timeout_ms)
// ----------------------------------------------------------------------------
/**
+** Sets the video display format to the given one (only useful if this
+** device has an MPEG decoder).
+*/
+void cSoftHdDevice::SetVideoDisplayFormat(
+ eVideoDisplayFormat video_display_format)
+{
+ static int last = -1;
+
+ cDevice::SetVideoDisplayFormat(video_display_format);
+
+ dsyslog("[softhddev]%s: %d\n", __FUNCTION__, video_display_format);
+
+ // called on every channel switch, no need to kill osd...
+ if (last != video_display_format) {
+ last = video_display_format;
+ ::VideoSetDisplayFormat(video_display_format);
+ }
+}
+
+/**
** Returns the width, height and video_aspect ratio of the currently
** displayed video material.
**