diff options
author | Andreas Regel <andreas.regel@powarman.de> | 2004-07-31 23:55:00 +0200 |
---|---|---|
committer | Andreas Regel <andreas.regel@powarman.de> | 2004-07-31 23:55:00 +0200 |
commit | c024446839241af2fa7d618ce49cc8c1e5693f7f (patch) | |
tree | 6fe9beb2336294e030a739c4039911fb3e51d477 /receiver.c | |
parent | 1df133b2a0565a35c3b07e043bd04b449869a0cb (diff) | |
download | vdr-plugin-osdpip-0.0.6.tar.gz vdr-plugin-osdpip-0.0.6.tar.bz2 |
Release version 0.0.6v0.0.6
- added channel swapping. It is now possible to swap the currently viewed
channel with the pip channel by pressing the red key. (thanks to Sascha
Volkenandt)
- added support for other aspect ratios than 4:3. Image is now correctly
scaled and black border is added when necessary.
- added automatic frame dropping that always takes the last frame from
the ringbuffer.
- added -D_GNU_SOURCE to DEFINES in Makefile
- fixed a memory leak: missing deletion of frame ringbuffer
- fixed a memory leak: missing frame deletion in case of a full ringbuffer
- small speedup through just putting relevant frames to ringbuffer
- updated finnish translations (thanks to Rolf Ahrenberg)
Diffstat (limited to 'receiver.c')
-rw-r--r-- | receiver.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -6,6 +6,7 @@ #include "receiver.h" #include "pes.h" +#include "setup.h" #include <vdr/channels.h> #include <vdr/remux.h> @@ -66,7 +67,16 @@ void cOsdPipReceiver::Action(void) if (p) { if (NewPictureType != NO_PICTURE) { - m_ESBuffer->Put(new cFrame(VideoBuffer, VideoBufferPos, ftVideo, CurPictureType)); + if ((OsdPipSetup.FrameMode == kFrameModeI && CurPictureType == I_FRAME) || + (OsdPipSetup.FrameMode == kFrameModeIP && (CurPictureType == I_FRAME || CurPictureType == P_FRAME)) || + (OsdPipSetup.FrameMode == kFrameModeIPB)) + { + cFrame * frame = new cFrame(VideoBuffer, VideoBufferPos, ftVideo, CurPictureType); + if (!m_ESBuffer->Put(frame)) + { + delete frame; + } + } CurPictureType = NewPictureType; VideoBufferPos = 0; } |