From e5f50d3aeb4f772b39324f934f0b9e836adb8552 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 31 Dec 2020 02:16:55 +0100 Subject: [PATCH] libarmbox: try to fix getBlank/setBlank Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/d0a74bade91a21d672cc381462a1910447d7c79e Author: vanhofen Date: 2020-12-31 (Thu, 31 Dec 2020) Origin message was: ------------------ - libarmbox: try to fix getBlank/setBlank ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/video.cpp | 21 +++++++++++++++++---- libarmbox/video_lib.h | 1 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/libarmbox/video.cpp b/libarmbox/video.cpp index 9e5b983..4f73bc7 100644 --- a/libarmbox/video.cpp +++ b/libarmbox/video.cpp @@ -398,6 +398,7 @@ cVideo::cVideo(int, void *, void *, unsigned int unit) saturation = -1; hue = -1; video_standby = 0; + blank_mode = 0; if (unit > 1) { hal_info("%s: unit %d out of range, setting to 0\n", __func__, unit); devnum = 0; @@ -560,6 +561,7 @@ int cVideo::Start(void * /*PcrChannel*/, unsigned short /*PcrPid*/, unsigned sho SetControl(VIDEO_CONTROL_HUE, hue); hue = -1; } + blank_mode = 0; return res; } @@ -572,16 +574,22 @@ int cVideo::Stop(bool blank) return -1; } playstate = blank ? VIDEO_STOPPED : VIDEO_FREEZED; + blank_mode = blank; return fop(ioctl, VIDEO_STOP, blank ? 1 : 0); } -int cVideo::setBlank(int) +int cVideo::setBlank(int enable) { fop(ioctl, VIDEO_PLAY); fop(ioctl, VIDEO_CONTINUE); - video_still_picture sp = { NULL, 0 }; - fop(ioctl, VIDEO_STILLPICTURE, &sp); - return Stop(1); + if (enable) + { + video_still_picture sp = { NULL, 0 }; + fop(ioctl, VIDEO_STILLPICTURE, &sp); + return Stop(1); + } + else + return Start(); } int cVideo::SetVideoSystem(int video_system, bool remember) @@ -741,9 +749,14 @@ void cVideo::Standby(unsigned int bOn) int cVideo::getBlank(void) { +#if 0 int ret = proc_get_hex(VMPEG_xres[devnum]); hal_debug("%s => %d\n", __func__, !ret); return !ret; +#else + hal_debug("%s => %d\n", __func__, blank_mode); + return blank_mode; +#endif } void cVideo::Pig(int x, int y, int w, int h, int osd_w, int osd_h, int startx, int starty, int endx, int endy) diff --git a/libarmbox/video_lib.h b/libarmbox/video_lib.h index eda5251..bdfef28 100644 --- a/libarmbox/video_lib.h +++ b/libarmbox/video_lib.h @@ -189,6 +189,7 @@ class cVideo int dynamic_contrast; int scaler_sharpness; int zapping_mode; + int blank_mode; /* used internally by dmx */ int64_t GetPTS(void);