--- ../vdr-plugin-softhddevice-0.5.2.git.20121115.2130.plain//softhddevice.cpp 2012-11-15 22:28:40.000000000 +0100 +++ softhddevice.cpp 2012-11-19 11:47:16.519507231 +0100 @@ -2354,6 +2354,27 @@ r->height = height; return true; } + + if (strcmp(id, ATMO1_GRAB_SERVICE) == 0) + { + SoftHDDevice_AtmoGrabService_v1_1_t* r; + + if (!data) + return true; + + if (SuspendMode != NOT_SUSPENDED) + return false; + + r = (SoftHDDevice_AtmoGrabService_v1_1_t*)data; + + r->img = VideoGrabService(&r->size, &r->width, &r->height); + + if (!r->img) + return false; + + return true; + } + return false; } --- ../vdr-plugin-softhddevice-0.5.2.git.20121115.2130.plain//softhddevice_service.h 2012-11-05 11:59:01.000000000 +0100 +++ softhddevice_service.h 2012-11-19 11:48:18.791509431 +0100 @@ -23,6 +23,7 @@ #pragma once #define ATMO_GRAB_SERVICE "SoftHDDevice-AtmoGrabService-v1.0" +#define ATMO1_GRAB_SERVICE "SoftHDDevice-AtmoGrabService-v1.1" #define OSD_3DMODE_SERVICE "SoftHDDevice-Osd3DModeService-v1.0" enum @@ -48,3 +49,17 @@ { int Mode; } SoftHDDevice_Osd3DModeService_v1_0_t; + +typedef struct +{ + // rewuest/reply data + + int width; + int height; + + // reply data + + int size; + + void *img; +} SoftHDDevice_AtmoGrabService_v1_1_t;