mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
rework kodi grabbing mode for all grabbers (#169)
* pull out setgrabbing mode from every grabber into parent class * implement optional kodi check for v4l * fix typo * fix dispmanx build
This commit is contained in:
@@ -50,29 +50,6 @@ void AmlogicWrapper::action()
|
||||
_hyperion->setColors(_priority, _ledColors, _timeout_ms);
|
||||
}
|
||||
|
||||
void AmlogicWrapper::setGrabbingMode(const GrabbingMode mode)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case GRABBINGMODE_VIDEO:
|
||||
case GRABBINGMODE_PAUSE:
|
||||
// _grabber->setFlags(DISPMANX_SNAPSHOT_NO_RGB|DISPMANX_SNAPSHOT_FILL);
|
||||
start();
|
||||
break;
|
||||
case GRABBINGMODE_AUDIO:
|
||||
case GRABBINGMODE_PHOTO:
|
||||
case GRABBINGMODE_MENU:
|
||||
case GRABBINGMODE_SCREENSAVER:
|
||||
case GRABBINGMODE_INVALID:
|
||||
// _grabber->setFlags(0);
|
||||
start();
|
||||
break;
|
||||
case GRABBINGMODE_OFF:
|
||||
stop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void AmlogicWrapper::setVideoMode(const VideoMode mode)
|
||||
{
|
||||
_grabber->setVideoMode(mode);
|
||||
|
@@ -46,27 +46,17 @@ void DispmanxWrapper::action()
|
||||
_hyperion->setColors(_priority, _ledColors, _timeout_ms);
|
||||
}
|
||||
|
||||
void DispmanxWrapper::setGrabbingMode(const GrabbingMode mode)
|
||||
void DispmanxWrapper::kodiPlay()
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case GRABBINGMODE_VIDEO:
|
||||
case GRABBINGMODE_PAUSE:
|
||||
_grabber->setFlags(DISPMANX_SNAPSHOT_NO_RGB|DISPMANX_SNAPSHOT_FILL);
|
||||
start();
|
||||
break;
|
||||
case GRABBINGMODE_AUDIO:
|
||||
case GRABBINGMODE_PHOTO:
|
||||
case GRABBINGMODE_MENU:
|
||||
case GRABBINGMODE_SCREENSAVER:
|
||||
case GRABBINGMODE_INVALID:
|
||||
_grabber->setFlags(0);
|
||||
start();
|
||||
break;
|
||||
case GRABBINGMODE_OFF:
|
||||
stop();
|
||||
break;
|
||||
}
|
||||
_grabber->setFlags(DISPMANX_SNAPSHOT_NO_RGB|DISPMANX_SNAPSHOT_FILL);
|
||||
GrabberWrapper::kodiPlay();
|
||||
|
||||
}
|
||||
|
||||
void DispmanxWrapper::kodiPause()
|
||||
{
|
||||
_grabber->setFlags(0);
|
||||
GrabberWrapper::kodiPause();
|
||||
}
|
||||
|
||||
void DispmanxWrapper::setVideoMode(const VideoMode mode)
|
||||
|
@@ -40,25 +40,6 @@ void FramebufferWrapper::action()
|
||||
_hyperion->setColors(_priority, _ledColors, _timeout_ms);
|
||||
}
|
||||
|
||||
void FramebufferWrapper::setGrabbingMode(const GrabbingMode mode)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case GRABBINGMODE_VIDEO:
|
||||
case GRABBINGMODE_PAUSE:
|
||||
case GRABBINGMODE_AUDIO:
|
||||
case GRABBINGMODE_PHOTO:
|
||||
case GRABBINGMODE_MENU:
|
||||
case GRABBINGMODE_SCREENSAVER:
|
||||
case GRABBINGMODE_INVALID:
|
||||
start();
|
||||
break;
|
||||
case GRABBINGMODE_OFF:
|
||||
stop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void FramebufferWrapper::setVideoMode(const VideoMode mode)
|
||||
{
|
||||
_grabber->setVideoMode(mode);
|
||||
|
@@ -40,24 +40,6 @@ void OsxWrapper::action()
|
||||
_hyperion->setColors(_priority, _ledColors, _timeout_ms);
|
||||
}
|
||||
|
||||
void OsxWrapper::setGrabbingMode(const GrabbingMode mode)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case GRABBINGMODE_VIDEO:
|
||||
case GRABBINGMODE_PAUSE:
|
||||
case GRABBINGMODE_AUDIO:
|
||||
case GRABBINGMODE_PHOTO:
|
||||
case GRABBINGMODE_MENU:
|
||||
case GRABBINGMODE_SCREENSAVER:
|
||||
case GRABBINGMODE_INVALID:
|
||||
start();
|
||||
break;
|
||||
case GRABBINGMODE_OFF:
|
||||
stop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void OsxWrapper::setVideoMode(const VideoMode mode)
|
||||
{
|
||||
|
@@ -73,24 +73,6 @@ void X11Wrapper::action()
|
||||
_hyperion->setColors(_priority, _ledColors, _timeout_ms);
|
||||
}
|
||||
|
||||
void X11Wrapper::setGrabbingMode(const GrabbingMode mode)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case GRABBINGMODE_VIDEO:
|
||||
case GRABBINGMODE_PAUSE:
|
||||
case GRABBINGMODE_AUDIO:
|
||||
case GRABBINGMODE_PHOTO:
|
||||
case GRABBINGMODE_MENU:
|
||||
case GRABBINGMODE_SCREENSAVER:
|
||||
case GRABBINGMODE_INVALID:
|
||||
start();
|
||||
break;
|
||||
case GRABBINGMODE_OFF:
|
||||
stop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void X11Wrapper::setVideoMode(const VideoMode mode)
|
||||
{
|
||||
|
@@ -67,3 +67,41 @@ void GrabberWrapper::componentStateChanged(const hyperion::Components component,
|
||||
Info(_log, "bb detector change state to %s", (_processor->blackBorderDetectorEnabled() ? "enabled" : "disabled") );
|
||||
}
|
||||
}
|
||||
|
||||
void GrabberWrapper::kodiPlay()
|
||||
{
|
||||
start();
|
||||
}
|
||||
|
||||
void GrabberWrapper::kodiPause()
|
||||
{
|
||||
start();
|
||||
}
|
||||
|
||||
void GrabberWrapper::kodiOff()
|
||||
{
|
||||
stop();
|
||||
}
|
||||
|
||||
|
||||
void GrabberWrapper::setGrabbingMode(const GrabbingMode mode)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case GRABBINGMODE_VIDEO:
|
||||
case GRABBINGMODE_PAUSE:
|
||||
kodiPause();
|
||||
break;
|
||||
case GRABBINGMODE_AUDIO:
|
||||
case GRABBINGMODE_PHOTO:
|
||||
case GRABBINGMODE_MENU:
|
||||
case GRABBINGMODE_SCREENSAVER:
|
||||
case GRABBINGMODE_INVALID:
|
||||
kodiPlay();
|
||||
break;
|
||||
case GRABBINGMODE_OFF:
|
||||
kodiOff();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -400,93 +400,79 @@
|
||||
"grabber-v4l2" :
|
||||
{
|
||||
"type" : "object",
|
||||
"required" : false,
|
||||
"properties" :
|
||||
{
|
||||
"enable" :
|
||||
{
|
||||
"type" : "boolean",
|
||||
"required" : true
|
||||
"type" : "boolean"
|
||||
},
|
||||
"device" :
|
||||
{
|
||||
"type" : "string",
|
||||
"required" : true
|
||||
"type" : "string"
|
||||
},
|
||||
"input" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"standard" :
|
||||
{
|
||||
"type" : "string",
|
||||
"required" : true
|
||||
"type" : "string"
|
||||
},
|
||||
"width" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"height" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"frameDecimation" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"sizeDecimation" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"priority" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"mode" :
|
||||
{
|
||||
"type" : "string",
|
||||
"required" : true
|
||||
"type" : "string"
|
||||
},
|
||||
"useKodiChecker" :
|
||||
{
|
||||
"type" : "boolean"
|
||||
},
|
||||
"cropLeft" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"cropRight" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"cropTop" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"cropBottom" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"required" : true
|
||||
"type" : "integer"
|
||||
},
|
||||
"redSignalThreshold" :
|
||||
{
|
||||
"type" : "number",
|
||||
"required" : true
|
||||
"type" : "number"
|
||||
},
|
||||
"greenSignalThreshold" :
|
||||
{
|
||||
"type" : "number",
|
||||
"required" : true
|
||||
"type" : "number"
|
||||
},
|
||||
"blueSignalThreshold" :
|
||||
{
|
||||
"type" : "number",
|
||||
"required" : true
|
||||
"type" : "number"
|
||||
}
|
||||
},
|
||||
"additionalProperties" : false
|
||||
|
Reference in New Issue
Block a user