From 645f62fee44496cf4a982c8b7ef24c7a6a4ccc2e Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 23 Feb 2002 10:43:42 +0100 Subject: [PATCH] Fixed the SVDRP GRAB command in case the video device can't be opened --- CONTRIBUTORS | 3 +++ HISTORY | 2 ++ dvbapi.c | 9 +++++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 038dc88d..bbceff25 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -212,3 +212,6 @@ Rainer Zocholl Oleg Assovski for adding EPG scanning for another 4 days + +Adrian Stabiszewski + for fixing the SVDRP GRAB command in case the video device can't be opened diff --git a/HISTORY b/HISTORY index 9c4ef52d..1e133b2a 100644 --- a/HISTORY +++ b/HISTORY @@ -1018,3 +1018,5 @@ Video Disk Recorder Revision History from the start time of the recording. In order for this to work the 'active' parameter of a timer now uses the second bit to indicate that this is an "instant" recording (see FORMATS for details). +- Fixed the SVDRP GRAB command in case the video device can't be opened (thanks + to Adrian Stabiszewski). diff --git a/dvbapi.c b/dvbapi.c index f59b7d74..876fe825 100644 --- a/dvbapi.c +++ b/dvbapi.c @@ -7,7 +7,7 @@ * DVD support initially written by Andreas Schultz * based on dvdplayer-0.5 by Matjaz Thaler * - * $Id: dvbapi.c 1.148 2002/02/16 12:55:33 kls Exp $ + * $Id: dvbapi.c 1.149 2002/02/23 10:40:55 kls Exp $ */ //#define DVDDEBUG 1 @@ -2741,9 +2741,9 @@ const cSchedules *cDvbApi::Schedules(cThreadLock *ThreadLock) const bool cDvbApi::GrabImage(const char *FileName, bool Jpeg, int Quality, int SizeX, int SizeY) { - int result = 0; - int videoDev = OstOpen(DEV_VIDEO, CardIndex(), O_RDWR); + int videoDev = OstOpen(DEV_VIDEO, CardIndex(), O_RDWR, true); if (videoDev >= 0) { + int result = 0; struct video_mbuf mbuf; result |= ioctl(videoDev, VIDIOCGMBUF, &mbuf); if (result == 0) { @@ -2827,8 +2827,9 @@ bool cDvbApi::GrabImage(const char *FileName, bool Jpeg, int Quality, int SizeX, result |= 1; } close(videoDev); + return result == 0; } - return result == 0; + return false; } #ifdef DEBUG_OSD