diff options
| author | Johns <johns98@gmx.net> | 2012-02-01 16:50:48 +0100 |
|---|---|---|
| committer | Johns <johns98@gmx.net> | 2012-02-01 16:50:48 +0100 |
| commit | 27e9a88e2ff02c9a84ca009c52d091062dbe5530 (patch) | |
| tree | caf09e2a16ffa87d049fb88e861a12e90c0f25ba /softhddevice.cpp | |
| parent | 33e9c71aea853f1f5bb1ccc55394ecbaa4a01b18 (diff) | |
| download | vdr-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.cpp | 21 |
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. ** |
