From 04b317490b4999d10af991fe78bc0143749a142c Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 24 Oct 2017 15:57:30 +0200 Subject: [PATCH 01/31] fix get play position Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/7c4935a1c94a5a70a1e5333311bc9f83650909d2 Author: Jacek Jendrzej Date: 2017-10-24 (Tue, 24 Oct 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 71275f3..5cc1690 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -806,13 +806,10 @@ bool cPlayback::GetPosition(int &position, int &duration) if (audioSink || videoSink) { g_signal_emit_by_name(audioSink ? audioSink : videoSink, "get-decoder-time", &pts); - if (!GST_CLOCK_TIME_IS_VALID(pts)) - { + if (!GST_CLOCK_TIME_IS_VALID(pts)){ lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); } - } - else - { + }else{ if(!gst_element_query_position(m_gst_playbin, fmt, &pts)) lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); } From 5aec4de05d1f0400d236f98b9635ff9b97be07c3 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 24 Oct 2017 18:32:36 +0200 Subject: [PATCH 02/31] fix null list Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/9a61e6264eb63eff77f5d2e748dca8bcf667da70 Author: Jacek Jendrzej Date: 2017-10-24 (Tue, 24 Oct 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 5cc1690..759ba4f 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -432,7 +432,7 @@ cPlayback::~cPlayback() lt_info( "%s:%s\n", FILENAME, __FUNCTION__); //FIXME: all deleting stuff is done in Close() if (m_stream_tags) - gst_tag_list_unref(m_stream_tags); + gst_tag_list_free(m_stream_tags); } //Used by Fileplay From 8d43608efd9be92911575938fa9121c4ebcad7c8 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Wed, 1 Nov 2017 15:09:42 +0100 Subject: [PATCH 03/31] add display_can_deepstandby member Signed-off-by: Thilo Graf Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/3b7613b778b218117be6d99e68073c115df46949 Author: vanhofen Date: 2017-11-01 (Wed, 01 Nov 2017) Origin message was: ------------------ - add display_can_deepstandby member Signed-off-by: Thilo Graf ------------------ This commit was generated by Migit --- azbox/hardware_caps.c | 1 + generic-pc/hardware_caps.c | 1 + include/hardware_caps.h | 1 + libarmbox/hardware_caps.c | 1 + libduckbox/hardware_caps.c | 1 + libspark/hardware_caps.c | 1 + libtriple/hardware_caps.c | 1 + raspi/hardware_caps.c | 1 + 8 files changed, 8 insertions(+) diff --git a/azbox/hardware_caps.c b/azbox/hardware_caps.c index 6489378..da8a610 100644 --- a/azbox/hardware_caps.c +++ b/azbox/hardware_caps.c @@ -30,6 +30,7 @@ hw_caps_t *get_hwcaps(void) caps.display_type = HW_DISPLAY_LINE_TEXT; caps.has_HDMI = 1; caps.display_xres = 8; + caps.display_can_deepstandby = 0; strcpy(caps.boxvendor, "AZBox"); const char *tmp; char buf[64]; diff --git a/generic-pc/hardware_caps.c b/generic-pc/hardware_caps.c index 7e3f167..33c3cd8 100644 --- a/generic-pc/hardware_caps.c +++ b/generic-pc/hardware_caps.c @@ -32,6 +32,7 @@ hw_caps_t *get_hwcaps(void) caps.display_type = HW_DISPLAY_LINE_TEXT; caps.has_HDMI = 1; caps.display_xres = 8; + caps.display_can_deepstandby = 0; strcpy(caps.boxvendor, "Generic"); strcpy(caps.boxname, "PC"); if (! uname(&u)) diff --git a/include/hardware_caps.h b/include/hardware_caps.h index 592cde6..d96e202 100644 --- a/include/hardware_caps.h +++ b/include/hardware_caps.h @@ -36,6 +36,7 @@ typedef struct hw_caps display_type_t display_type; int display_xres; /* x resolution or chars per line */ int display_yres; + int display_can_deepstandby; int can_set_display_brightness; char boxvendor[64]; char boxname[64]; diff --git a/libarmbox/hardware_caps.c b/libarmbox/hardware_caps.c index 5ce19c4..bb3f7a8 100644 --- a/libarmbox/hardware_caps.c +++ b/libarmbox/hardware_caps.c @@ -34,6 +34,7 @@ hw_caps_t *get_hwcaps(void) caps.can_shutdown = 1; caps.display_xres = 16; caps.display_type = HW_DISPLAY_LINE_TEXT; + caps.display_can_deepstandby = 0; caps.can_set_display_brightness = 1; caps.has_HDMI = 1; strcpy(caps.boxvendor, "AX-Technologies"); diff --git a/libduckbox/hardware_caps.c b/libduckbox/hardware_caps.c index 8ab4586..be9b4ef 100644 --- a/libduckbox/hardware_caps.c +++ b/libduckbox/hardware_caps.c @@ -30,6 +30,7 @@ hw_caps_t *get_hwcaps(void) int len = -1; int fd = open("/proc/stb/info/model", O_RDONLY); caps.can_set_display_brightness = 0; + caps.display_can_deepstandby = 0; if (fd != -1) { len = read(fd, buf, sizeof(buf) - 1); close(fd); diff --git a/libspark/hardware_caps.c b/libspark/hardware_caps.c index dd2f941..b319172 100644 --- a/libspark/hardware_caps.c +++ b/libspark/hardware_caps.c @@ -35,6 +35,7 @@ hw_caps_t *get_hwcaps(void) caps.can_shutdown = 1; caps.display_type = HW_DISPLAY_LED_NUM; caps.can_set_display_brightness = 0; + caps.display_can_deepstandby = 0; caps.has_HDMI = 1; caps.has_SCART = 1; caps.display_xres = 4; diff --git a/libtriple/hardware_caps.c b/libtriple/hardware_caps.c index facb1b1..64a92d9 100644 --- a/libtriple/hardware_caps.c +++ b/libtriple/hardware_caps.c @@ -20,6 +20,7 @@ static hw_caps_t caps = { .display_type = HW_DISPLAY_GFX, .display_xres = 128, .display_yres = 64, + .display_can_deepstandby = 0; .boxvendor = "Armas", .boxname = "TripleDragon" }; diff --git a/raspi/hardware_caps.c b/raspi/hardware_caps.c index a4f4a3f..840975b 100644 --- a/raspi/hardware_caps.c +++ b/raspi/hardware_caps.c @@ -30,6 +30,7 @@ hw_caps_t *get_hwcaps(void) caps.display_type = HW_DISPLAY_LINE_TEXT; caps.has_HDMI = 1; caps.display_xres = 8; + caps.display_can_deepstandby = 0; strcpy(caps.boxvendor, "Raspberry"); strcpy(caps.boxname, "Pi"); From 591e89a512b2b7daf7197920d81e6e9600cbcc3d Mon Sep 17 00:00:00 2001 From: vanhofen Date: Wed, 1 Nov 2017 15:15:42 +0100 Subject: [PATCH 04/31] rename can_set_display_brightness => display_can_set_brightness Signed-off-by: Thilo Graf Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/5bbfc8fa6d39ce092310746b19af2eefeb446852 Author: vanhofen Date: 2017-11-01 (Wed, 01 Nov 2017) Origin message was: ------------------ - rename can_set_display_brightness => display_can_set_brightness Signed-off-by: Thilo Graf ------------------ This commit was generated by Migit --- include/hardware_caps.h | 2 +- libarmbox/hardware_caps.c | 2 +- libduckbox/hardware_caps.c | 16 ++++++++-------- libspark/hardware_caps.c | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/hardware_caps.h b/include/hardware_caps.h index d96e202..2de6b83 100644 --- a/include/hardware_caps.h +++ b/include/hardware_caps.h @@ -37,7 +37,7 @@ typedef struct hw_caps int display_xres; /* x resolution or chars per line */ int display_yres; int display_can_deepstandby; - int can_set_display_brightness; + int display_can_set_brightness; char boxvendor[64]; char boxname[64]; char boxarch[64]; diff --git a/libarmbox/hardware_caps.c b/libarmbox/hardware_caps.c index bb3f7a8..23d68e8 100644 --- a/libarmbox/hardware_caps.c +++ b/libarmbox/hardware_caps.c @@ -35,7 +35,7 @@ hw_caps_t *get_hwcaps(void) caps.display_xres = 16; caps.display_type = HW_DISPLAY_LINE_TEXT; caps.display_can_deepstandby = 0; - caps.can_set_display_brightness = 1; + caps.display_can_set_brightness = 1; caps.has_HDMI = 1; strcpy(caps.boxvendor, "AX-Technologies"); strcpy(caps.boxname, "HD51"); diff --git a/libduckbox/hardware_caps.c b/libduckbox/hardware_caps.c index be9b4ef..86355a7 100644 --- a/libduckbox/hardware_caps.c +++ b/libduckbox/hardware_caps.c @@ -29,7 +29,7 @@ hw_caps_t *get_hwcaps(void) char buf[64]; int len = -1; int fd = open("/proc/stb/info/model", O_RDONLY); - caps.can_set_display_brightness = 0; + caps.display_can_set_brightness = 0; caps.display_can_deepstandby = 0; if (fd != -1) { len = read(fd, buf, sizeof(buf) - 1); @@ -56,7 +56,7 @@ hw_caps_t *get_hwcaps(void) caps.can_cec = 1; caps.has_fan = 0; caps.has_CI = 2; - caps.can_set_display_brightness = 1; + caps.display_can_set_brightness = 1; } else if (!strncmp(buf, "ufs913", 6)) { strcpy(caps.boxvendor, "DUCKBOX"); @@ -67,7 +67,7 @@ hw_caps_t *get_hwcaps(void) caps.can_cec = 1; caps.has_fan = 0; caps.has_CI = 2; - caps.can_set_display_brightness = 1; + caps.display_can_set_brightness = 1; } else if (!strncmp(buf, "ufs922", 6)) { strcpy(caps.boxvendor, "DUCKBOX"); @@ -88,7 +88,7 @@ hw_caps_t *get_hwcaps(void) caps.can_cec = 0; caps.has_fan = 0; caps.has_CI = 2; - caps.can_set_display_brightness = 1; + caps.display_can_set_brightness = 1; } else if (!strncmp(buf, "hdbox", 5)) { strcpy(caps.boxvendor, "DUCKBOX"); @@ -274,7 +274,7 @@ hw_caps_t *get_hwcaps(void) caps.can_cec = 1; caps.has_fan = 0; caps.has_CI = 2; - caps.can_set_display_brightness = 0; + caps.display_can_set_brightness = 0; } else if ((!strncasecmp(buf, "nbox", 4)) || (!strncasecmp(buf, "adb_box", 7))) { @@ -286,7 +286,7 @@ hw_caps_t *get_hwcaps(void) caps.can_cec = 1; caps.has_fan = 1; caps.has_CI = 2; - caps.can_set_display_brightness = 1; + caps.display_can_set_brightness = 1; } else if ((!strncasecmp(buf, "sagemcom88", 10)) || (!strncasecmp(buf, "esi_88", 6)) || @@ -300,7 +300,7 @@ hw_caps_t *get_hwcaps(void) caps.can_cec = 1; caps.has_fan = 1; caps.has_CI = 0; - caps.can_set_display_brightness = 1; + caps.display_can_set_brightness = 1; } else if (!strncasecmp(buf, "dsi87", 5)) { strcpy(caps.boxvendor, "DUCKBOX"); @@ -311,7 +311,7 @@ hw_caps_t *get_hwcaps(void) caps.can_cec = 1; caps.has_fan = 0; caps.has_CI = 0; - caps.can_set_display_brightness = 0; + caps.display_can_set_brightness = 0; } else { strcpy(caps.boxvendor, "unknown"); diff --git a/libspark/hardware_caps.c b/libspark/hardware_caps.c index b319172..74d49ce 100644 --- a/libspark/hardware_caps.c +++ b/libspark/hardware_caps.c @@ -34,7 +34,7 @@ hw_caps_t *get_hwcaps(void) caps.can_cec = 1; caps.can_shutdown = 1; caps.display_type = HW_DISPLAY_LED_NUM; - caps.can_set_display_brightness = 0; + caps.display_can_set_brightness = 0; caps.display_can_deepstandby = 0; caps.has_HDMI = 1; caps.has_SCART = 1; @@ -51,7 +51,7 @@ hw_caps_t *get_hwcaps(void) else if (val & 1) { /* VFD = 1, DVFD = 3 */ caps.display_type = HW_DISPLAY_LINE_TEXT; caps.display_xres = 8; - caps.can_set_display_brightness = 1; + caps.display_can_set_brightness = 1; } close(fd); } From 256e053009438aaab74341e7bd1f1935f806ec36 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 2 Nov 2017 17:06:34 +0100 Subject: [PATCH 05/31] add update script Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/0380de32250ef471a5febfd178926e2c09ae08e3 Author: Thilo Graf Date: 2017-11-02 (Thu, 02 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- upgrade_version.pl | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 upgrade_version.pl diff --git a/upgrade_version.pl b/upgrade_version.pl new file mode 100755 index 0000000..3013a31 --- /dev/null +++ b/upgrade_version.pl @@ -0,0 +1,42 @@ +#! /usr/bin/perl + +$old_version = ""; +$new_version = ""; + +sub replace_file { + ($file) = @_; + + $tmp_fn = "uv.tmp"; + open TMP, ">$tmp_fn"; + open INF, "<$file"; + while () { + s/$old_version/$new_version/g; + print TMP; + } + close INF; + close TMP; +# `mv $tmp_fn $file`; + rename ($tmp_fn, $file); +} + +############################################################### +## main +############################################################### +$old_version = shift; +$new_version = shift; + +if (!$new_version) { + $_ = `grep AC_INIT configure.ac`; + chomp; + $_ =~ s/^.*,//; + $_ =~ s/\).*$//; + die "Usage: upgrade_version.pl old_version new_version\nold_verion=$_\n"; +} + +@files = ( + "configure.ac", + ); + +for $file (@files) { + replace_file ($file); +} From 467e332a511878010fc3e903d7392deca8fadbd3 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 2 Nov 2017 17:07:02 +0100 Subject: [PATCH 06/31] add default files Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/f9164dafb04fa05678a579caf7321d50cd3942ca Author: Thilo Graf Date: 2017-11-02 (Thu, 02 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- AUTHORS | 2 ++ COPYING | 0 NEWS | 0 README | 0 4 files changed, 2 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 NEWS create mode 100644 README diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..139597f --- /dev/null +++ b/AUTHORS @@ -0,0 +1,2 @@ + + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..e69de29 diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..e69de29 From 7e9ba452deb8cd8da979ac4a9c65b105464a883a Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 2 Nov 2017 17:21:18 +0100 Subject: [PATCH 07/31] adjust .gitignore for untracked files Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/917034fcd9163798621e1a71a7122b0729f93b3c Author: Thilo Graf Date: 2017-11-02 (Thu, 02 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- .gitignore | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 71a2c80..303dfee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,31 +1,21 @@ -/m4/ -/autom4te.cache/ /aclocal.m4 +/autom4te.cache/ +Makefile.in /compile /config.guess /config.h.in -/config.h.in~ /config.sub /configure /depcomp /install-sh -/common/Makefile.in -/libeplayer3/Makefile.in -/libdvbci/Makefile.in -/libduckbox/Makefile.in -/libspark/Makefile.in -/libtriple/Makefile.in -/azbox/Makefile.in -/generic-pc/Makefile.in -/raspi/Makefile.in /ltmain.sh +/m4/ /missing -/Makefile.in -/tools/Makefile.in +*.*~ *.a *.la *.lai -*.Plo -*.o *.lo +*.o +*.Plo *.Po From e016815ff8e1a8d0310e18d7178d8766707ff296 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Thu, 2 Nov 2017 17:30:10 +0100 Subject: [PATCH 08/31] version 1.0.0-mpx hd51 support Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/969377d8b63f98140d48c92a4de54595006f5f54 Author: Thilo Graf Date: 2017-11-02 (Thu, 02 Nov 2017) ------------------ This commit was generated by Migit --- ChangeLog | 3035 ++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 3036 insertions(+), 1 deletion(-) create mode 100644 ChangeLog diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..078bfed --- /dev/null +++ b/ChangeLog @@ -0,0 +1,3035 @@ +2017-11-02 Thilo Graf + + version 1.0.0-mpx + hd51 support + + adjust .gitignore for untracked files + + add default files + + add update script + +2017-11-02 svenhoefer + + - rename can_set_display_brightness => display_can_set_brightness + + - add display_can_deepstandby member + +2017-11-02 Jacek Jendrzej + + fix null list + + fix get play position + +2017-11-01 TangoCash + + gstreamer: reset pids at start + + gstreamer playback - get real apid from TS + +2017-10-31 TangoCash + + armbox: fullscreen osd ;) + +2017-10-30 TangoCash + + gstreamer: fix lang detection + +2017-10-29 TangoCash + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + +2017-10-28 max_10 + + libdvbci: log cosmetic + +2017-10-28 TangoCash + + armbox: fix get blank + + fixup gstreamer tags + + armbox: gstreamer tags support + +2017-10-27 TangoCash + + fix coverart + + armbox: fix audio playback #2 + + armbox: fix audio playback + + armbox: add video/audio pid + +2017-10-24 TangoCash + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + +2017-10-24 Jacek Jendrzej + + fix get play position + + fix null list + +2017-10-24 max_10 + + Merge remote-tracking branch 'tangocash/master' + + eDVBCISlot forgotten + +2017-10-23 TangoCash + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + +2017-10-23 max_10 + + rename tSlot -> eDVBCISlot + +2017-10-23 TangoCash + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + +2017-10-23 max_10 + + modification sendDateTime + + rename tSlot -> eDVBCISlot + +2017-10-23 Jacek Jendrzej + + fix uri for http + +2017-10-22 TangoCash + + partly revert last commit + + armbox: fix gst playback + +2017-10-21 TangoCash + + armbox: gstreamer - fix init jump, cleanup + +2017-10-20 Jacek Jendrzej + + rmove unused code + +2017-10-19 TangoCash + + fix typo + + armbox: improve cec + + armbox: tryfix cec + +2017-10-18 TangoCash + + armbox: tryfix lost of video device after playing something with gst + +2017-10-18 max_10 + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + + ca_ci: in some situations missing scambled flag (thx DboxOldie) + +2017-10-18 TangoCash + + ca_ci: in some situations missing scambled flag (thx dbo) + + ca_ci: in some situations missing scambled flag (thx dbo) + +2017-10-17 TangoCash + + armbox: fix still image + + armbox: fix devices + + armbox add missing header file + + armbox: start implementing cec support + +2017-10-15 TangoCash + + partly revert last commit + + armbox: let gst playback handle devices + + armbox: adding header and user_agent to gst playback + + armbox: gst-playback reformat code + + armbox: fix gst seeking + + fix last commit + + fix last commit + + fix gst playback + +2017-10-11 TangoCash + + armbox: enable DTS passthrough + +2017-10-08 TangoCash + + Revert "libeplayer3: switch off the teletext sub" + This reverts commit 1356d700be203d3107f32dafdf2c22e675898f09. + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + + Merge pull request #3 from MaxWiesel/master + :) + +2017-10-08 max_10 + + armbox: modification GetVideoSystem + +2017-10-07 max_10 + + Merge remote-tracking branch 'tangocash/master' + +2017-10-07 TangoCash + + HMDI ac3 passthrough/downmix + + armbox: remove audiomixers + +2017-10-07 max_10 + + armbox: delete parts of sh4 code + + armbox: remove dead code from cDemux + + armbox: remove videodecoder hack from dmx destructor + + armbox: use proc_tools + +2017-10-07 Stefan Seyfried + + spark: remove dead code from cDemux + + spark: remove videodecoder hack from dmx destructor + + spark: fix race condition in cDemux + cDemux destructor was racing with Read() which did lead to all + sorts of nasty crashes because after poll returned, the dmx object + could be gone and its memory replaced with totally different things. + +2017-10-07 max_10 + + fix cherry-pick + +2017-10-07 Stefan Seyfried + + libspark: implement cVideo::GetVideoSystemFormatName() + + libspark: implement cVideo::GetVideoSystem() + +2017-10-07 max_10 + + Revert "implement GetVideoSystem" + This reverts commit 23afdef65c2442eeabb4760c274372d86fd065ed. + + Revert "align videomodes" + This reverts commit b66a63553b50b3b0acb79898854e54ab63c7ab21. + + Revert "align videomodes" + This reverts commit 7f9a31d29c903df9913ec5d656c65be424867a17. + +2017-10-07 Stefan Seyfried + + spark/video: add missing O_CLOEXEC to memory fd + + spark/video: implicitly do StopPicture() on CVideo::Start() + This seems to be what the coolstream code does. + TODO: look out for side effects (in radio mode etc...) + + spark: use proc_tools + +2017-10-07 max_10 + + add video_cs.h header to reduce number of #ifdefs needed + +2017-10-07 Stefan Seyfried + + spark: remove dead code from cDemux + + spark: remove videodecoder hack from dmx destructor + + spark: fix race condition in cDemux + cDemux destructor was racing with Read() which did lead to all + sorts of nasty crashes because after poll returned, the dmx object + could be gone and its memory replaced with totally different things. + +2017-10-07 max_10 + + fix cherry-pick + + acinclude: remove unused TUXBOX_APPS_* stuff + + acinclude: remove unused boxtypes + +2017-10-07 Stefan Seyfried + + libspark: implement cVideo::GetVideoSystemFormatName() + + libspark: implement cVideo::GetVideoSystem() + +2017-10-07 max_10 + + Revert "implement GetVideoSystem" + This reverts commit 23afdef65c2442eeabb4760c274372d86fd065ed. + + Revert "align videomodes" + This reverts commit b66a63553b50b3b0acb79898854e54ab63c7ab21. + + Revert "align videomodes" + This reverts commit 7f9a31d29c903df9913ec5d656c65be424867a17. + +2017-10-07 Stefan Seyfried + + spark/video: add missing O_CLOEXEC to memory fd + + spark/video: implicitly do StopPicture() on CVideo::Start() + This seems to be what the coolstream code does. + TODO: look out for side effects (in radio mode etc...) + + spark: use proc_tools + +2017-10-06 max_10 + + Merge remote-tracking branch 'tangocash/master' + +2017-10-06 TangoCash + + armbox: make open/close device public + +2017-10-05 max_10 + + Merge remote-tracking branch 'tangocash/master' + +2017-10-05 TangoCash + + re-arrange gstreamer code + + fix audio/video devices + + fix armbox realname + +2017-10-01 TangoCash + + adding 4k video settings for armbox + + fix generic compile + + adding 4k video settings for armbox + +2017-09-26 max_10 + + libarmbox: adjustments + + libarmbox: del libass LDFLAGS + +2017-09-25 max_10 + + libarmbox delete unnecessary code + +2017-09-19 max_10 + + Merge remote-tracking branch 'tangocash/master' + + duplicate entry removed + + libeplayer3: switch off the teletext sub + +2017-09-18 TangoCash + + fix armbox vfd + +2017-09-17 max_10 + + Merge remote-tracking branch 'tangocash/master' + +2017-09-17 TangoCash + + armbox: align to demuxes + + armbox: fix PIG + + fix gst flags + +2017-09-15 max_10 + + cs_api.h: add missing cs_get_chip_type() dummy + + add video_cs.h header to reduce number of #ifdefs needed + +2017-09-14 max_10 + + acinclude: add arm boxtypes + + acinclude: remove unused TUXBOX_APPS_* stuff + + acinclude: remove unused boxtypes + +2017-09-12 TangoCash + + fix armbox frontpanel + + adding armbox + + Merge branch 'master' of github.com:TangoCash/libstb-hal-cst-next + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + +2017-09-01 max_10 + + avoid segfault when ci handler uses the cs_messenger until neutrino has not register it (thx DboxOldie) + +2017-07-28 TangoCash + + modify ac3flags + +2017-07-28 Jacek Jendrzej + + fix compile + + generic-pc/video.cpp dont set output format with negative height size + +2017-07-28 TangoCash + + small fix for gstreamer 1.0 playback + + small fix for gstreamer 1.0 playback + + adding initial support for gstreamer 1.0 + +2017-07-15 Jacek Jendrzej + + fix compile + + generic-pc/video.cpp dont set output format with negative height size + +2017-06-20 TangoCash + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + + fix indents and brackets + +2017-06-20 j00zek + + correct info for dsi87 + + update tuners info + +2017-06-18 TangoCash + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + +2017-06-17 TangoCash + + re-enabled Display Brightness (thx dbo) + +2017-06-09 TangoCash + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal-cst-next + + align videomodes + + align videomodes + + implement GetVideoSystem + +2017-05-31 TangoCash + + small fix for gstreamer 1.0 playback + + small fix for gstreamer 1.0 playback + + adding initial support for gstreamer 1.0 + +2017-05-04 TangoCash + + -playback: fix compiling generic pc + +2017-04-04 TangoCash + + fix generic compile + +2017-03-10 TangoCash + + Merge pull request #2 from Duckbox-Developers/master + fix generic + + fix generic + + Merge pull request #1 from Duckbox-Developers/master + adopt hw_caps + + adopt hw_caps + +2016-11-18 TangoCash + + modify ac3flags + +2016-10-31 max + + Merge pull request #5 from OpenAR-P/duckbox + Enable aac writer and use resmpling for some AAC streams thx Taapat … + +2016-10-31 schpuntik + + Enable aac writer and use resmpling for some AAC streams thx Taapat and technik + +2016-09-29 max10 + + no-stream-info + +2016-09-18 max10 + + Improve CI handling (thx DboxOldie) + +2016-08-13 max10 + + fix ci-logic (thx DboxOldie) + +2016-08-11 max10 + + ci-change-service-bug (thx DboxOldie) + +2016-08-05 max10 + + ci-alc automatically Multi-Decrypt + +2016-07-24 TangoCash + + add support for H265 supplemental #2 + + add support for H265 supplemental + + add support for H265 + +2016-07-11 max10 + + simplyfi-c* (thx DboxOldie) + +2016-07-08 max10 + + add two-same-cip (thx DboxOldie) + +2016-06-30 max10 + + LocalTV and Entertain-TV streaming + +2016-06-25 max10 + + fix local-tv + +2016-06-20 max10 + + fix ci* **04 + +2016-06-15 max10 + + add channelid-check (thx DboxOldie) + +2016-06-12 max10 + + update for spark uinput + +2016-06-05 max10 + + fix commit 8d6a7f8c3e5cb5c05bf97d603f8f7bf0bf5792b8 + +2016-05-14 TangoCash + + Merge pull request #4 from sid8796/master + add boxmodel hl101 + +2016-05-14 sid8796 + + add boxmodel hl101 + +2016-04-22 j00zek + + fix compilation with ffmpeg 3.0.1 + +2016-04-15 max10 + + re add old calcPts + +2016-04-05 max10 + + fix input avlog thx DboxOldie + +2016-04-03 max10 + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal + + eplayer fix init tectime aac thx DboxOldie + +2016-04-03 TangoCash + + porting cookie.patch to generic + +2016-04-03 max10 + + add cookie.patch thx DboxOldie + +2016-03-26 TangoCash + + fix generic compile + + fix char conversion + + fix last commit + + fix header + +2016-02-24 max10 + + fix spark ca (thx DboxOldie) + +2015-12-05 max10 + + test c** + +2015-12-02 max10 + + test c** + +2015-11-21 max10 + + test c** + +2015-11-20 max10 + + test c** + +2015-11-18 max10 + + test c** + + test c** + +2015-11-16 max10 + + test c** + +2015-11-15 max10 + + test c** + +2015-11-14 TangoCash + + compile fix + +2015-11-13 max10 + + test c** + +2015-11-12 max10 + + test c** + +2015-11-11 max10 + + Merge branch 'master' of github.com:Duckbox-Developers/libstb-hal + + add cuberevo_3000hd (Thx to jaro44) + +2015-11-10 TangoCash + + fix build neutrino without c** + +2015-11-10 max10 + + Adjustment Neutrino + + test c** + + test c** + + test c** + +2015-07-03 TangoCash + + silence debug + +2015-05-08 max10 + + acinclude.m4: fix spark + +2015-05-04 Stefan Seyfried + + libeplayer3: try to fix dynamic linking + Conflicts: + libeplayer3/Makefile.am + libspark/Makefile.am + + Conflicts: + libeplayer3/Makefile.am + +2015-05-04 max10 + + fix libspark/playback_libeplayer3: switch to lt_info/lt_debug + +2015-05-04 Stefan Seyfried + + spark: do not freeze/continue in GetScreenImage() + + fix wrong libtool initialization order + allow to build dynamic libraries (but keep static as default) + + spark: implement GetScreenImage for video and audio + Conflicts: + libspark/video.cpp + + includes: remove *_td.h, we use is *_hal.h now + + libspark/playback_libeplayer3: fix EOF signalling + Conflicts: + libspark/playback_libeplayer3.cpp + + libspark/playback_libeplayer3: switch to lt_info/lt_debug + Conflicts: + libspark/playback_libeplayer3.cpp + + libeplayer3: remove absolute file names + this makes debug output nicer to read for out-of-tree builds + +2015-04-24 max10 + + spark7162 without evremote2 + +2015-04-22 max10 + + fix generic-pc: ffmpeg is deprecated + +2015-04-07 j00zek + + [cuberevo] fix query model logic + +2015-03-31 TangoCash + + stop message flooding + +2015-03-21 j00zek + + [ariva@link200] include in libst-hal + + fix last commit + +2015-03-20 j00zek + + add arvia@link200 & co. + +2015-03-20 max10 + + Revert "AM_SILENT_RULES on" + This reverts commit 8aa0af7e18c166e6224cbfd44bc83e3b9799b843. + +2015-03-17 Stefan Seyfried + + spark: clear video in StopPicture() + this fixes video playback after audioplayer or upnp browser + + Conflicts: + libspark/video.cpp + +2015-03-11 zukon + + add ipbox 9900, 99, 55 + +2015-01-30 max10 + + remove aac is only required with gcc 4.8.3 + +2015-01-27 max10 + + AM_SILENT_RULES on + + add cuberevo mini/250hd + +2015-01-13 max10 + + fix libspark + +2015-01-12 smogm + + fix missing compiler include + + changed raspi to own thread class + + change libeplayer3 to own thread class + + remove unnecessary Makefile.in + + move libthread to libstb-hal + + fix thread namespace + +2015-01-11 smogm + + add changed files + + add mutex and thread abstraction to common files + + add mutex and thread abstraction + +2015-01-03 TangoCash + + implement simple gstreamer_plackback + +2014-12-04 max10 + + fix compiler warning + + fix compiler warning + +2014-12-03 max10 + + Revert "so it is better thx DboxOldie" + This reverts commit 8c7441e14b51e12da19b1a29991554b22800f4c2. + +2014-11-28 max10 + + include/cs_frontpanel.h: fix fp_icon OCTAGON1008 + +2014-11-24 max10 + + test aac + + Revert "test old calcPts" + This reverts commit 3d4245d76df9bb23d2b13c7a01f10b594f81459f. + + Revert "fix commit 3d4245d76df9bb23d2b13c7a01f10b594f81459f" + This reverts commit 3ac6db3b5a929ee515b7046778c2db10e9c2fb8b. + + Revert "disable logging" + This reverts commit 4798ce2517c516868858c1a8db1469be05f19923. + + Revert "so it is better thx DboxOldie" + This reverts commit 4539ca99376335c730701fe46df612e0dc3a47de. + + Revert "test" + This reverts commit 0072b84bcb535283f59d6c8ac883dbbec7d949f6. + +2014-11-20 max10 + + test + +2014-11-12 max10 + + fix include/cs_frontpanel.h + +2014-11-11 max10 + + update include/cs_frontpanel.h + +2014-11-05 max10 + + Revert "Revert "Revert "libspark/record: Implement writer thread. May or may not improve anything.""" + This reverts commit a3ba152ccf0e40eab303a018fb2c7ead7b987556. + +2014-11-02 max10 + + Revert "Revert "libspark/record: Implement writer thread. May or may not improve anything."" + This reverts commit 677776e03a5efc70727838a0bd7b19c09831d5ec. + + Conflicts: + libspark/record.cpp + +2014-10-15 max10 + + update cs_frontpanel.h ufs922 + + update cs_frontpanel.h thx DboxOldie + +2014-10-14 max10 + + so it is better thx DboxOldie + +2014-10-12 max10 + + record bs_dmx = 2mb / bs = 4mb + + disable logging + +2014-10-08 max10 + + fix commit 3d4245d76df9bb23d2b13c7a01f10b594f81459f + + test old calcPts + + add aac.cpp THX DboxOldie + +2014-10-07 TangoCash + + small fix + +2014-10-05 max10 + + update gitignore + +2014-09-29 max10 + + update boxtype + +2014-09-21 TangoCash + + cover support for getmetainfo + + fix timeshift (thx dbo) + +2014-09-16 max10 + + fix include + +2014-09-04 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-08-31 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-08-31 martii + + libspark/playback_libeplayer3: fix multi-program handling + + libeplayer3/manager: use AVDISCARD_NONE instead of AVDISCARD_DEFAULT to disable programs + +2014-08-25 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-08-25 martii + + libeplayer3/h264: partially revert 9112c4d16d05cb96a0ccd39c8fde7b2fa9ba23e9 + + libspark/playback: don't show program selection dialog if audio or video pid is already selected + +2014-08-22 max10 + + fix typo + + Merge remote-tracking branch 'martiis-libstb-hal/master' + Conflicts: + libspark/playback_libeplayer3.h + +2014-08-22 martii + + libeplayer3: implement multi-program support + + libeplayer3/h264: simplify + +2014-07-29 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-07-28 martii + + libeplayer3/input: amend 545732a12b5bec6d93ffe1889a6b169c91d47d3d + +2014-07-27 martii + + libeplayer3/input: disable avformat logging + + libeplayer3/input: don't modify avformat stream id + +2014-07-21 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-07-21 martii + + fix generic compile + +2014-07-19 martii + + libeplayer3/Makefile.am: set AUTOMAKE_OPTIONS = subdir-objects + +2014-07-16 martii + + libeplayer3/writer: minor cleanup, no binary change + +2014-07-07 max10 + + Merge remote-tracking branch 'martiis-neutrino-mp/master' + + Revert "libspark/record: Implement writer thread. May or may not improve anything." + This reverts commit ada3f5e24ae0df499b53f69d761b9ddfcd16aef9. + + Revert "libspark/record: remove debugging output accidently left in" + This reverts commit 55f742271534b6877a7d34630effd6bf2a372cc2. + + Revert "libspark/record: always fill read buffer" + This reverts commit f77184cb685c61a3f91f4c1d017b75231277b709. + +2014-06-29 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-06-29 martii + + libspark/audio: add mixer access methods + +2014-06-28 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-06-28 martii + + libspark/record: always fill read buffer + +2014-06-19 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-06-19 martii + + libeplayer3/player: support bluray urls + +2014-06-08 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + Conflicts: + libspark/record.cpp + +2014-06-08 martii + + libspark/record: remove debugging output accidently left in + + libspark/record: Implement writer thread. May or may not improve anything. + +2014-06-05 max10 + + . + +2014-06-04 max10 + + . + + . + +2014-05-29 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-05-29 martii + + libeplayer3/input: allow access to AVFormatContext + +2014-05-24 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-05-24 martii + + libeplayer3/writer/pcm.cpp: break potential infinite loop + + libeplayer3/input.cpp: filter duplicated messages + + .gitignore: add 'compile' + +2014-05-19 max10 + + update cs_frontpanel.h + +2014-05-03 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-05-03 martii + + libeplayer3/input: no need for alloca() + + libeplayer3/input: fix SwitchVideo (unused, but anyway) + + libspark/hardware_caps: set has_SCART unconditionally + +2014-05-02 martii + + libeplayer3: limit video frame skipping to network streams + + libeplayer3: skip video until first audio frame was found + + libeplayer3: minor adjustments + +2014-05-01 max10 + + [init.cpp] fix spark + +2014-05-01 martii + + libspark: complement vendor ids + + libeplayer3: fix audio switching on already terminated playback + + libeplayer3/writer: add fd to writer class + + libeplayer3/writer: add fd to writer class + + libeplayer3: cleanup AVFormatContext propagation to writers + + libeplayer3/input: fix audio flush packet initialization + +2014-04-30 martii + + libeplayer3/input: stream duration fix + +2014-04-27 max10 + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-04-27 martii + + libspark/init: simplify + + libeplayer3: remove flac writer (now handled by mp3 writer) + + libeplayer3: remove flac writer (now handled by mp3 writer) + + libeplayer3/writer: implement decoder flushing + +2014-04-27 max10 + + add libduckbox + + Merge remote-tracking branch 'martiis-libstb-hal/master' + +2014-04-27 MaxWiesel + + Initial commit + +2014-04-26 martii + + libeplayer3/writer/pcm: remove debug output + + libeplayer3/writer/pcm: move reinit code out of packet loop + + libeplayer3/writer: remove constructors/destructors from writer class + + libeplayer3/Makefile: minor rewrite + + libeplayer3: move calcPts to Input class + + libeplayer3/output: unbreak GetFrameCount() + + libeplayer3/writer/pcm: simplify + + libeplayer3/input: unbreak dvbsub pts calculation + +2014-04-21 martii + + libeplayer3/writer/pcm: cleanup + + libeplayer3/writer/pcm: simplify pts handling + + libeplayer3/writer/pcm: minor adjustments + +2014-04-18 martii + + libeplayer3: minimize debug output + + libeplayer3: fix backward mode + + libeplayer3: use av_rescale for pts calulations + + libeplayer3/input: disable noprobe and retry if probing fails + +2014-04-16 martii + + libeplayer3: minor adjustments + +2014-04-15 martii + + libeplayer3/writer/pcm: unbreak + + libeplayer3/input: don't segv in deconstructor + + libeplayer3: optimizations (untested) + +2014-04-14 martii + + libeplayer3: use uint64_t instead of float/double for position calculations + +2014-04-13 martii + + libeplayer3/output: reset stream variables after Close() + + libeplayer3: minor optimization + + libeplayer3/input: increase probesize + + unbreak generic build + +2014-04-12 martii + + libeplayer3/input: fix AV_CODEC_ID_MP2 usage + + libspark/playback_libeplayer3: no need to check for player + +2014-04-11 martii + + libspark: unbreak timeshift + + libeplayer3 adjustments + + libeplayer3: cast away compiler warning + + libeplayer3: cleanup + + libeplayer3: ffmpeg now provides teletext details in codec->extradata + +2014-04-10 martii + + libeplayer3: cleanup + + libeplayer3: work around duplicate ffmpeg stream ids by comparing stream addresses instead of pids (plus a couple of optimizations) + + libeplayer3/input: rename some variables + + libeplayer3/output: remove redundant videofd check + + libeplayer3/writer: unsigned char => uint8_t + +2014-04-09 martii + + libeplayer3/Makefile: disable debugging flags + + libeplayer3: extend API + +2014-04-08 martii + + libeplayer is now C++, no more need for extern "C" to access Neutrino functions + + libeplayer3: rename player thread + + libeplayer3: change compile options + + libeplayer3: track update: remove redundant teletext pid from return string + + libeplayer3: continue refresh + +2014-04-07 martii + + libeplayer3: cleanups + + libeplayer3: rename files + + libeplayer3: remove debug.h + + libeplayer3: merge Playback to Player class + + libeplayer3: implement Playback and Input classes + + libeplayer3: implement Playback and Input classes + +2014-04-06 martii + + libeplayer3: implement Manager class + + libeplayer3: rename linuxdvb.cpp => output.cpp + + libeplayer3: implement Output class + + libeplayer3: eliminate intermediate output layer + + libeplayer3: rename common.h => player.h + + libeplayer3: rename common.h => player.h + + libeplayer3: rename Content_t => Player + + libeplayer3: remove unused code + + libeplayer3: implement Writer class + +2014-04-05 martii + + libeplayer: simplify writer/pcm + + libeplayer3: remove writeReverseData (unused) + + libeplayer3: cleanup pcm writer + + libeplayer: cleanup writers + + libeplayer3: unbreak ipcm + + libeplayer3: let writers use AVPacket + + libeplayer3: c++ adjustments + + libeplayer3: rename to c++ + + libeplayer3: delete include/aac.h (unused) + + libeplayer3: remove wmv version (unused) + + libeplayer: remove inject_raw_pcm (unused) + + libeplayer3: move audio resampling to dedicated ipcm writer + + libeplayer3: move width/height/framerate/timescale calculation to writers + + libeplayer3: change extradata handling + + libeplayer3: remove writer/wma.c and writer/aac.c (handled by ffmpeg instead) + + libeplayer3: make ffmpeg data available to manager, output and writer + + libeplayer3: cleanup types + + libeplayer3: remove tools + + libeplayer3: remove tools + +2014-04-03 martii + + libeplayer/container_ffmpeg: switch to ffmpeg 2.0 API + +2014-03-26 martii + + libeplayer3/container_ffmpeg: remove latestPts variable + +2014-03-23 martii + + libeplayer3: more cleanups + + libeplayer3: remove no longer needed teletext output handling + + libeplayer3: change teletext handling to directly inject packets in tuxtext + + libeplayer3: cleanup unused code + + libeplayer3/container_ffmpeg: fix seek bitrate calculation + +2014-03-22 martii + + libspark/hardware_caps: recognize dvfd [untested] + + libeplayer3/container_ffmpeg: don't set pts if audio-only + + libeplayer3: initalize AVSubtitle + + libeplayer3: remove debugging output; abort if neither an audio nor a video stream is available + +2014-03-21 martii + + cleanup + + libeplayer3: remove subtitle.h + + libeplayer3/container_ffmpeg: drop subtitle.h include + + libeplayer3: cleanup + + libeplayer3: subtitles will now be displayed by neutrino + +2014-03-16 martii + + fix generic-pc + + libeplayer3: let neutrino handle bitmap subtitles + +2014-03-09 martii + + eplayer3: fix playback termination handling + + eplayer3: fix playback termination handling + +2014-02-28 Stefan Seyfried + + update ca.h to currently used interface + + include/mmi: fix spelling (but keep compatibility) + +2014-01-20 martii + + [spark] video: change psi settings on demand only + +2014-01-19 martii + + [spark] fix setting psi controls + + libeplayer3/libspark: cPlayback: implement retrieval of metadata + +2014-01-18 martii + + libeplayer3/container_ffmpeg: fix metadata access + +2014-01-12 martii + + rename cPlayback::isPlaying() => cPlayback::IsPlaying() + +2014-01-11 martii + + libspark/video: indent, no binary change + +2013-12-28 martii + + libeplayer3/playback: fix seeking/neutrino bookmarks + +2013-12-28 Stefan Seyfried + + sync seife + + libspark: add missing unistd.h includes for gcc 4.7+ + +2013-12-23 martii + + libeplayer3, libspark/playback_libeplayer3: chapter support + +2013-12-17 martii + + libeplayer3/container_ffmpeg: only log ffmpeg errors at debug_level > 10 + +2013-12-15 martii + + libeplayer3/container_ffmpeg: don't modify AVPacket internals (I don't believe this actually hurts, but better safe than sorry) + + libeplayer3/linuxdvb: reduce debug spam + +2013-12-11 martii + + libspark/playback: speed up abort + +2013-12-09 martii + + libeplayer3: cleanup, indent + + libeplayer3: fix audio recoding, yt aac stuttering should be gone now + +2013-11-28 martii + + tools/spark_fp: add flashing period option + +2013-11-23 martii + + libeplayer3/playback: disable debugging output + +2013-11-22 martii + + libeplayer3/ffmpeg: minor cleanup + +2013-11-21 martii + + fix last commits + + libeplayer3: run through indent, no binary change + + libeplayer3/container: fix compiler warning + + libeplayer3/ffmpeg: rearrange seeking code + + libeplayer3/ffmpeg: don't initialize container if context already exists + +2013-11-19 martii + + libeplayer3: fix seeking + + libeplayer3/ffmpeg: add 3gp and ogm extensions + +2013-11-17 martii + + libeplayer3: modify fast-backward + +2013-11-13 martii + + tools/spark_fp: add option for enabling/disabling icons + +2013-11-11 martii + + libspark/audio, libeplayer3: audio type adjustments + +2013-11-04 martii + + libstb-hal/libspark/playback: add method for retrieving read-count + +2013-11-03 martii + + libspark/playback: add more player checks + + libspark/playback: SuspendSubtitle: check for player being valid + +2013-11-02 martii + + libeplayer3: speed up termination + + unbreak generic-pc build + + libspark/player, libeplayer3/ffmpeg: improve termination handling + +2013-10-31 martii + + libspark/player: use int instead of short in some places + +2013-10-30 martii + + libspark/audio: align to player2 + +2013-10-29 martii + + libspark/audio: add EAC3 support + +2013-10-21 martii + + Revert "libspark/video: enable/disable analogue output when leaving/entering standby mode (experimental and untested)" + This reverts commit 8062db23873d0dd4035cfed8b84592390effc26a. + +2013-10-20 martii + + libspark/video: enable/disable analogue output when leaving/entering standby mode (experimental and untested) + +2013-10-12 martii + + libeplayer3/ffmpeg: minor cleanup + +2013-10-06 martii + + Merge remote-tracking branch 'seife/master' + + sync with seife + +2013-10-05 Stefan Seyfried + + add skeleton for Raspberry Pi support + no audio / video decoding, yet :-( + + add set_threadname function + +2013-10-05 martii + + libspark/playback_libeplayer3: fix GetPts() + +2013-10-03 martii + + libspark/audio: always use /proc/stb/avs/0/volume to set volume + +2013-09-28 Stefan Seyfried + + spark: implement stuff needed for PIP + note that this does now work well at least on st7162 and thus is not + really tested. + + cVideo: add dummy functions for PIP stuff + +2013-09-22 Stefan Seyfried + + azbox: remove unneeded hacks from cVideo + + azbox: add cDemux hack to avoid segfaults/corruption + + azbox: adapt cDemux to latest drivers + + azbox: adapt cAudio to latest drivers + +2013-09-21 Stefan Seyfried + + azbox: add O_CLOEXEC to open() + +2013-09-15 martii + + unbreak generic-pc build + +2013-09-06 martii + + [SPARK] cVideo::ShowPicture: add optional argument for destination m2v + +2013-08-18 martii + + libspark/playback_libeplayer3: assume that libeplayer3 can handle arbitrary URLs + + libeplayer3/playback: convert mms urls to mmst instead of rtsp + + libspark/hw_caps: check vfd version first (needed to discriminate between Pingulux and Pingulux Plus) + +2013-08-16 martii + + libeplayer3/manager: initialize track IDs + + libeplayer3: tracks update is now lock-free + + libeplayer3/container_ffmpeg: mutex fix + +2013-08-15 martii + + libeplayer3/wmv: revert to (almost) original version + +2013-08-14 martii + + libspark/audio_mixer: don't try to free() stack-allocated snd_mixer_selem_id + +2013-08-11 martii + + libspark: implement SetColorFormat() + +2013-08-06 martii + + libspark/dmx.cpp: print pid if addPid fails + +2013-08-04 martii + + libeplayer/text_srt: minor optimization + + libeplayer3: drop non-shared framebuffer support + + libeplayer3: unbreak srt subs + +2013-08-02 martii + + revert 286675f430d530108eed8a3b6051895618ae4e06 + + libeplayer3: divx fix + + libeplayer3: cleanup + + libeplayer3: vc1, wmv: use InsertPesHeader for initial PES headers, too + +2013-08-01 martii + + libeplayer3/output/writer/: remove PesHeader memset (both wrong and unneeded) + +2013-07-29 martii + + libeplayer3 optimizations + +2013-07-28 martii + + libeplayer3/container_ass: cosmetics + + libeplayer3/container_ffmpeg: cleanup + + libeplayer3/writer/framebuffer: small optimization + + generic-pc build fix + + libeplayer3/container_ass: set thread name + + libeplayer3/pcm: cleanup + + libeplayer3/pcm: minor clean-up, no code change + + Fix libeplayer3's broken PCM injection implementation. Jumps in movieplayer now works without losing a/v sync. + +2013-07-27 martii + + libeplayer3/container_ffmpeg: don't flush instead of clear + + libeplayer3: use uint32_t for frame buffer access + + libeplayer3/continer_ass: crude hack to improve subtitle readability + + libeplayer3/subtitles/spark: use backbuffer and blit + +2013-07-26 martii + + libeplayer3/container_ass: font size adjusted + + libeplayer/playback: disable subtitle init hack + + libeplayer3/subtitle: reduce debugging level + + libeplayer3: initial attempt to unbreak ass/ssa subtitles + +2013-07-24 martii + + libeplayer/linuxdvb: cleanup + + libeplayer3/containter_ffmpeg: fix track update + +2013-07-23 martii + + libeplayer3/container_ffmpeg: no need for copying the input packet + + libeplayer/container_ffmpeg: subtitle fix + +2013-07-22 martii + + libeplayer3/container_ffmpeg.c: re-order packet.data check (not sure whether this is needed at all) + +2013-07-21 martii + + libeplayer/container_ffmpeg: correct misplaced brackets + + libeplayer3/container_ffmpeg: initialize stream ids, if unset + + libeplayer3/container_ffmpeg: av_samples_alloc: use actual number for channels + + libeplayer3/container_ffmpeg: align av_samples_alloc buffer + + libeplayer3/container_ffmpeg: fix mono->stereo conversion + + libeplayer/container_ffmpeg: audio pts fix + +2013-07-20 martii + + libeplayer3: remove outdated include/stm_ioctl.h + + container_ffmpeg: flush streams immediately after seek + +2013-07-19 martii + + libeplayer3: cleanup + + libeplayer: reduce debugging output + + h264: don't mess with packet length + +2013-07-14 martii + + libeplayer3/h264: unbreak + + libeplayer3/container_ffmpeg: No attributes needed for mutex init + + libeplayer3 cleanup + + libeplayer3/h264 cleanup + + libeplayer3: experimental h.264 playback fix + + libeplayer3: cleanup + +2013-07-12 martii + + libeplayer3: use actual pids instead of indexes + +2013-07-10 martii + + ffmpeg-2.0 + +2013-07-07 martii + + libeplayer3/container_ffmpeg: revert swr_next_pts call + + libeplayer3: minor changes + + libeplayer3: re-enable audio after seeking (still broken) + +2013-07-06 martii + + libeplayer3: need to call avcodec_free_frame after swresample, too + +2013-06-27 martii + + libspark/hardware_caps: lie for Pingulux SCART support + +2013-06-26 martii + + libspark/playback_libeplayer3: no need for alloca() + +2013-06-20 martii + + libspark: experimental pip changes (doesn't work; needs driver support) + +2013-06-19 martii + + sync with seife + +2013-06-16 Stefan Seyfried + + modernize configure.ac and Makefile.am + autoconf-1.13 has new warnings, silence them by updating + the buildsystem + + cPlayback: add new API functions for DVD chapter/subtitles + right now these are mostly dummies... + +2013-06-13 martii + + libeplayer3: the mp3 handler can easily take care of vorbis data, too. + +2013-06-10 martii + + libeplayer3: vorbis can easily be handled by the mp3 writer + + libeplayer3/h264: disable debugging + + libeplayer3: get rid of compiler warnings + + libeplayer3: drop legacy ffmpeg support + + libeplayer/h264: Fix playback. + +2013-06-08 martii + + cleanup + + libeplayer3: deactivate debugging + + libeplayer3: cleanup + + libeplayer3: further malloc-memcpy-write -> writev replacements; not fully regression tested + + libeplayer3/h264: replace malloc/memcpy/write with writev + +2013-06-07 martii + + ShowPicture: revert API change + + libeplayer3: drop buffering code due to crashes + + libspark/playback: youtube URLs are easily longer than 400 bytes + +2013-06-01 martii + + sync + +2013-06-01 Stefan Seyfried + + generic-pc: implement cDemux::getSTC() + + generic-pc: increase video and audio demux buffer + + cDemux: fix error reporting vor video, audio, ... channels + + generic-pc: help finding missing blit() calls + + generic-pc: improve decoder info messages + + generic-pc: silence decoder threads output + + generic-pc: implement cAudio::getAudioInfo() + +2013-06-01 martii + + replace libavresample with libswresample + +2013-06-01 Stefan Seyfried + + generic-pc: add audio sample conversion + ffmpeg audiodecoders after version 1.1 deliver audio samples in planar + formats by default instead of packed as before. Additionally, the AC3 + decoder delivers now in planar float. + Use libswresample for sample format conversion, this will work with old + (where it hopefully does nothing) and new ffmpeg versions. + Later on, also sample rate and channel layout conversion could be + implemented if desired. + Tested with ffmpeg versions 1.0.6 and 1.2.1. + +2013-06-01 martii + + generic-pc/glfb: use r/g/y/b keys as additional color keys + +2013-06-01 Stefan Seyfried + + fix library declarations for libtool + +2013-06-01 martii + + generic-pc: fix audio (2nd try) + +2013-05-31 martii + + generic-pc: fix audio + + copy api changes from spark to generic + +2013-05-27 martii + + Merge remote-tracking branch 'seife/master' + +2013-05-27 Stefan Seyfried + + configure: specify the needed ffmpeg versions + + generic-pc: add Pig function to cVideo / GLFB + + generic/glfb: add a few keys to F5-F8 + +2013-05-26 Stefan Seyfried + + generic-pc/video: implement getScreenImage (experimental) + + generic-pc/video: reuse swscale context + +2013-05-26 martii + + revert audio_mixer changes + + libspark/audio_mixer: load alsa-lib temporarily only (fix) + + libspark/audio_mixer: load alsa-lib temporarily only + + Merge remote-tracking branch 'seife/master' + +2013-05-25 Stefan Seyfried + + triple: fix compile breakage in video.h + + video: ensure VIDEO_STD_MAX is big enough + +2013-05-25 martii + + libspark/video: use VIDEO_STILLPICTURE with NULL pointer to blank screen + + libspark/video: ShowPicture: fix malloc size + + Merge remote-tracking branch 'seife/master' + + libspark/video: add missing newline + + libspark/video: ShowPicture: use VIDEO_STILLPICTURE + +2013-05-24 Stefan Seyfried + + generic-pc: add audiplayer support to cAudio + + generic-pc: implement cVideo::ShowPicture() + + generic-pc: without decoding, no PCR demux is needed + +2013-05-18 martii + + libspark/video: ShowPicture: add flag to indicate that input file is already m2v and doesn't need to be converted + +2013-05-10 martii + + cleanup + +2013-05-10 Stefan Seyfried + + generic-pc: allow to disable softdecoder for debugging + + demux: define MAX_DMX_UNITS (not yet used) + + acinclude: fix variable expansion issues + + configure: silence automake warnings + +2013-05-06 martii + + sync + +2013-05-06 Stefan Seyfried + + GLFB: remove unused 3D cube code + + GLFB: slightly better fullscreen handling + + GLFB: hide mouse cursor + +2013-05-05 Stefan Seyfried + + cRecord: fix compiler warning (type mismatch) + + generic-pc: use HD framebuffer resolution + Use 1280x720 instead of 720x576 as default. The resolution + can be changed via the environment variable GLFB_RESOLUTION. + + generic/cVideo: implement setAspectRatio / setVideoSystem + + GLFB: implement missing functions + * output format (screen size) setting + * aspect ratio setting + * cropping, scaling (letterbox/panscan) + * full screen mode (experimental, hit "f" key) + * add EPG key ("e") + +2013-05-04 martii + + Merge remote-tracking branch 'seife/master' + +2013-05-04 Stefan Seyfried + + GLFB: add a few sanity checks for sleep interval + + GLFB: fix X window at 16:9 aspect ratio + + GLFB: add video aspect ratio handling + + generic-pc/video: improve video decoder + * add aspect ratio reporting + * "correct" buffer PTS by 300ms for better AV-Sync with MPEG2 + * remove unneeded stuff + + generic-pc/glfb: add some sort of A/V synchronization + + generic-pc/audio: initialize curr_pts + + generic-pc/dmx: route audio and video to the SW decoders + + generic-pc: initialize GL framebuffer in init() + + generic-pc: add openGL based framebuffer implementation + + generic-pc: add somewhat working video decoder + + generic-pc: add somewhat working audio decoder + + acinclude: fix for pkg-config 0.28 behaviour + Old pkg-config always retured a non-empty string for --cflags. + It always contained at least one bogus space. New pkg-config + does not do that. Do not rely on --cflags being non-empty. + +2013-04-11 martii + + libeplayer reverse play: experimental adjustment to find previous I-frame + +2013-04-10 martii + + libeplayer3: fix segv + +2013-04-01 martii + + eplayer3: subtitle fixes + +2013-03-31 martii + + crude hack for movieplayer tuxtxt integration + +2013-03-30 martii + + libspark: drop irmp + + libspark/playback_libeplayer3: initialize return values + +2013-03-29 martii + + teletext handling changes + +2013-03-25 martii + + libeplayer3: dynamically update pid list + + Merge remote-tracking branch 'seife/master' + +2013-03-24 Stefan Seyfried + + spark: tone down two dmx messages to debug + +2013-03-22 martii + + adapt Pig() to blitter-based OSD border + +2013-03-18 martii + + libeplayer3/playback_libeplayer3: change noprobe handling + +2013-03-17 martii + + libeplayer/container_ffmpeg: use injected PCM for raw PCM, too + +2013-03-16 martii + + libeplayer3/container_ffmpeg: handle .wtv extensions, too + + libeplayer3/container_ffmpeg: fix WMA playback + +2013-03-10 martii + + libeplayer3: add callback to abort avformat_open_input + +2013-03-09 martii + + libeplayer3/container_ffmpeg: cleanup + + libeplayer3/container_ffmpeg: cleanup + + libeplayer3: merge buffered IO code from TDT; implement proper audio resampling + +2013-03-04 martii + + libeplayer3/container_ffmpeg: minor cleanup + + Merge remote-tracking branch 'seife/master' + + libeplayer3/container_ffmpeg: no need to scale the buffer + +2013-03-03 Stefan Seyfried + + triple: avoid a crash in cPlayback destructor + +2013-03-03 martii + + libeplayer3: this may improve recovery from broken streams + + Merge remote-tracking branch 'seife/master' + + libeplayer3: switch back to software decoding for AAC; crude fix for PCM injection (newer ffmpeg versions return floats instead of shorts), injected PCM streams (OGG, for example), will now work again. I'd be grateful if anybody with a deeper understanding of the FFMPEG API would supply a cleaner fix ... + +2013-03-02 Stefan Seyfried + + triple: fix wrong length in cDemux::sectionFilter() + +2013-02-26 martii + + libeplayer: set 65535 as maximum PES length + + libeplayer: assume unlimited PES length for too large packets + + libspark/playback: let GetPosition return false on EOF + +2013-02-24 martii + + sync with seife + +2013-02-24 Stefan Seyfried + + spark: fix compiler warning in cVideo + + implement cDemux::GetSource() + + cDemux: fix removePid / pesfds usage + + cDemux: add copyright header + + cDemux::sectionFilter: fix invalid length calculation + + spark_fp: add options for setting led status + from git://gitorious.org/~martii/neutrino-hd/martiis-libstb-hal.git + + libspark/hw_caps: add more stb ids + from git://gitorious.org/~martii/neutrino-hd/martiis-libstb-hal.git + +2013-02-24 martii + + libspark/hw caps: add 7111 stb ids + + libspark/hw_caps: add more stb ids, add boxtype + + pic2m2v: remove verbosity level from ffmpeg due to incompatibility with the 0.8 branch + +2013-02-22 martii + + remove untested code for 7162 support + +2013-02-12 martii + + hardware_caps: set CEC flag for SPARK + +2013-02-11 martii + + hwcaps: add fe_offset_max for spark + +2013-02-08 martii + + spark_fp: augment usage output + + spark_fp: add support for setting aotom hotkeys + +2013-02-03 martii + + spark_fp: small fix + +2013-01-30 martii + + sync with seife + +2013-01-28 martii + + fix spark_fp usage + +2013-01-27 martii + + spark_fp: fix last patch, no binary change + + spark_fp: re-added disabled code, no binary change + + add support for sane aotom power-off from graugans, see http://www.dbox2-tuning.net/forum/viewtopic.php?f=69&t=50261 and corresponding driver/kernel patches + +2013-01-25 graugans + + fixed the debug output to match the correct device + +2013-01-23 Stefan Seyfried + + libtriple: fix measurement demux speed + + libtriple: fix neutrino streamdev + +2013-01-17 martii + + libeplayer3: experimental fixes + +2013-01-13 Stefan Seyfried + + video_td.h: add compat define for SCREENSHOT + +2013-01-13 martii + + rename hwcap variable + +2013-01-13 Stefan Seyfried + + triple: add a sanity check to cVideo::GetScreenImage + +2013-01-12 Stefan Seyfried + + triple: implement cVideo::GetScreenImage + +2012-12-26 martii + + hwcaps: use FE_OFFSET environment variable + +2012-12-17 martii + + revert volume calculation to original implementation + +2012-12-16 martii + + libspark: work around driver bug + +2012-12-09 martii + + libspark/pwrmngr: don't fall-back to default cpu frequency + +2012-12-08 martii + + add dmx offset to hw-caps + +2012-12-01 Stefan Seyfried + + deuglify library build + * build intermediate libraries for each subdirectory + * link those libs in main directory instead of single objects + * ugly hack in configure.ac to disable dynamic lib for now + +2012-11-24 Stefan Seyfried + + azbox: handle rmfp_player failures/features more graceful + +2012-11-21 Stefan Seyfried + + azbox: disable video output on standby + + atbox: make cDemux more robust + * workaround hanging Read() if frontend loses and regains lock + * set DMX_ONESHOT for TDT and TOT sections + (this is the same as commit fe7b385660 for spark) + +2012-11-18 Stefan Seyfried + + azbox: mostly rewrite cPlayback rmfp_player wrapper + * use the file based /tmp/rmfp.{cmd2,in2,out2} interface instead + of the previously used FIFOs, this seems more reliable + * convert code to lt_debug/lt_info infrastructure + +2012-11-16 Stefan Seyfried + + azbox: rework cPlayback rmfp_player wrapper + it now actually plays something, but will need more love + + lt_debug: add HAL_* constants to allow renaming + +2012-11-14 martii + + libspark/playback_libeplayer3: treat rtmp/mms as http stream + +2012-11-12 martii + + libeplayer/playback: initialize length to -1 + +2012-11-11 Stefan Seyfried + + add pic2m2v for bulk-creating the still-mpegs + +2012-11-10 martii + + libeplayer3 fix + +2012-11-09 martii + + libeplayer3: check for valid avContext pointer + +2012-11-06 martii + + improve subtitle handling + +2012-11-04 martii + + sync + + libspark/libeplayer: rudimentary subtitle support, probably unstable + +2012-11-03 martii + + fix red led recording state + +2012-11-03 Stefan Seyfried + + libeplayer3: sync with tdt git commit 06fe782fd6 + This ports this commit: + Author: Matthias + Date: Fri Oct 26 19:54:46 2012 +0200 + + [libeplayer3] enable wav payback (16 bit le) + +2012-11-01 martii + + libspark: fix volume-to-/proc/stb/avs/0/volume mapping + +2012-10-27 martii + + get rid of most compiler warnings + + enable wav payback (16 bit le) (from TDT, thanks hellmaster1024) + +2012-10-12 martii + + sync + +2012-10-12 Stefan Seyfried + + cRecord: fix last commit + + adapt cRecord API to coolstream changes + +2012-10-09 martii + + Merge remote-tracking branch 'seife/master' + +2012-10-08 Stefan Seyfried + + add implementation for boxtype "generic" + This is mostly a dummy implementation except for the dmx class which + should be working. It is intended for testing on PCs with budget + DVB cards which don't have a decoder anyway. + +2012-10-04 martii + + libeplayer3: disable noprobe hack + + sync + +2012-10-04 Stefan Seyfried + + spark: speed up playback start for PLAYMODE_TS + + libeplayer3: fix invalid free() + according to the man pages.... + * dirname() can not return NULL + * the pointer returned by dirname must not be free()d + * strdup() can return NULL + +2012-10-03 Stefan Seyfried + + libeplayer3: sync with tdt git commit fed2a419dc + + libeplayer3: add hack to decrease libavcodec probe size + almost disable the libavcodec format probing when using + "myts://" instead of "file://" urls to improve startup speed + for timeshift etc + +2012-10-01 martii + + sync + +2012-09-29 Stefan Seyfried + + spark: add demuxer init hack + +2012-09-22 martii + + merge + +2012-09-22 Stefan Seyfried + + spark: make cDemux more robust + * workaround hanging Read() if frontend loses and regains lock + * set DMX_ONESHOT for TDT and TOT sections + + spark: let cRecord use the demux passed as parameter + + spark: make cDemux multi-tuner compatible + ...which is more complicated than it seems at first glance, due + to the restrictions of the sh4 pti driver... + +2012-09-18 martii + + spark input device handling: add function for reopening + + Merge remote-tracking branch 'seife/master' + +2012-09-16 Stefan Seyfried + + spark: improve hardware_caps detection + +2012-09-15 Stefan Seyfried + + add hardware_caps header + First version of a "hardware capabilites information" struct. + This is intended to help clean up the mess in the neutrino GUI. + Surely needs some more work and ongoing changes + +2012-09-12 martii + + add VFDGETVERSION support + +2012-09-11 Stefan Seyfried + + spark_fp: add option to find out the frontpanel type + this needs my latest patched aotom driver again... + +2012-09-05 martii + + audio_mixer: correct conversion + + spark: add volume control for alsa mixer + +2012-08-31 martii + + eplayer3 h263 fix + +2012-08-16 martii + + cast sizeof to signed to avoid compiler warning + + Merge remote-tracking branch 'seife/master' + +2012-08-13 martii + + fix indent + +2012-08-12 martii + + libspark/video.cpp: I tend to believe that comparing signed and unsigned would break for st.st_size < 4 + +2012-08-04 martii + + libeplayer3: add support for teletext and dvbsubtitle streams + +2012-07-29 Stefan Seyfried + + cDemux: add dummy SetSource() for coolstream compatibiliy + + ca.h: add dummy functions to sync up with libcoolstream + libcoolstream has added the functions SendCAPMT(), GetCAIDS() and + SetTSClock(). Add stubs to get compatibility. + +2012-07-28 Stefan Seyfried + + correctly declare AVSYNC_TYPE + +2012-07-27 martii + + fix some movieplayer issues + +2012-07-21 martii + + libeplayer3: sync with tdt + + libspark/record.cpp: user configurable buffer sizes + +2012-07-15 martii + + Merge remote-tracking branch 'seife/master' + +2012-07-15 Stefan Seyfried + + spark,azbox: make demux FD nonblocking + ...except for DMX_PSI_CHANNEL, which does not seem to expect that. + +2012-07-14 Stefan Seyfried + + azbox: reset PIG during videodecoder init + + triple: implement cVideo::getBlank() + another hack :-) make the "blank" still-mpg 24fps and then check in + getBlank() if the framerate is still 24fps, which means that no video + has been decoded since blanking + +2012-07-14 martii + + spark_fp: add options for setting led status + + spark_fp: add options for setting led status + +2012-07-14 Stefan Seyfried + + triple: add necessary locking for inbuf_pos in cPlayback + +2012-07-13 martii + + spark record: set dmx to non-blocking mode, change buffer size + + video_lib.h header adapted to match one of the previous changes + + input handling: copy input data from secondary devices to the main rc device + + spark powermanager: SetCpuFreq now actually does what its name says + + spark video: implement SetControl + + spark dmx: less debugging output; set buffer size + + spark audio: add support for channel specific volume + + spark_fp: don't touch LEDs on shutdown + + support newer ffmpeg versions + +2012-07-05 Stefan Seyfried + + spark: implement cVideo::getBlank() + this is a hack: the "mailbox" irq count does not increase if the + decoders are not decoding, so we use this to determine if the + video is in really playing. + +2012-06-24 Stefan Seyfried + + azbox: fix values in cVideo::SetVideoSystem + + azbox: fix cVideo::setBlank + the (VIDEO_STOP,1) ioctl does not blank video, so write a + black still-mpeg into the decoder to blank the display, + (similar to the tripledragon code) + + azbox: split up cVideo::ShowPicture + create a new show_iframe function which just gets the + still-mpeg data passed from ShowPicture + + azbox: fix cAudio::do_mute + + create common proc_tools + proc_put, proc_get and proc_get_hex are used in many files. + Avoid duplication by moving them to common/proc_tools.c. + Convert azbox's cVideo to use proc_tools.h + + azbox: fix cVideo::ShowPicture + +2012-06-23 Stefan Seyfried + + azbox: implement cVideo::getBlank + + azbox: improve cVideo::setAspectRatio + + azbox: terminate string in video/proc_get + +2012-06-18 Stefan Seyfried + + first preliminary AZzbox ME support + TODO: some code is very similar to SPARK (record and pwrmngr + are just symlinked, dmx is almost identical). Reduce duplication + by factoring out DVBAPI code into an extra directory. + * what works: audio, video, demux + * what probably doesn't work or is untested: record + * what very likely doesn't work: playback + Playback is just copied over from aztrino and made to compile. + If you are lucky, it just segfaults :-) + + fix build after cCA move... + + move dummy cCA implementation to commmon/ directory + +2012-06-08 Stefan Seyfried + + spark: fix framerate from cVideo::getPictureInfo() + + spark: implement cVideo::SetSyncMode() + inspired by evolux, but much simpler + + spark: fix invalid initialization order in cVideo + (how could this ever work? no idea). Found in evolux patches. + + spark: implement AC3 passthrough on SPDIF and HDMI + Note: untested (no hardware). AC3 on HDMI will only work if + AC3 on SPDIF is also selected. + + spark: fix invalid debug in cAudio::PrepareClipPlay + + spark: add (and use) proc_put() to audio.cpp + +2012-05-01 Stefan Seyfried + + spark_fp: improve wakeup time for short timeouts + +2012-04-15 Stefan Seyfried + + spark: add spark_fp tool + this needs my patched aotom driver to work + + use crosscompile-friendly AC_PATH_TOOL to find pkg-config + +2012-04-14 Stefan Seyfried + + spark: add 1080p50 videomode (needs neutrino fix) + +2012-04-08 Stefan Seyfried + + libeplayer3: silence a seemingly harmless warning + + spark: improve libeplayer3 playback for timeshift + * open output only when really starting playback, just pause + videodecoder before, so that still picture on timeshift works + * adapt to strange neutrino calling conventions, so that jump-on- + start works for pause -> play -> stop (live) -> pause again + sequence for timeshift works + TODO: the startup for H264 timeshifting is too slow, needs + improvement + + spark: add hack to simulate the timeshift file length + + spark: make cRecord more error resilient + * use aio to improve things for slow recording media (heavily loaded + NFS server for example) + * in case of a buffer overflow, don't stop the recording but simply + drop a buffer + A proper aio implementation would involve multiple buffers that could + be queued in paralled, but that's much more complex, so let's see if + the current code works out well enough. + +2012-04-05 Stefan Seyfried + + spark: temporary (for testing) map "auto" video mode to 1080p50 + +2012-04-01 Stefan Seyfried + + spark: return true for EOF in cPlayback::GetPosition + + spark: set new videomode only if it differs from current + + spark: fix getAspectRatio and getPictureInfo in MP mode + +2012-03-30 Stefan Seyfried + + triple: fix TODO in cVideo::ShowPicture() + rebuild the MPEG stillpicture if the source jpeg has changed + additionally check for zero sized m2v from broken ffmpeg versions + (the same as commit ee1a408f9b on spark) + +2012-03-25 Stefan Seyfried + + triple: improve DFB->uinput routines + * use kernel input device repeat instead of generating selfmade + repeat events, this allows using input device rate settings + * add frontpanel left/right buttons, their keycodes differ from + the rc buttons + +2012-03-17 Stefan Seyfried + + spark: do not start IRMP thread if lircd is running + This will provide a smooth switchover to using LIRC instead of IRMP: if + the lircd is running (pidfile present), don't start the input thread. + Neutrino will use the LIRC-created uinput device instead. + +2012-03-08 Stefan Seyfried + + audio: add new enums for HDMI + +2012-03-07 Stefan Seyfried + + dmx: fix web streaming by allowing PID 0 for pesFilter() + + spark: compensate for differing AC3/MPEG volume + Maybe the 30/53 formula neeeds some tuning, we'll find out... + +2012-03-06 Stefan Seyfried + + triple: fix audio mute state after fast-forwarding in playback + + libtriple: implement option to keep LCD backlight on in standby + Based on an idea by Kim Danielmeier, keep the backlight on if + TRIPLE_LCDBACKLIGHT environment variable is set. + +2012-02-26 Stefan Seyfried + + libeplayer3: get rid of __FILE__ for shorter logmessages + + spark: work around neutrino's sectionFilter() usage + It seems like most of the times, timeout == 0 means "use the default + timeout". However, at least with the sectionsd eit update filter and + the PMT version update filter, timeout == 0 means really "no timeout" + alas "infinite". Work around this by using the default timeout only + if no negative filtermask is given. + This fixes the "EPG on program change" (and PMT update probably, too). + +2012-02-25 Stefan Seyfried + + spark: more workaround for driver bugs in cVideo + + spark: use ioctls instead of procfs in cVideo::getPictureInfo + + spark: improve cVideo::Pig() + + spark: improve cVideo::ShowPicture() + * don't clear stillpicture on radio channel change + * don't show stillpicture in standby + + spark: make cVideo::openDevice() more robust + we sometimes seem to get EBUSY when opening the video device + directly after close() - retry for half a second to get it opened + + libspark: fix cAudio::do_mute() + + spark: fix TODO in cVideo::ShowPicture() + rebuild the MPEG stillpicture if the source jpeg has changed + additionally check for zero sized m2v from broken ffmpeg versions + + spark: implement cAudio::SetSyncMode + + spark: make cVideo::Standby more robust + There are a few glitches in the framebuffer driver we need to work + around. For now, let's: + * close and reopen the video device when going in / out of standby + * only enable HDMI when coming out of standby + Additionally, don't call Standby() when shutting down neutrino. + + spark: only reopen decoders in cPlayback::Close if we closed them + + spark: make cVideo::SetVideoSystem more robust + in order to not run into driver locking issues, stop video decoding + before setting the video system and restart afterwards + + spark: cVideo::SetVideoMode ignore irrelevant modes + + spark: make cVideo::openDevice ignorem ultiple calls + + spark: fix invalid debug calls + + debug: enable printf format checking for lt_debug + +2012-02-23 Stefan Seyfried + + spark: partly implement cVideo::Standby() + + spark: implement cVideo::SetVideoMode + this should add rudimentary support to get SCART output working + + spark: use ioctl instead of /proc to get video format + + spark: disable HDMI before switching mode in cVideo::SetVideoSystem + this seems to greatly improve reliability - it looks like there is + a locking problem somewhere in the framebuffer driver :-( + + spark: remove unused cVideo() functions + +2012-02-22 Stefan Seyfried + + spark: implement cVideo::SetVideoSystem() + + spark: silence irmp debugging messages after last merge + +2012-02-21 Stefan Seyfried + + spark: fix IR remote address after IRMP update + + spark: update IRMP code from upstream + This updates the IRMP code to version Version 2.1.1 (SVN rev 89). + Important changes are: + * added GRUNDIG2 protocol + * fixed bug when switching from nec42 to nec protocol + * corrected timing for samsung/samsung32 protocol + * added genre bits for kaseikyo + Especially the NEC protocol fix affects us since it changes the + decoded address! + +2012-02-18 Stefan Seyfried + + libeplayer3: silence many warnings + + build static libeplayer3 and link eplayer3 and meta against it + + spark: fix cAudio::PrepareClipPlay + this makes the neutrino audioplayer work fine ;-) + + spark: add cVideo::ShowPicture() + +2012-02-15 Stefan Seyfried + + spark: remove unused cPlayback() stuff + + spark: use libeplayer3 for playback + + spark: add cPlayback code from TDT git + This imports cplayback as of commit 12d2c15d0e (2011-12-13) + git://gitorious.org/open-duckbox-project-sh4/tdt.git + Needs some adjustment to make it build... + + spark: build libeplayer3 statically into libstb-hal + +2012-02-14 Stefan Seyfried + + add libeplayer3 from tdt git + This imports libeplayer3 as of commit 9160371ccc6 (2012-02-02) + git://gitorious.org/open-duckbox-project-sh4/tdt.git + It would be better to use the original repo, but I need too many + changes for now :-( + + spark: remove unused blank and zoom code from cVideo + + spark: add {open,close}Device() to cVideo + +2012-02-12 Stefan Seyfried + + spark: increase record demux buffer size + + spark: rename lt_dfbinput to lirmp_input + + spark: convert the input thread to use lt_debug + + spark: add more keys to the input converter + + spark: use TSDEMUX_TAP for TS demux in cDemux() + + debug: rename from TRIPLE_DEBUG to HAL_DEBUG + the old variable is still usable as a fallback + + spark: cVideo::Pig() + + spark: cVideo::setAspectRatio() + + spark: cVideo::getPictureInfo/getAspectRatio + simplify both function by using proc_{get,put} + + spark cVideo: add proc_{get,put} helper functions + + libspark: stub out unused stuff in cDemux, fix getSTC + + libspark: add cVideo::getPTS for cDemux::getSTC + + spark: DirectFB is not used + + include config.h everywhere (for LFS etc) + + add a trivial test application for libstb-hal + + libspark: add remaining misc stuff + Now the standalone lib can be built :-) + + libspark: make init.cpp build + + libspark: use IRMP for converting /dev/lirc to input device + + libspark: add IRMP infrared decoder + This is based on git://gitorious.org/arduino-addons/irmp-arduino.git + + libspark: make cDemux build + This might actually even work, but is untested. + + libspark: make cPlayback build... by disabling playback ;) + + libspark: make cVideo build + Again, make it build -- not work. Lots of stuff simply stubbed out. + + libspark: make cAudio build + This does just build, it probably does not yet work. + +2012-02-11 Stefan Seyfried + + move lt_debug to common/ subdirectory + + rename to libstb-hal + + first try at building "libneutrino-hal" standalone + +2012-02-02 Stefan Seyfried + + libspark: rename files to common names + + start libspark y copying libtriple + +2012-01-22 Stefan Seyfried + + libtriple: improve and shorten cDemux debug messages + + libtriple: use AVS mute to avoid audio pop during boot + +2012-01-15 Stefan Seyfried + + libtriple: improve cPlayback performance + avoid unnecessary memcpy in read_mpeg(), significantly improving performance + +2012-01-14 Stefan Seyfried + + libtriple: add video parameter watchdog + Add the video parameter watchdog to the (already existing) input + thread, so we can remove it from zapit. + Unfortunately, we need an ugly hack in cDemux for making sure we + do not crash on exit... :-( + + make lt_dfbinput a c++ file + this allows to put the videowatchdog into the same thread later + +2012-01-09 Stefan Seyfried + + libtriple: load td-dvb-frontend.ko in init_td_api() + + libtriple: convert tripledragon remote to uinput + Instead of patching neutrino to read the Tripledragon remote, use a + converter thread in libtriple to convert the TD remote to a real input + device via uinput. + +2012-01-08 Stefan Seyfried + + libtriple: add documentation on libtriple options + + libtriple: avoid audio noise when going to standby + + libtriple: add support for alternate sound devices to cAudio + This allows to use different audio devices (USB Audio for example) + with internet radio and audioplayer. + +2011-12-04 Stefan Seyfried + + libtriple: try to make all filedescriptors O_CLOEXEC + +2011-11-07 Stefan Seyfried + + libtriple: fix cDemux::pesFilter for teletext + +2011-11-06 Stefan Seyfried + + libtriple: add measure mode to cDemux to fix streaminfo + since the TD drivers apparently only allow each PID to be captured + once, cheat and implement the measure mode for streaminfo with + special ioctls. now streaminfo no longer breaks recordings + + libtriple: convert cRecord to lt_debug() + + libtriple: improve lt_debug + * add current instance + * shorten lt_debug messages + + libtriple: Tripledragon can only do one TS at a time :-( + + libtriple: add cRecord::AddPid + + libtriple: bring cRecord::Open in line with CS code + + libtriple: bring cDemux::Start in line with CS code + + libtriple: change cDemux::addPid to type bool + + libtriple: add dmx_cs.h to reduce code differences in neutrino + + libtriple: improve audio stream handling in cPlayback() + use a c++ map instead of arrays to store audio stream data + Side effect: audio streams as returned by findAllPids() are now + sorted by pid, helping default selection for MPEG and VDR streams + + libtriple: implement cVideo::SetSyncMode() + + libtriple: implement cAudio::SetSyncMode() + + libtriple: cVideo enabled SCART during record in standby + + libtriple: fix seeking in cPlayback if there's a PTS overflow + + libtriple: sync cPlayback with libcoolstream changes + + libtriple: fix compiler warning in cs_get_revision() + + libtriple: convert cDemux to lt_info + + libtriple: add workaround for 'odd filter length' problem in cDemux + + libtriple: convert cAudio to lt_info, improve debug output + + libtriple: add debug flag to disable SCART switching (debug) + + libtriple: remove unneeded includes, disable strict aliasing + + libtriple: convert cVideo to lt_debug/lt_info, don't use zapit debug + + libtriple: convert cPlayback to lt_debug/lt_info + + libtriple: improve debug architecture + every libtriple module can have its debug output enabled separately + by exporting the TRIPLE_DEBUG variable + + libtriple: implement PCM playback in cAudio() + + libtriple: add ChangePids() to cRecord + This is pretty much untested for now, handle with care! + + libtriple: add getPesPids() and removePid() to cDemux + + libtriple: remember the filedescriptor belonging to each pid in cDemux() + + libtriple: improve cPlayback() + * avoid race conditions by using a mutex to protect curr_pos, fixing + artefacts during timeshift playback + * make GetPosition() cheaper by interpolating end_pts and only fetching + the "real" end_pts after the file has grown by 10MB + + libtriple: fix filedescriptor leak in cVideo::routeVideo() + + libtriple: fix up cVideo::setAspectRatio() + + libtriple: add cVideo::VideoParamWatchdog() + + libtriple/framebuffer: use DirectFB acceleration + Use a hack, almost as ugly as the original Coolstream code ;), + to accelerate drawing of boxes and blitting with DirectFB functions. + + libtriple: add usable dummy cCA class + + libtriple: add support for MPEG1 files to cPlayback + Now we can play the "Warriors of the Net" clip :-) + http://ftp.sunet.se/pub/tv+movies/warriors/warriors-700-VBR.mpg + + libtriple: add debug messages to cDemux and cVideo functions + + libtriple: reduce some messages to debug, consolidate scart messages + + libtriple: hack different notify sizes for subs and ttx into cDemux + + libtriple: fix compiler warnings in playback_td + + libtriple: cPlayback: improve get_pts + * add the buffer size to the call to avoid overflows + * extract PTS also from MPEG1 packets + + libtriple: implement mpeg/vdr playback + + libtriple: implement fast forward in cPlayback() + First try at implementing fast forward. Needs more love. + Reverse does not work yet, setting speed to negative values + right now simply resets to "play" mode. + + libtriple: make most of libtriple use lt_debug + + libtriple: implement pwrmngr cpufreq classes (mostly dummies) + + libtriple: implement working cPlayback class + no fast forward, no mpeg playback (yet ;) + + libtriple: implement cRecord class + TS recording now somewhat works ;) + this version does not need ringbuffer code and only one thread + + libtriple: implement cAudio class + + libtriple: implement ShowPicture() in cVideo + this needs the ffmpeg binary with support for mjpeg decoder + and mpeg2video encoder to recode the jpgs to m2v + + libtriple: implement working cVideo class + + libtriple: implement working cDemux class + + libtriple: add lt_debug() for controllable debug output + +2010-12-25 seife + + add generic dispatcher headers for frontend etc + add generic audio, video and demux headers in zapit/include (TODO: put them + into a better place, or put wrappers into lib directories) that automatically + dispatch to the hardware specific functions and use them in the code + + git-svn-id: http://www.coolstreamtech.de/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@962 e54a6e83-5905-42d5-8d5c-058d10e6a962 + +2010-12-25 seife + + libtriple: implement init_td_api and shutdown_td_api + provide compatibility with cs_api_init() and cs_api_exit() + This contains a DirectFB wrapper, needed to make the framebuffer + transparent. The framebuffer itself is usable without DFB. + Additionally it sets up the system for a changed RC address in "BIOS". + + git-svn-id: http://www.coolstreamtech.de/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@961 e54a6e83-5905-42d5-8d5c-058d10e6a962 + +2010-12-25 seife + + add "libtriple" skeleton + This should provide the same functionality as libcoolstream does, + but for the TripleDragon + Add td-compat directory with includes to convert values from + TD api to DVB api and back. + + git-svn-id: http://www.coolstreamtech.de/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@960 e54a6e83-5905-42d5-8d5c-058d10e6a962 diff --git a/configure.ac b/configure.ac index 9bdb071..ae7c197 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libstb-hal], [0.1.1]) +AC_INIT([libstb-hal], [1.0.0]) AM_INIT_AUTOMAKE m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) AC_CONFIG_MACRO_DIR([m4]) From d7f96461bf614b847656c2c2f1c21360e49b209a Mon Sep 17 00:00:00 2001 From: TangoCash Date: Mon, 6 Nov 2017 17:41:52 +0100 Subject: [PATCH 09/31] CI: fix some caid issues (thx dboxoldie) Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/f170c38f10ea0827adef443a31c1c3fbff9b214c Author: TangoCash Date: 2017-11-06 (Mon, 06 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libdvbci/dvbci_camgr.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libdvbci/dvbci_camgr.cpp b/libdvbci/dvbci_camgr.cpp index c56ac16..24917f3 100644 --- a/libdvbci/dvbci_camgr.cpp +++ b/libdvbci/dvbci_camgr.cpp @@ -36,11 +36,19 @@ int eDVBCICAManagerSession::receivedAPDU(const unsigned char *tag, const void *d caids.push_back((((const unsigned char*)data)[i] << 8) | (((const unsigned char*)data)[i + 1])); } if (!caids.empty()) - if ((caids[0] & 0xFF00) == 0x1800) + { + for (u32 i = 0; i < caids.size(); i++) { - caids.push_back(0x186A); - printf("%04x", 0x186A); + if (caids[i] == 0x1830) + { + caids.push_back(0x186A); + printf("%04x ", 0x186A); + caids.push_back(0x186D); + printf("%04x ", 0x186D); + break; + } } + } std::sort(caids.begin(), caids.end()); printf("\n"); From 7c9305164bfd8cd3c80f422471ac7f8a4636508c Mon Sep 17 00:00:00 2001 From: TangoCash Date: Tue, 7 Nov 2017 13:21:24 +0100 Subject: [PATCH 10/31] gstreamer playback: fix possible segfaults Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/a811b733d49efc39666d49d91f998e79f0c6042f Author: TangoCash Date: 2017-11-07 (Tue, 07 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index dc405e8..438c2a4 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -290,7 +290,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) lt_info_c("%s:%s - /tmp/.id3coverart %d bytes written\n", FILENAME, __FUNCTION__, ret); } } - gst_tag_list_unref(tags); + if (tags) + gst_tag_list_unref(tags); lt_debug_c( "%s:%s - GST_MESSAGE_INFO: update info tags\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event??? break; } @@ -461,7 +462,8 @@ void cPlayback::Close(void) // disconnect sync handler callback GstBus * bus = gst_pipeline_get_bus(GST_PIPELINE (m_gst_playbin)); gst_bus_set_sync_handler(bus, NULL, NULL, NULL); - gst_object_unref(bus); + if (bus) + gst_object_unref(bus); lt_info( "%s:%s - GST bus handler closed\n", FILENAME, __FUNCTION__); } @@ -520,7 +522,8 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/, mAudioStream = 0; init_jump = -1; - gst_tag_list_unref(m_stream_tags); + if (m_stream_tags) + gst_tag_list_unref(m_stream_tags); m_stream_tags = NULL; unlink("/tmp/.id3coverart"); @@ -594,7 +597,8 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/, //gstbus handler GstBus * bus = gst_pipeline_get_bus( GST_PIPELINE(m_gst_playbin) ); gst_bus_set_sync_handler(bus, Gst_bus_call, NULL, NULL); - gst_object_unref(bus); + if (bus) + gst_object_unref(bus); first = true; @@ -896,7 +900,8 @@ void cPlayback::FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *nu g_signal_emit_by_name (m_gst_playbin, "get-audio-pad", i, &pad); GstCaps * caps = gst_pad_get_current_caps(pad); - gst_object_unref(pad); + if (pad) + gst_object_unref(pad); if (!caps) continue; @@ -938,7 +943,8 @@ void cPlayback::FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *nu //return atPCM; ac3flags[i] = 0; - gst_caps_unref(caps); + if (caps) + gst_caps_unref(caps); //(ac3flags[i] > 2) ? ac3flags[i] = 1 : ac3flags[i] = 0; From 21c7a3b8e9f9508550be819c6db25fc430f40042 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Tue, 7 Nov 2017 22:01:56 +0100 Subject: [PATCH 11/31] gstreamer playback: remove subtitles until fully supported Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/31a73a2bd536557ac74dd64ef27ffacee68fc87f Author: TangoCash Date: 2017-11-07 (Tue, 07 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 438c2a4..4ead545 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -567,8 +567,7 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/, lt_info("%s:%s - filename=%s\n", FILENAME, __FUNCTION__, filename); - guint flags = GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | \ - GST_PLAY_FLAG_TEXT | GST_PLAY_FLAG_NATIVE_VIDEO; + guint flags = GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_NATIVE_VIDEO; /* increase the default 2 second / 2 MB buffer limitations to 5s / 5MB */ int m_buffer_size = 5*1024*1024; From 0f626ebe0229ce3c2d511f7ce301317015e03363 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Fri, 10 Nov 2017 11:32:58 +0100 Subject: [PATCH 12/31] gstreamer playback: fix possible segfault Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/54341f0c483279ea377c578ca72149b20eea317a Author: TangoCash Date: 2017-11-10 (Fri, 10 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 4ead545..f11728a 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -948,9 +948,9 @@ void cPlayback::FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *nu //(ac3flags[i] > 2) ? ac3flags[i] = 1 : ac3flags[i] = 0; g_signal_emit_by_name (m_gst_playbin, "get-audio-tags", i, &tags); - if (tags && GST_IS_TAG_LIST(tags)) + if (tags) { - if (gst_tag_list_get_string(tags, GST_TAG_LANGUAGE_CODE, &g_lang)) + if (GST_IS_TAG_LIST(tags) && gst_tag_list_get_string(tags, GST_TAG_LANGUAGE_CODE, &g_lang)) { std::string slang; if (gst_tag_check_language_code(g_lang)) @@ -1030,6 +1030,9 @@ void cPlayback::GetMetadata(std::vector &keys, std::vector Date: Fri, 10 Nov 2017 12:02:55 +0100 Subject: [PATCH 13/31] gstreamer playback: fix possible race condition Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/1e8e9bcc4da38b5704dd21a5c5bef523ec1dcc86 Author: TangoCash Date: 2017-11-10 (Fri, 10 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index f11728a..6542c2e 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -1013,22 +1013,28 @@ void cPlayback::GetMetadata(std::vector &keys, std::vector &keys, std::vector Date: Fri, 10 Nov 2017 12:25:58 +0100 Subject: [PATCH 14/31] fix memleak, init and compil Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/b75667176b7a7c420085e1b8d810c59454b39ee9 Author: Jacek Jendrzej Date: 2017-11-10 (Fri, 10 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- common/ca_ci.cpp | 2 +- libarmbox/playback_gst.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/ca_ci.cpp b/common/ca_ci.cpp index c4a2b06..4698637 100644 --- a/common/ca_ci.cpp +++ b/common/ca_ci.cpp @@ -1037,7 +1037,7 @@ void cCA::setInputs() if (fd) { printf("set input%d to tuner %s\n", number, getTunerLetter(number).c_str()); - fprintf(fd, getTunerLetter(number).c_str()); + fprintf(fd,"%s", getTunerLetter(number).c_str()); } else { diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 6542c2e..cc7ee03 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -325,7 +325,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) case GST_STATE_CHANGE_READY_TO_PAUSED: { GstIterator *children; - GValue r = { 0, }; + GValue r = G_VALUE_INIT; if (audioSink) { @@ -390,6 +390,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) default: break; } + if(sourceName) + g_free(sourceName); return GST_BUS_DROP; } From 344674f3e584fac28a4ee520bfe61eaac9fa64a0 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Fri, 10 Nov 2017 12:37:46 +0100 Subject: [PATCH 15/31] add check if children not NULL Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/d9b7971e30eb0100dc9f15b68507bc48c4441ab5 Author: Jacek Jendrzej Date: 2017-11-10 (Fri, 10 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index cc7ee03..2b0f955 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -339,8 +339,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) videoSink = NULL; } children = gst_bin_iterate_recurse(GST_BIN(m_gst_playbin)); - - if (gst_iterator_find_custom(children, (GCompareFunc)match_sinktype, &r, (gpointer)"GstDVBAudioSink")) + if (children && gst_iterator_find_custom(children, (GCompareFunc)match_sinktype, &r, (gpointer)"GstDVBAudioSink")) { audioSink = GST_ELEMENT_CAST(g_value_dup_object (&r)); g_value_unset (&r); @@ -349,8 +348,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) gst_iterator_free(children); children = gst_bin_iterate_recurse(GST_BIN(m_gst_playbin)); - - if (gst_iterator_find_custom(children, (GCompareFunc)match_sinktype, &r, (gpointer)"GstDVBVideoSink")) + if (children && gst_iterator_find_custom(children, (GCompareFunc)match_sinktype, &r, (gpointer)"GstDVBVideoSink")) { videoSink = GST_ELEMENT_CAST(g_value_dup_object (&r)); g_value_unset (&r); From b51d0a5aa097be0ddac81ec5d3d7856a5e9e015c Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Fri, 10 Nov 2017 12:50:15 +0100 Subject: [PATCH 16/31] check m_stream_tags if not NULL Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/be5bf5631474afa07dff909898baf583eb4f31a9 Author: Jacek Jendrzej Date: 2017-11-10 (Fri, 10 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 2b0f955..89e9324 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -1014,7 +1014,9 @@ void cPlayback::GetMetadata(std::vector &keys, std::vector Date: Fri, 10 Nov 2017 16:17:40 +0100 Subject: [PATCH 17/31] move gchar * sourceName = gst_object_get_name(source); Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/2bbb8a90447d20adee5a60886ff21abeeba801a4 Author: Jacek Jendrzej Date: 2017-11-10 (Fri, 10 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 89e9324..0dd9107 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -188,8 +188,6 @@ void playbinNotifySource(GObject *object, GParamSpec *param_spec, gpointer user_ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) { - gchar * sourceName; - // source GstObject * source; source = GST_MESSAGE_SRC(msg); @@ -197,8 +195,6 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) if (!GST_IS_OBJECT(source)) return GST_BUS_DROP; - sourceName = gst_object_get_name(source); - switch (GST_MESSAGE_TYPE(msg)) { case GST_MESSAGE_EOS: @@ -214,6 +210,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) GError *err; gst_message_parse_error(msg, &err, &debug); g_free (debug); + gchar * sourceName = gst_object_get_name(source); lt_info_c( "%s:%s - GST_MESSAGE_ERROR: %s (%i) from %s\n", FILENAME, __FUNCTION__, err->message, err->code, sourceName ); if ( err->domain == GST_STREAM_ERROR ) { @@ -226,6 +223,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) } } g_error_free(err); + if(sourceName) + g_free(sourceName); end_eof = 1; // NOTE: just to exit @@ -241,8 +240,12 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) g_free (debug); if ( inf->domain == GST_STREAM_ERROR && inf->code == GST_STREAM_ERROR_DECODE ) { + gchar * sourceName = gst_object_get_name(source); if ( g_strrstr(sourceName, "videosink") ) lt_info_c( "%s:%s - GST_MESSAGE_INFO: videosink\n", FILENAME, __FUNCTION__ ); //FIXME: how shall playback handle this event??? + if(sourceName) + g_free(sourceName); + } g_error_free(inf); break; @@ -388,8 +391,6 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) default: break; } - if(sourceName) - g_free(sourceName); return GST_BUS_DROP; } From 823fab91f77ad00b32ea286b46b4c0fad2fde831 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Sat, 11 Nov 2017 14:41:54 +0100 Subject: [PATCH 18/31] fix missing close fd (thx dbo) Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/bc4a9b3329b4655ce23024033714e891491bc5e0 Author: TangoCash Date: 2017-11-11 (Sat, 11 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- common/ca_ci.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/common/ca_ci.cpp b/common/ca_ci.cpp index 4698637..d50ced0 100644 --- a/common/ca_ci.cpp +++ b/common/ca_ci.cpp @@ -1038,6 +1038,7 @@ void cCA::setInputs() { printf("set input%d to tuner %s\n", number, getTunerLetter(number).c_str()); fprintf(fd,"%s", getTunerLetter(number).c_str()); + fclose(fd); } else { From 3d2954f0259ece12360a602a217cbf141f8124c4 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sat, 11 Nov 2017 16:29:28 +0100 Subject: [PATCH 19/31] try to fix freeze with subtitle file , use gst_element_get_state only if need Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/2864b81fe23c12493ec713c4c3a3f6c80f0ca86c Author: Jacek Jendrzej Date: 2017-11-11 (Sat, 11 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 0dd9107..3667e6b 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -841,21 +841,23 @@ bool cPlayback::SetPosition(int position, bool absolute) { lt_info("%s: pos %d abs %d playing %d\n", __func__, position, absolute, playing); - gint64 time_nanoseconds; - gint64 pos; - GstFormat fmt = GST_FORMAT_TIME; - GstState state; if(m_gst_playbin) { - gst_element_get_state(m_gst_playbin, &state, NULL, GST_CLOCK_TIME_NONE); - - if ( (state == GST_STATE_PAUSED) && first) - { - init_jump = position; - first = false; - return false; + if(first){ + GstState state; + gst_element_get_state(m_gst_playbin, &state, NULL, GST_CLOCK_TIME_NONE); + if ( (state == GST_STATE_PAUSED) && first) + { + init_jump = position; + first = false; + return false; + } } + + gint64 time_nanoseconds; + gint64 pos; + GstFormat fmt = GST_FORMAT_TIME; if (!absolute) { gst_element_query_position(m_gst_playbin, fmt, &pos); From e2c368551fd2adfd5ee2c7a5218551ee5b4ad5a4 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sat, 11 Nov 2017 16:52:38 +0100 Subject: [PATCH 20/31] return false in decoder have no time Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/6f006f1ce9026cccddfe87a88fb3ebaa1f6a9e98 Author: Jacek Jendrzej Date: 2017-11-11 (Sat, 11 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 3667e6b..670cc7b 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -815,10 +815,13 @@ bool cPlayback::GetPosition(int &position, int &duration) g_signal_emit_by_name(audioSink ? audioSink : videoSink, "get-decoder-time", &pts); if (!GST_CLOCK_TIME_IS_VALID(pts)){ lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); + return false; } }else{ - if(!gst_element_query_position(m_gst_playbin, fmt, &pts)) + if(!gst_element_query_position(m_gst_playbin, fmt, &pts)){ lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); + return false; + } } position = pts / 1000000.0; // duration From 817cc587915360ff1c2b46ffb3a6cf7373d00806 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sat, 11 Nov 2017 16:55:02 +0100 Subject: [PATCH 21/31] check if tag is gst list Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/50904a18251a7c8863136b88b6fb506a999b2612 Author: Jacek Jendrzej Date: 2017-11-11 (Sat, 11 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 670cc7b..cbc4350 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -253,9 +253,12 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) case GST_MESSAGE_TAG: { - GstTagList *tags, *result; + GstTagList *tags = NULL, *result = NULL; gst_message_parse_tag(msg, &tags); + if(tags != NULL || !GST_IS_TAG_LIST(tags)) + break; + result = gst_tag_list_merge(m_stream_tags, tags, GST_TAG_MERGE_REPLACE); if (result) { From 27d19964ef577e295a6331f88c81b3c2f55e1d5c Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sat, 11 Nov 2017 17:08:51 +0100 Subject: [PATCH 22/31] fix last commit, broken check logic Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/b67c8b39b514bb696e69c98ba0de2a51f42f1739 Author: Jacek Jendrzej Date: 2017-11-11 (Sat, 11 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index cbc4350..656227d 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -256,7 +256,9 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) GstTagList *tags = NULL, *result = NULL; gst_message_parse_tag(msg, &tags); - if(tags != NULL || !GST_IS_TAG_LIST(tags)) + if(tags == NULL) + break; + if(!GST_IS_TAG_LIST(tags)) break; result = gst_tag_list_merge(m_stream_tags, tags, GST_TAG_MERGE_REPLACE); From dd82784cb4aea65fae942071a840c07a0c7836ff Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sun, 12 Nov 2017 08:57:41 +0100 Subject: [PATCH 23/31] Revert "return false in decoder have no time" This reverts commit e2c368551fd2adfd5ee2c7a5218551ee5b4ad5a4. Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/dcce5347b1971fa40cbcc09d6996832ac4a8fbf4 Author: Jacek Jendrzej Date: 2017-11-12 (Sun, 12 Nov 2017) ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 656227d..6cb5ff0 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -820,13 +820,10 @@ bool cPlayback::GetPosition(int &position, int &duration) g_signal_emit_by_name(audioSink ? audioSink : videoSink, "get-decoder-time", &pts); if (!GST_CLOCK_TIME_IS_VALID(pts)){ lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); - return false; } }else{ - if(!gst_element_query_position(m_gst_playbin, fmt, &pts)){ + if(!gst_element_query_position(m_gst_playbin, fmt, &pts)) lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); - return false; - } } position = pts / 1000000.0; // duration From 282ed58bec9bffad444264d5e82dd56212f3e1c0 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sun, 12 Nov 2017 08:58:18 +0100 Subject: [PATCH 24/31] init mpegts Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/fc5d505995ab7e1d971530546f3680705c3a96ee Author: Jacek Jendrzej Date: 2017-11-12 (Sun, 12 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 6cb5ff0..2483551 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -411,6 +411,8 @@ cPlayback::cPlayback(int num) gst_version (&major, &minor, µ, &nano); + gst_mpegts_initialize(); + if (nano == 1) nano_str = "(CVS)"; else if (nano == 2) From 9d016316d733ea6fe82a35c9bc5aa134559bf13a Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Mon, 13 Nov 2017 09:44:47 +0100 Subject: [PATCH 25/31] try to fix possible race condition Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/64828627ac9fd023a6e76d8904cc9dfd718518ca Author: Jacek Jendrzej Date: 2017-11-13 (Mon, 13 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 2483551..e543146 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -72,6 +72,8 @@ GstElement * audioSink = NULL; GstElement * videoSink = NULL; gchar * uri = NULL; GstTagList * m_stream_tags = NULL; +pthread_mutex_t mutex_tag_ist; + static int end_eof = 0; #define HTTP_TIMEOUT 30 // taken from record.h @@ -261,6 +263,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) if(!GST_IS_TAG_LIST(tags)) break; + pthread_mutex_lock (&mutex_tag_ist); + result = gst_tag_list_merge(m_stream_tags, tags, GST_TAG_MERGE_REPLACE); if (result) { @@ -268,6 +272,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) { gst_tag_list_unref(tags); gst_tag_list_unref(result); + + pthread_mutex_unlock (&mutex_tag_ist); break; } if (m_stream_tags) @@ -276,6 +282,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data) gst_tag_list_unref(result); } + pthread_mutex_unlock (&mutex_tag_ist); + const GValue *gv_image = gst_tag_list_get_value_index(tags, GST_TAG_IMAGE, 0); if ( gv_image ) { @@ -413,6 +421,8 @@ cPlayback::cPlayback(int num) gst_mpegts_initialize(); + pthread_mutex_init (&mutex_tag_ist, NULL); + if (nano == 1) nano_str = "(CVS)"; else if (nano == 2) @@ -437,8 +447,10 @@ cPlayback::~cPlayback() { lt_info( "%s:%s\n", FILENAME, __FUNCTION__); //FIXME: all deleting stuff is done in Close() + pthread_mutex_lock (&mutex_tag_ist); if (m_stream_tags) gst_tag_list_free(m_stream_tags); + pthread_mutex_unlock (&mutex_tag_ist); } //Used by Fileplay @@ -530,9 +542,11 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/, mAudioStream = 0; init_jump = -1; + pthread_mutex_lock (&mutex_tag_ist); if (m_stream_tags) gst_tag_list_unref(m_stream_tags); m_stream_tags = NULL; + pthread_mutex_unlock (&mutex_tag_ist); unlink("/tmp/.id3coverart"); @@ -1025,14 +1039,21 @@ void cPlayback::GetMetadata(std::vector &keys, std::vector Date: Mon, 13 Nov 2017 09:11:19 +0100 Subject: [PATCH 26/31] generic-pc: add our proven keymap to glfb Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/6c0d55da9688c3a0598bcbf4bd5b3593b51b0025 Author: vanhofen Date: 2017-11-13 (Mon, 13 Nov 2017) Origin message was: ------------------ - generic-pc: add our proven keymap to glfb ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- generic-pc/glfb.cpp | 67 +++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/generic-pc/glfb.cpp b/generic-pc/glfb.cpp index b5abb62..52aaff0 100644 --- a/generic-pc/glfb.cpp +++ b/generic-pc/glfb.cpp @@ -117,36 +117,32 @@ void GLFramebuffer::initKeys() mSpecialMap[GLUT_KEY_LEFT] = KEY_LEFT; mSpecialMap[GLUT_KEY_RIGHT] = KEY_RIGHT; - mSpecialMap[GLUT_KEY_F1] = KEY_RED; - mSpecialMap[GLUT_KEY_F2] = KEY_GREEN; - mSpecialMap[GLUT_KEY_F3] = KEY_YELLOW; - mSpecialMap[GLUT_KEY_F4] = KEY_BLUE; + mSpecialMap[GLUT_KEY_F1] = KEY_RED; + mSpecialMap[GLUT_KEY_F2] = KEY_GREEN; + mSpecialMap[GLUT_KEY_F3] = KEY_YELLOW; + mSpecialMap[GLUT_KEY_F4] = KEY_BLUE; - mSpecialMap[GLUT_KEY_F5] = KEY_PLAY; - mSpecialMap[GLUT_KEY_F6] = KEY_STOP; - mSpecialMap[GLUT_KEY_F7] = KEY_FORWARD; - mSpecialMap[GLUT_KEY_F8] = KEY_REWIND; - - mSpecialMap[GLUT_KEY_F9] = KEY_RECORD; - mSpecialMap[GLUT_KEY_F10] = KEY_PAUSE; + mSpecialMap[GLUT_KEY_F5] = KEY_RECORD; + mSpecialMap[GLUT_KEY_F6] = KEY_PLAY; + mSpecialMap[GLUT_KEY_F7] = KEY_PAUSE; + mSpecialMap[GLUT_KEY_F8] = KEY_STOP; + mSpecialMap[GLUT_KEY_F9] = KEY_FORWARD; + mSpecialMap[GLUT_KEY_F10] = KEY_REWIND; mSpecialMap[GLUT_KEY_F11] = KEY_NEXT; mSpecialMap[GLUT_KEY_F12] = KEY_PREVIOUS; - mSpecialMap[GLUT_KEY_PAGE_UP] = KEY_PAGEUP; - mSpecialMap[GLUT_KEY_PAGE_DOWN] = KEY_PAGEDOWN; + mSpecialMap[GLUT_KEY_F9] = KEY_RECORD; + mSpecialMap[GLUT_KEY_F10] = KEY_PAUSE; + + mSpecialMap[GLUT_KEY_F11] = KEY_NEXT; + mSpecialMap[GLUT_KEY_F12] = KEY_PREVIOUS; + + mSpecialMap[GLUT_KEY_PAGE_UP] = KEY_PAGEUP; + mSpecialMap[GLUT_KEY_PAGE_DOWN] = KEY_PAGEDOWN; mKeyMap[0x0d] = KEY_OK; mKeyMap[0x1b] = KEY_EXIT; - mKeyMap['e'] = KEY_EPG; - mKeyMap['i'] = KEY_INFO; - mKeyMap['m'] = KEY_MENU; - - mKeyMap['+'] = KEY_VOLUMEUP; - mKeyMap['-'] = KEY_VOLUMEDOWN; - mKeyMap['.'] = KEY_MUTE; - mKeyMap['h'] = KEY_HELP; - mKeyMap['p'] = KEY_POWER; mKeyMap['0'] = KEY_0; mKeyMap['1'] = KEY_1; @@ -159,10 +155,29 @@ void GLFramebuffer::initKeys() mKeyMap['8'] = KEY_8; mKeyMap['9'] = KEY_9; - mKeyMap['r'] = KEY_RED; - mKeyMap['g'] = KEY_GREEN; - mKeyMap['y'] = KEY_YELLOW; - mKeyMap['b'] = KEY_BLUE; + mKeyMap['+'] = KEY_VOLUMEUP; + mKeyMap['-'] = KEY_VOLUMEDOWN; + mKeyMap['.'] = KEY_MUTE; + mKeyMap['a'] = KEY_AUDIO; + mKeyMap['e'] = KEY_EPG; + // ['f'] is reserved to toggle fullscreen; + mKeyMap['g'] = KEY_GAMES; + mKeyMap['h'] = KEY_HELP; + mKeyMap['i'] = KEY_INFO; + mKeyMap['m'] = KEY_MENU; + mKeyMap['p'] = KEY_POWER; + mKeyMap['r'] = KEY_RADIO; + mKeyMap['s'] = KEY_SUBTITLE; + mKeyMap['t'] = KEY_TV; + mKeyMap['v'] = KEY_VIDEO; + mKeyMap['z'] = KEY_SLEEP; + + /* shift keys */ + mKeyMap['F'] = KEY_FAVORITES; + mKeyMap['M'] = KEY_MODE; + mKeyMap['S'] = KEY_SAT; + mKeyMap['T'] = KEY_TEXT; + mKeyMap['W'] = KEY_WWW; } void GLFramebuffer::run() From 81800dfe023ee052e2a46600bb51cbd12db14fad Mon Sep 17 00:00:00 2001 From: vanhofen Date: Mon, 13 Nov 2017 10:10:19 +0100 Subject: [PATCH 27/31] add display_has_statusline member Signed-off-by: Jacek Jendrzej Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/70cdad0db1432dce992b7430e977cff1f6eee349 Author: vanhofen Date: 2017-11-13 (Mon, 13 Nov 2017) Origin message was: ------------------ - add display_has_statusline member Signed-off-by: Jacek Jendrzej ------------------ This commit was generated by Migit --- azbox/hardware_caps.c | 1 + generic-pc/hardware_caps.c | 1 + include/hardware_caps.h | 1 + libarmbox/hardware_caps.c | 1 + libduckbox/hardware_caps.c | 1 + libspark/hardware_caps.c | 1 + libtriple/hardware_caps.c | 1 + raspi/hardware_caps.c | 1 + 8 files changed, 8 insertions(+) diff --git a/azbox/hardware_caps.c b/azbox/hardware_caps.c index da8a610..a09da2c 100644 --- a/azbox/hardware_caps.c +++ b/azbox/hardware_caps.c @@ -31,6 +31,7 @@ hw_caps_t *get_hwcaps(void) caps.has_HDMI = 1; caps.display_xres = 8; caps.display_can_deepstandby = 0; + caps.display_has_statusline = 0; strcpy(caps.boxvendor, "AZBox"); const char *tmp; char buf[64]; diff --git a/generic-pc/hardware_caps.c b/generic-pc/hardware_caps.c index 33c3cd8..8fd8038 100644 --- a/generic-pc/hardware_caps.c +++ b/generic-pc/hardware_caps.c @@ -33,6 +33,7 @@ hw_caps_t *get_hwcaps(void) caps.has_HDMI = 1; caps.display_xres = 8; caps.display_can_deepstandby = 0; + caps.display_has_statusline = 0; strcpy(caps.boxvendor, "Generic"); strcpy(caps.boxname, "PC"); if (! uname(&u)) diff --git a/include/hardware_caps.h b/include/hardware_caps.h index 1a8952f..92da189 100644 --- a/include/hardware_caps.h +++ b/include/hardware_caps.h @@ -38,6 +38,7 @@ typedef struct hw_caps int display_yres; int display_can_set_brightness; int display_can_deepstandby; + int display_has_statusline; char boxvendor[64]; char boxname[64]; char boxarch[64]; diff --git a/libarmbox/hardware_caps.c b/libarmbox/hardware_caps.c index be7752d..6ab3fe9 100644 --- a/libarmbox/hardware_caps.c +++ b/libarmbox/hardware_caps.c @@ -35,6 +35,7 @@ hw_caps_t *get_hwcaps(void) caps.display_xres = 16; caps.display_type = HW_DISPLAY_LINE_TEXT; caps.display_can_set_brightness = 1; + caps.display_has_statusline = 0; caps.has_HDMI = 1; strcpy(caps.boxvendor, "AX-Technologies"); strcpy(caps.boxname, "HD51"); diff --git a/libduckbox/hardware_caps.c b/libduckbox/hardware_caps.c index 86355a7..9794338 100644 --- a/libduckbox/hardware_caps.c +++ b/libduckbox/hardware_caps.c @@ -31,6 +31,7 @@ hw_caps_t *get_hwcaps(void) int fd = open("/proc/stb/info/model", O_RDONLY); caps.display_can_set_brightness = 0; caps.display_can_deepstandby = 0; + caps.display_has_statusline = 0; if (fd != -1) { len = read(fd, buf, sizeof(buf) - 1); close(fd); diff --git a/libspark/hardware_caps.c b/libspark/hardware_caps.c index 74d49ce..b17f385 100644 --- a/libspark/hardware_caps.c +++ b/libspark/hardware_caps.c @@ -36,6 +36,7 @@ hw_caps_t *get_hwcaps(void) caps.display_type = HW_DISPLAY_LED_NUM; caps.display_can_set_brightness = 0; caps.display_can_deepstandby = 0; + caps.display_has_statusline = 0; caps.has_HDMI = 1; caps.has_SCART = 1; caps.display_xres = 4; diff --git a/libtriple/hardware_caps.c b/libtriple/hardware_caps.c index 64a92d9..37593fe 100644 --- a/libtriple/hardware_caps.c +++ b/libtriple/hardware_caps.c @@ -21,6 +21,7 @@ static hw_caps_t caps = { .display_xres = 128, .display_yres = 64, .display_can_deepstandby = 0; + .display_has_statusline = 0; .boxvendor = "Armas", .boxname = "TripleDragon" }; diff --git a/raspi/hardware_caps.c b/raspi/hardware_caps.c index 840975b..8b9da53 100644 --- a/raspi/hardware_caps.c +++ b/raspi/hardware_caps.c @@ -31,6 +31,7 @@ hw_caps_t *get_hwcaps(void) caps.has_HDMI = 1; caps.display_xres = 8; caps.display_can_deepstandby = 0; + caps.display_has_statusline = 0; strcpy(caps.boxvendor, "Raspberry"); strcpy(caps.boxname, "Pi"); From 56931a05f368b2341e76a95555876413b6a2fc1d Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 14 Nov 2017 11:33:38 +0100 Subject: [PATCH 28/31] remove double keys Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/ceb1620bcd333bd470aee7c34949a690994a07da Author: Jacek Jendrzej Date: 2017-11-14 (Tue, 14 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- generic-pc/glfb.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/generic-pc/glfb.cpp b/generic-pc/glfb.cpp index 52aaff0..cae47e7 100644 --- a/generic-pc/glfb.cpp +++ b/generic-pc/glfb.cpp @@ -127,11 +127,6 @@ void GLFramebuffer::initKeys() mSpecialMap[GLUT_KEY_F7] = KEY_PAUSE; mSpecialMap[GLUT_KEY_F8] = KEY_STOP; - mSpecialMap[GLUT_KEY_F9] = KEY_FORWARD; - mSpecialMap[GLUT_KEY_F10] = KEY_REWIND; - mSpecialMap[GLUT_KEY_F11] = KEY_NEXT; - mSpecialMap[GLUT_KEY_F12] = KEY_PREVIOUS; - mSpecialMap[GLUT_KEY_F9] = KEY_RECORD; mSpecialMap[GLUT_KEY_F10] = KEY_PAUSE; From d94864cde8d4296d6c989413a3dc31e9e3777c35 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 14 Nov 2017 12:55:11 +0100 Subject: [PATCH 29/31] fix last commit Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/5662d1860233d56b70e95e74bb0187d381cd2090 Author: Jacek Jendrzej Date: 2017-11-14 (Tue, 14 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- generic-pc/glfb.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/generic-pc/glfb.cpp b/generic-pc/glfb.cpp index cae47e7..a838997 100644 --- a/generic-pc/glfb.cpp +++ b/generic-pc/glfb.cpp @@ -127,11 +127,10 @@ void GLFramebuffer::initKeys() mSpecialMap[GLUT_KEY_F7] = KEY_PAUSE; mSpecialMap[GLUT_KEY_F8] = KEY_STOP; - mSpecialMap[GLUT_KEY_F9] = KEY_RECORD; - mSpecialMap[GLUT_KEY_F10] = KEY_PAUSE; - - mSpecialMap[GLUT_KEY_F11] = KEY_NEXT; - mSpecialMap[GLUT_KEY_F12] = KEY_PREVIOUS; + mSpecialMap[GLUT_KEY_F9] = KEY_FORWARD; + mSpecialMap[GLUT_KEY_F10] = KEY_REWIND; + mSpecialMap[GLUT_KEY_F11] = KEY_NEXT; + mSpecialMap[GLUT_KEY_F12] = KEY_PREVIOUS; mSpecialMap[GLUT_KEY_PAGE_UP] = KEY_PAGEUP; mSpecialMap[GLUT_KEY_PAGE_DOWN] = KEY_PAGEDOWN; From 6dccf588af0c65fc47bcd5eb1cdc7191f2489c90 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 14 Nov 2017 15:13:13 +0100 Subject: [PATCH 30/31] fix merge error Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/0b9575ff7f9d381931c4cb356f04766ab19a7110 Author: Jacek Jendrzej Date: 2017-11-14 (Tue, 14 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index e543146..1e2012a 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -449,7 +449,7 @@ cPlayback::~cPlayback() //FIXME: all deleting stuff is done in Close() pthread_mutex_lock (&mutex_tag_ist); if (m_stream_tags) - gst_tag_list_free(m_stream_tags); + gst_tag_list_unref(m_stream_tags); pthread_mutex_unlock (&mutex_tag_ist); } From 4bc290bdedf3424d7dd28810d8eac672a56f49fb Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Tue, 14 Nov 2017 15:24:03 +0100 Subject: [PATCH 31/31] sync with oher repo Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/32a72a73578f1870f0396434037f8efdfa34908e Author: Jacek Jendrzej Date: 2017-11-14 (Tue, 14 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 1e2012a..e4b19d9 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -834,12 +834,17 @@ bool cPlayback::GetPosition(int &position, int &duration) if (audioSink || videoSink) { g_signal_emit_by_name(audioSink ? audioSink : videoSink, "get-decoder-time", &pts); - if (!GST_CLOCK_TIME_IS_VALID(pts)){ + if (!GST_CLOCK_TIME_IS_VALID(pts)) + { lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); } - }else{ + } + else + { if(!gst_element_query_position(m_gst_playbin, fmt, &pts)) + { lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); + } } position = pts / 1000000.0; // duration