From c5557de8caaaf63c07c42251dc73a64842038a42 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Sun, 14 Oct 2018 10:38:15 +0200 Subject: [PATCH 1/6] libarmbox: hdmi_cec add option to regulate audio systems volume via CEC, better log readability Signed-off-by: Thilo Graf Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/3057e3aa4de088873d5e734c5d2626d5379082a9 Author: TangoCash Date: 2018-10-14 (Sun, 14 Oct 2018) ------------------ This commit was generated by Migit --- include/video_hal.h | 1 + libarmbox/hdmi_cec.cpp | 72 +++++++++++++++++++++++++++++++++++--- libarmbox/hdmi_cec.h | 24 ++++++++++--- libarmbox/hdmi_cec_types.h | 40 +++++++++++++++++++++ 4 files changed, 128 insertions(+), 9 deletions(-) diff --git a/include/video_hal.h b/include/video_hal.h index db01265..0ea7d6c 100644 --- a/include/video_hal.h +++ b/include/video_hal.h @@ -7,6 +7,7 @@ #include "../libspark/video_lib.h" #elif HAVE_ARM_HARDWARE #include "../libarmbox/video_lib.h" +#include "../libarmbox/hdmi_cec.h" #elif HAVE_AZBOX_HARDWARE #include "../azbox/video_lib.h" #elif HAVE_GENERIC_HARDWARE diff --git a/libarmbox/hdmi_cec.cpp b/libarmbox/hdmi_cec.cpp index 0eed4ab..c34c2a5 100644 --- a/libarmbox/hdmi_cec.cpp +++ b/libarmbox/hdmi_cec.cpp @@ -69,8 +69,9 @@ hdmi_cec * CEC = hdmi_cec::getInstance(); hdmi_cec::hdmi_cec() { - standby_cec_activ = autoview_cec_activ = standby = false; + standby_cec_activ = autoview_cec_activ = standby = muted = false; hdmiFd = -1; + volume = 0; } hdmi_cec::~hdmi_cec() @@ -267,7 +268,7 @@ void hdmi_cec::SendCECMessage(struct cec_message &txmessage) { sprintf(str+(i*6),"[0x%02X]", txmessage.data[i]); } - lt_info("[CEC] send message 0x%02X >> 0x%02X '%s' (%s)\n", txmessage.initiator, txmessage.destination, ToString((cec_opcode)txmessage.data[0]), str); + lt_info("[CEC] send message %s to %s (0x%02X>>0x%02X) '%s' (%s)\n",ToString((cec_logical_address)txmessage.initiator), txmessage.destination == 0xf ? "all" : ToString((cec_logical_address)txmessage.destination), txmessage.initiator, txmessage.destination, ToString((cec_opcode)txmessage.data[0]), str); struct cec_msg msg; cec_msg_init(&msg, txmessage.initiator, txmessage.destination); memcpy(&msg.msg[1], txmessage.data, txmessage.length); @@ -324,6 +325,9 @@ void hdmi_cec::SetCECState(bool state) message.data[2] = physicalAddress[1]; message.length = 3; SendCECMessage(message); + usleep(10000); + + request_audio_status(); } } @@ -517,10 +521,20 @@ void hdmi_cec::Receive() { sprintf(str+(i*6),"[0x%02X]", rxmessage.data[i]); } - lt_info("[CEC] received message 0x%02X << 0x%02X '%s' (%s)\n", rxmessage.destination, rxmessage.initiator, ToString((cec_opcode)rxmessage.opcode), str); + lt_info("[CEC] received message %s to %s (0x%02X>>0x%02X) '%s' (%s)\n",ToString((cec_logical_address)rxmessage.initiator), rxmessage.destination == 0xf ? "all" : ToString((cec_logical_address)rxmessage.destination), rxmessage.initiator, rxmessage.destination, ToString((cec_opcode)rxmessage.opcode), str); switch (rxmessage.opcode) { + case CEC_OPCODE_REPORT_AUDIO_STATUS: + { + muted = ((rxmessage.data[1] & 0x80) == 0x80); + volume = rxmessage.data[1] & 0x7F; + if (muted) + lt_debug("[CEC] %s volume muted\n", ToString((cec_logical_address)rxmessage.initiator)); + else + lt_debug("[CEC] %s volume %d \n", ToString((cec_logical_address)rxmessage.initiator), volume); + break; + } case CEC_OPCODE_DEVICE_VENDOR_ID: case CEC_OPCODE_VENDOR_COMMAND_WITH_ID: { @@ -564,7 +578,7 @@ void hdmi_cec::handleCode(long code, bool keypressed) } if (keypressed) { - if (rc_send(evd, code, KEY_PRESSED) < 0) + if (rc_send(evd, code, CEC_KEY_PRESSED) < 0) { lt_debug("[CEC] writing 'KEY_PRESSED' event failed"); close(evd); @@ -574,7 +588,7 @@ void hdmi_cec::handleCode(long code, bool keypressed) } else { - if (rc_send(evd, code, KEY_RELEASED) < 0) + if (rc_send(evd, code, CEC_KEY_RELEASED) < 0) { lt_debug("[CEC] writing 'KEY_RELEASED' event failed"); close(evd); @@ -605,3 +619,51 @@ void hdmi_cec::rc_sync(int fd) ev.value = 0; write(fd, &ev, sizeof(ev)); } + +void hdmi_cec::send_key(unsigned char key, unsigned char destination) +{ + struct cec_message txmessage; + txmessage.destination = destination; + txmessage.initiator = logicalAddress; + txmessage.data[0] = CEC_OPCODE_USER_CONTROL_PRESSED; + txmessage.data[1] = key; + txmessage.length = 2; + SendCECMessage(txmessage); + usleep(10000); + + txmessage.destination = destination; + txmessage.initiator = logicalAddress; + txmessage.data[0] = CEC_OPCODE_USER_CONTROL_RELEASE; + txmessage.data[1] = key; + txmessage.length = 2; + SendCECMessage(txmessage); +} + +void hdmi_cec::request_audio_status() +{ + struct cec_message txmessage; + txmessage.destination = CEC_OP_PRIM_DEVTYPE_AUDIOSYSTEM; + txmessage.initiator = logicalAddress; + txmessage.data[0] = CEC_OPCODE_GIVE_AUDIO_STATUS; + txmessage.length = 1; + SendCECMessage(txmessage); +} + +void hdmi_cec::vol_up() +{ + send_key(CEC_USER_CONTROL_CODE_VOLUME_UP, CEC_OP_PRIM_DEVTYPE_AUDIOSYSTEM); + usleep(50000); + request_audio_status(); +} +void hdmi_cec::vol_down() +{ + send_key(CEC_USER_CONTROL_CODE_VOLUME_DOWN, CEC_OP_PRIM_DEVTYPE_AUDIOSYSTEM); + usleep(50000); + request_audio_status(); +} +void hdmi_cec::toggle_mute() +{ + send_key(CEC_USER_CONTROL_CODE_MUTE, CEC_OP_PRIM_DEVTYPE_AUDIOSYSTEM); + usleep(50000); + request_audio_status(); +} diff --git a/libarmbox/hdmi_cec.h b/libarmbox/hdmi_cec.h index 65604d7..ebd463d 100644 --- a/libarmbox/hdmi_cec.h +++ b/libarmbox/hdmi_cec.h @@ -38,10 +38,11 @@ struct addressinfo unsigned char type; }; -enum { - KEY_RELEASED = 0, - KEY_PRESSED, - KEY_AUTOREPEAT +enum +{ + CEC_KEY_RELEASED = 0, + CEC_KEY_PRESSED, + CEC_KEY_AUTOREPEAT }; class hdmi_cec : public OpenThreads::Thread @@ -62,6 +63,10 @@ private: int rc_send(int fd, unsigned int code, unsigned int value); void rc_sync(int fd); bool standby; + void send_key(unsigned char key, unsigned char destination); + void request_audio_status(); + bool muted; + int volume; protected: bool running; public: @@ -75,4 +80,15 @@ public: void SetCECState(bool state); void ReportPhysicalAddress(); bool standby_cec_activ; + void vol_up(); + void vol_down(); + void toggle_mute(); + int GetVolume() + { + return volume; + }; + bool isMuted() + { + return muted; + }; }; diff --git a/libarmbox/hdmi_cec_types.h b/libarmbox/hdmi_cec_types.h index beb3e4f..7d2453b 100644 --- a/libarmbox/hdmi_cec_types.h +++ b/libarmbox/hdmi_cec_types.h @@ -630,6 +630,46 @@ static const char *ToString(const cec_user_control_code key) } } +static const char *ToString(cec_logical_address la) +{ + switch (la & 0xf) + { + case CECDEVICE_TV: + return "TV"; + case CECDEVICE_RECORDINGDEVICE1: + return "Recording Device 1"; + case CECDEVICE_RECORDINGDEVICE2: + return "Recording Device 2"; + case CECDEVICE_TUNER1: + return "Tuner 1"; + case CECDEVICE_PLAYBACKDEVICE1: + return "Playback Device 1"; + case CECDEVICE_AUDIOSYSTEM: + return "Audio System"; + case CECDEVICE_TUNER2: + return "Tuner 2"; + case CECDEVICE_TUNER3: + return "Tuner 3"; + case CECDEVICE_PLAYBACKDEVICE2: + return "Playback Device 2"; + case CECDEVICE_RECORDINGDEVICE3: + return "Recording Device 3"; + case CECDEVICE_TUNER4: + return "Tuner 4"; + case CECDEVICE_PLAYBACKDEVICE3: + return "Playback Device 3"; + case CECDEVICE_RESERVED1: + return "Reserved 1"; + case CECDEVICE_RESERVED2: + return "Reserved 2"; + case CECDEVICE_FREEUSE: + return "Free use"; + case CECDEVICE_UNREGISTERED: + default: + return "Unregistered"; + } +} + static cec_opcode GetResponseOpcode(cec_opcode opcode) { switch (opcode) From 9e8b055e59dd20df4e4c02625fbc210b350ca4a4 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Mon, 15 Oct 2018 22:13:39 +0200 Subject: [PATCH 2/6] libeplayer3-arm: fix h265 playback Signed-off-by: Thilo Graf Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/1a2fd80b533c9b2d2faaf0b1f28563d29541b035 Author: TangoCash Date: 2018-10-15 (Mon, 15 Oct 2018) ------------------ This commit was generated by Migit --- libeplayer3-arm/container/container_ffmpeg.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libeplayer3-arm/container/container_ffmpeg.c b/libeplayer3-arm/container/container_ffmpeg.c index 59fa887..769fe56 100644 --- a/libeplayer3-arm/container/container_ffmpeg.c +++ b/libeplayer3-arm/container/container_ffmpeg.c @@ -894,6 +894,7 @@ static void FFMPEGThread(Context_t *context) avOut.width = videoTrack->width; avOut.height = videoTrack->height; avOut.type = "video"; + avOut.infoFlags = 0; if (avContextTab[cAVIdx]->iformat->flags & AVFMT_TS_DISCONT) { From b454b54e813ba4cd672ea1c35ceed3e98d386fa0 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Fri, 19 Oct 2018 16:42:45 +0200 Subject: [PATCH 3/6] liabarmbox: hdmi_cec return volume in percent, correct msg length Signed-off-by: Thilo Graf Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/698585e1cbc26c0d1ccaa659d7b8eacb055190ef Author: TangoCash Date: 2018-10-19 (Fri, 19 Oct 2018) ------------------ This commit was generated by Migit --- libarmbox/hdmi_cec.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libarmbox/hdmi_cec.cpp b/libarmbox/hdmi_cec.cpp index c34c2a5..8fda736 100644 --- a/libarmbox/hdmi_cec.cpp +++ b/libarmbox/hdmi_cec.cpp @@ -528,7 +528,7 @@ void hdmi_cec::Receive() case CEC_OPCODE_REPORT_AUDIO_STATUS: { muted = ((rxmessage.data[1] & 0x80) == 0x80); - volume = rxmessage.data[1] & 0x7F; + volume = ((rxmessage.data[1] & 0x7F) / 127.0) * 100.0; if (muted) lt_debug("[CEC] %s volume muted\n", ToString((cec_logical_address)rxmessage.initiator)); else @@ -634,8 +634,7 @@ void hdmi_cec::send_key(unsigned char key, unsigned char destination) txmessage.destination = destination; txmessage.initiator = logicalAddress; txmessage.data[0] = CEC_OPCODE_USER_CONTROL_RELEASE; - txmessage.data[1] = key; - txmessage.length = 2; + txmessage.length = 1; SendCECMessage(txmessage); } From 6b55579c9afa092cbe732aafe26068b538b7888c Mon Sep 17 00:00:00 2001 From: TangoCash Date: Wed, 31 Oct 2018 23:29:51 +0100 Subject: [PATCH 4/6] add first experimental support for ax hd60 Signed-off-by: Thilo Graf Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/736d4c6edca19913b419cd7057d9a506563f6f02 Author: TangoCash Date: 2018-10-31 (Wed, 31 Oct 2018) ------------------ This commit was generated by Migit --- acinclude.m4 | 16 +++++++++++++++- libarmbox/hardware_caps.c | 19 ++++++++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 6b9232b..5d68143 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -219,6 +219,10 @@ AC_ARG_WITH(boxtype, BOXTYPE="armbox" BOXMODEL="$withval" ;; + hd60) + BOXTYPE="armbox" + BOXMODEL="$withval" + ;; *) AC_MSG_ERROR([bad value $withval for --with-boxtype]) ;; @@ -229,7 +233,7 @@ AC_ARG_WITH(boxmodel, AS_HELP_STRING([--with-boxmodel], [valid for generic: raspi]) AS_HELP_STRING([], [valid for duckbox: ufs910, ufs912, ufs913, ufs922, atevio7500, fortis_hdbox, octagon1008, hs7110, hs7810a, hs7119, hs7819, dp7000, cuberevo, cuberevo_mini, cuberevo_mini2, cuberevo_250hd, cuberevo_2000hd, cuberevo_3000hd, ipbox9900, ipbox99, ipbox55, arivalink200, tf7700, hl101]) AS_HELP_STRING([], [valid for spark: spark, spark7162]) -AS_HELP_STRING([], [valid for armbox: hd51, vusolo4k]), +AS_HELP_STRING([], [valid for armbox: hd51, hd60, vusolo4k]), [case "${withval}" in ufs910|ufs912|ufs913|ufs922|atevio7500|fortis_hdbox|octagon1008|hs7110|hs7810a|hs7119|hs7819|dp7000|cuberevo|cuberevo_mini|cuberevo_mini2|cuberevo_250hd|cuberevo_2000hd|cuberevo_3000hd|ipbox9900|ipbox99|ipbox55|arivalink200|tf7700|hl101) if test "$BOXTYPE" = "duckbox"; then @@ -259,6 +263,13 @@ AS_HELP_STRING([], [valid for armbox: hd51, vusolo4k]), AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) fi ;; + hd60) + if test "$BOXTYPE" = "armbox"; then + BOXMODEL="$withval" + else + AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) + fi + ;; raspi) if test "$BOXTYPE" = "generic"; then BOXMODEL="$withval" @@ -310,6 +321,7 @@ AM_CONDITIONAL(BOXMODEL_TF7700, test "$BOXMODEL" = "tf7700") AM_CONDITIONAL(BOXMODEL_HL101, test "$BOXMODEL" = "hl101") AM_CONDITIONAL(BOXMODEL_HD51, test "$BOXMODEL" = "hd51") +AM_CONDITIONAL(BOXMODEL_HD60, test "$BOXMODEL" = "hd60") AM_CONDITIONAL(BOXMODEL_VUSOLO4K, test "$BOXMODEL" = "vusolo4k") AM_CONDITIONAL(BOXMODEL_RASPI, test "$BOXMODEL" = "raspi") @@ -385,6 +397,8 @@ elif test "$BOXMODEL" = "hl101"; then AC_DEFINE(BOXMODEL_HL101, 1, [hl101]) elif test "$BOXMODEL" = "hd51"; then AC_DEFINE(BOXMODEL_HD51, 1, [hd51]) +elif test "$BOXMODEL" = "hd60"; then + AC_DEFINE(BOXMODEL_HD60, 1, [hd60]) elif test "$BOXMODEL" = "vusolo4k"; then AC_DEFINE(BOXMODEL_VUSOLO4K, 1, [vusolo4k]) elif test "$BOXMODEL" = "raspi"; then diff --git a/libarmbox/hardware_caps.c b/libarmbox/hardware_caps.c index 782e35d..919499c 100644 --- a/libarmbox/hardware_caps.c +++ b/libarmbox/hardware_caps.c @@ -45,7 +45,8 @@ hw_caps_t *get_hwcaps(void) strcpy(caps.boxvendor, "VU"); strcpy(caps.boxname, "SOLO4K"); strcpy(caps.boxarch, "BCM7376"); -#else +#endif +#if BOXMODEL_HD51 initialized = 1; caps.has_CI = 1; caps.can_cec = 1; @@ -60,6 +61,22 @@ hw_caps_t *get_hwcaps(void) strcpy(caps.boxvendor, "AX-Technologies"); strcpy(caps.boxname, "HD51"); strcpy(caps.boxarch, "BCM7251S"); +#endif +#if BOXMODEL_HD60 + initialized = 1; + caps.has_CI = 0; + caps.can_cec = 1; + caps.can_shutdown = 1; + caps.display_xres = 4; + caps.display_type = HW_DISPLAY_LED_NUM; + caps.display_can_deepstandby = 0; + caps.display_can_set_brightness = 1; + caps.display_has_statusline = 0; + caps.has_button_timer = 1; + caps.has_HDMI = 1; + strcpy(caps.boxvendor, "AX-Technologies"); + strcpy(caps.boxname, "HD60"); + strcpy(caps.boxarch, "HI3798M"); #endif return ∩︀ } From 3763d921f2c1306800001d7d51164c2ee62c242c Mon Sep 17 00:00:00 2001 From: TangoCash Date: Wed, 21 Nov 2018 21:49:11 +0100 Subject: [PATCH 5/6] add support for wwio bre2ze4k Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/d92f990091e4087e4779db2676f2733a3e67b01f Author: TangoCash Date: 2018-11-21 (Wed, 21 Nov 2018) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- acinclude.m4 | 31 ++++++------------------------- libarmbox/hardware_caps.c | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 5d68143..0f29685 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -211,15 +211,7 @@ AC_ARG_WITH(boxtype, BOXTYPE="duckbox" BOXMODEL="$withval" ;; - vusolo4k) - BOXTYPE="armbox" - BOXMODEL="$withval" - ;; - hd51) - BOXTYPE="armbox" - BOXMODEL="$withval" - ;; - hd60) + hd51|hd60|vusolo4k|bre2ze4k) BOXTYPE="armbox" BOXMODEL="$withval" ;; @@ -233,7 +225,7 @@ AC_ARG_WITH(boxmodel, AS_HELP_STRING([--with-boxmodel], [valid for generic: raspi]) AS_HELP_STRING([], [valid for duckbox: ufs910, ufs912, ufs913, ufs922, atevio7500, fortis_hdbox, octagon1008, hs7110, hs7810a, hs7119, hs7819, dp7000, cuberevo, cuberevo_mini, cuberevo_mini2, cuberevo_250hd, cuberevo_2000hd, cuberevo_3000hd, ipbox9900, ipbox99, ipbox55, arivalink200, tf7700, hl101]) AS_HELP_STRING([], [valid for spark: spark, spark7162]) -AS_HELP_STRING([], [valid for armbox: hd51, hd60, vusolo4k]), +AS_HELP_STRING([], [valid for armbox: hd51, hd60, vusolo4k, bre2ze4k]), [case "${withval}" in ufs910|ufs912|ufs913|ufs922|atevio7500|fortis_hdbox|octagon1008|hs7110|hs7810a|hs7119|hs7819|dp7000|cuberevo|cuberevo_mini|cuberevo_mini2|cuberevo_250hd|cuberevo_2000hd|cuberevo_3000hd|ipbox9900|ipbox99|ipbox55|arivalink200|tf7700|hl101) if test "$BOXTYPE" = "duckbox"; then @@ -249,21 +241,7 @@ AS_HELP_STRING([], [valid for armbox: hd51, hd60, vusolo4k]), AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) fi ;; - vusolo4k) - if test "$BOXTYPE" = "armbox"; then - BOXMODEL="$withval" - else - AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) - fi - ;; - hd51) - if test "$BOXTYPE" = "armbox"; then - BOXMODEL="$withval" - else - AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) - fi - ;; - hd60) + hd51|hd60|vusolo4k|bre2ze4k) if test "$BOXTYPE" = "armbox"; then BOXMODEL="$withval" else @@ -323,6 +301,7 @@ AM_CONDITIONAL(BOXMODEL_HL101, test "$BOXMODEL" = "hl101") AM_CONDITIONAL(BOXMODEL_HD51, test "$BOXMODEL" = "hd51") AM_CONDITIONAL(BOXMODEL_HD60, test "$BOXMODEL" = "hd60") AM_CONDITIONAL(BOXMODEL_VUSOLO4K, test "$BOXMODEL" = "vusolo4k") +AM_CONDITIONAL(BOXMODEL_BRE2ZE4K, test "$BOXMODEL" = "bre2ze4k") AM_CONDITIONAL(BOXMODEL_RASPI, test "$BOXMODEL" = "raspi") @@ -401,6 +380,8 @@ elif test "$BOXMODEL" = "hd60"; then AC_DEFINE(BOXMODEL_HD60, 1, [hd60]) elif test "$BOXMODEL" = "vusolo4k"; then AC_DEFINE(BOXMODEL_VUSOLO4K, 1, [vusolo4k]) +elif test "$BOXMODEL" = "bre2ze4k"; then + AC_DEFINE(BOXMODEL_BRE2ZE4K, 1, [bre2ze4k]) elif test "$BOXMODEL" = "raspi"; then AC_DEFINE(BOXMODEL_RASPI, 1, [raspberry pi]) fi diff --git a/libarmbox/hardware_caps.c b/libarmbox/hardware_caps.c index 919499c..22911f5 100644 --- a/libarmbox/hardware_caps.c +++ b/libarmbox/hardware_caps.c @@ -77,6 +77,22 @@ hw_caps_t *get_hwcaps(void) strcpy(caps.boxvendor, "AX-Technologies"); strcpy(caps.boxname, "HD60"); strcpy(caps.boxarch, "HI3798M"); +#endif +#if BOXMODEL_BRE2ZE4K + initialized = 1; + caps.has_CI = 1; + caps.can_cec = 1; + caps.can_shutdown = 1; + caps.display_xres = 4; + caps.display_type = HW_DISPLAY_LED_NUM; + caps.display_can_deepstandby = 0; + caps.display_can_set_brightness = 1; + caps.display_has_statusline = 0; + caps.has_button_timer = 1; + caps.has_HDMI = 1; + strcpy(caps.boxvendor, "WWIO"); + strcpy(caps.boxname, "BRE2ZE4K"); + strcpy(caps.boxarch, "BCM7251S"); #endif return ∩︀ } From 16ab5035d7f7dffddcbd8e1f76bbfa5305f2f0ca Mon Sep 17 00:00:00 2001 From: GetAway Date: Sat, 1 Dec 2018 10:38:17 +0100 Subject: [PATCH 6/6] libarmbox: introduce has_button_vformat Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/2d90952e289059995e14fb6acc06d944cf91698a Author: GetAway Date: 2018-12-01 (Sat, 01 Dec 2018) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- include/hardware_caps.h | 1 + libarmbox/hardware_caps.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/hardware_caps.h b/include/hardware_caps.h index 3a553ca..44a11a9 100644 --- a/include/hardware_caps.h +++ b/include/hardware_caps.h @@ -40,6 +40,7 @@ typedef struct hw_caps int display_can_deepstandby; int display_has_statusline; int has_button_timer; + int has_button_vformat; char boxvendor[64]; char boxname[64]; char boxarch[64]; diff --git a/libarmbox/hardware_caps.c b/libarmbox/hardware_caps.c index 22911f5..c5ee366 100644 --- a/libarmbox/hardware_caps.c +++ b/libarmbox/hardware_caps.c @@ -41,6 +41,7 @@ hw_caps_t *get_hwcaps(void) caps.display_can_set_brightness = 1; caps.display_has_statusline = 1; caps.has_button_timer = 1; + caps.has_button_vformat = 0; caps.has_HDMI = 1; strcpy(caps.boxvendor, "VU"); strcpy(caps.boxname, "SOLO4K"); @@ -57,6 +58,7 @@ hw_caps_t *get_hwcaps(void) caps.display_can_set_brightness = 1; caps.display_has_statusline = 0; caps.has_button_timer = 1; + caps.has_button_vformat = 0; caps.has_HDMI = 1; strcpy(caps.boxvendor, "AX-Technologies"); strcpy(caps.boxname, "HD51"); @@ -73,6 +75,7 @@ hw_caps_t *get_hwcaps(void) caps.display_can_set_brightness = 1; caps.display_has_statusline = 0; caps.has_button_timer = 1; + caps.has_button_vformat = 0; caps.has_HDMI = 1; strcpy(caps.boxvendor, "AX-Technologies"); strcpy(caps.boxname, "HD60"); @@ -89,6 +92,7 @@ hw_caps_t *get_hwcaps(void) caps.display_can_set_brightness = 1; caps.display_has_statusline = 0; caps.has_button_timer = 1; + caps.has_button_vformat = 1; caps.has_HDMI = 1; strcpy(caps.boxvendor, "WWIO"); strcpy(caps.boxname, "BRE2ZE4K");