summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2004-05-23 10:12:44 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2004-05-23 10:12:44 +0200
commite912e48282b5937f88c4a51cc89aa4247d849084 (patch)
tree5855b7ffed6b532441fbca858e03b89e9f41d8a4
parent4c5aedbd797ea4308974a3db4107cc8e32f50d17 (diff)
downloadvdr-e912e48282b5937f88c4a51cc89aa4247d849084.tar.gz
vdr-e912e48282b5937f88c4a51cc89aa4247d849084.tar.bz2
Added play mode pmVideoOnly
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY1
-rw-r--r--device.h3
-rw-r--r--dvbdevice.c12
4 files changed, 15 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index e0b92d02..2fb3a29d 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -675,6 +675,7 @@ Marcel Wiesweg <marcel.wiesweg@gmx.de>
for his help in fixing some issues with gcc 3.4
for fixing a memory leak in NIT processing
for adding a few missing initializations
+ for adding play mode pmVideoOnly
Torsten Herz <torsten.herz@web.de>
for fixing a possible deadlock when using the "Blue" button in the "Schedules" menu
diff --git a/HISTORY b/HISTORY
index f8da9863..da39e8e0 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2830,3 +2830,4 @@ Video Disk Recorder Revision History
- Moved the declaration of cMenuText to VDR/menu.h to make it available to plugins.
It now also has a SetText() function that can be used to dynamically set the text
in an already existing cMenuText (both suggested by Stefan Huelswitt).
+- Added play mode pmVideoOnly (thanks to Marcel Wiesweg).
diff --git a/device.h b/device.h
index a725e4d4..6f0f70a7 100644
--- a/device.h
+++ b/device.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.h 1.42 2004/04/17 10:15:25 kls Exp $
+ * $Id: device.h 1.43 2004/05/23 10:10:08 kls Exp $
*/
#ifndef __DEVICE_H
@@ -36,6 +36,7 @@ enum ePlayMode { pmNone, // audio/video from decoder
pmAudioVideo, // audio/video from player
pmAudioOnly, // audio only from player, video from decoder
pmAudioOnlyBlack, // audio only from player, no video (black screen)
+ pmVideoOnly, // video only from player, audio from decoder
pmExtern_THIS_SHOULD_BE_AVOIDED
// external player (e.g. MPlayer), release the device
// WARNING: USE THIS MODE ONLY AS A LAST RESORT, IF YOU
diff --git a/dvbdevice.c b/dvbdevice.c
index 9d659e6b..cb143a6d 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 1.85 2004/05/22 15:11:48 kls Exp $
+ * $Id: dvbdevice.c 1.86 2004/05/23 10:11:42 kls Exp $
*/
#include "dvbdevice.h"
@@ -873,6 +873,16 @@ bool cDvbDevice::SetPlayMode(ePlayMode PlayMode)
CHECK(ioctl(fd_audio, AUDIO_PLAY));
CHECK(ioctl(fd_video, VIDEO_SET_BLANK, false));
break;
+ case pmVideoOnly:
+ CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
+ CHECK(ioctl(fd_video, VIDEO_STOP, true));
+ CHECK(ioctl(fd_audio, AUDIO_SELECT_SOURCE, AUDIO_SOURCE_DEMUX));
+ CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, false));
+ CHECK(ioctl(fd_audio, AUDIO_PLAY));
+ CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
+ CHECK(ioctl(fd_video, VIDEO_SELECT_SOURCE, VIDEO_SOURCE_MEMORY));
+ CHECK(ioctl(fd_video, VIDEO_PLAY));
+ break;
case pmExtern_THIS_SHOULD_BE_AVOIDED:
close(fd_video);
close(fd_audio);