remove obsolete embedded libtriple

the code is unmaintained and probably non-functional, everyone
should use libstb-hal instead
(forward ported neutrino-mp commit 2158fee441)


Origin commit data
------------------
Commit: 57078ed23d
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2016-10-23 (Sun, 23 Oct 2016)
This commit is contained in:
Stefan Seyfried
2016-10-23 12:19:06 +02:00
parent fa76d8511d
commit 07a1df57f1
14 changed files with 0 additions and 584 deletions

View File

@@ -271,7 +271,6 @@ lib/xmltree/Makefile
lib/jsoncpp/Makefile
lib/sectionsdclient/Makefile
lib/timerdclient/Makefile
lib/libtriple/Makefile
lib/libtuxtxt/Makefile
lib/libdvbsub/Makefile
lib/libupnpclient/Makefile

View File

@@ -17,8 +17,3 @@ if ENABLE_UPNP
SUBDIRS += \
libupnpclient
endif
if BOXTYPE_TRIPLE
SUBDIRS += \
libtriple
endif

View File

@@ -1,22 +0,0 @@
AM_CPPFLAGS = \
-I$(top_srcdir)/src \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src/zapit/include \
-I$(top_srcdir)/lib/connection \
-I$(top_srcdir)/lib/libeventserver \
@DIRECTFB_CFLAGS@
noinst_LIBRARIES = libtriple.a
AM_CPPFLAGS += -fno-rtti -fno-exceptions
libtriple_a_SOURCES = \
dmx_td.cpp \
video_td.cpp \
audio_td.cpp \
init_td.cpp \
playback_td.cpp \
pwrmngr.cpp \
record_td.cpp
#libtriple_a_LIBADD = $(top_builddir)/src/driver/libneutrino_driver.a

View File

@@ -1,66 +0,0 @@
/* compatibility header for tripledragon. I'm lazy, so I just left it
as "cs_api.h" so that I don't need too many ifdefs in the code */
#ifndef __CS_API_H_
#define __CS_API_H_
#include "init_td.h"
typedef void (*cs_messenger) (unsigned int msg, unsigned int data);
#if 0
enum CS_LOG_MODULE {
CS_LOG_CI = 0,
CS_LOG_HDMI_CEC,
CS_LOG_HDMI,
CS_LOG_VIDEO,
CS_LOG_VIDEO_DRM,
CS_LOG_AUDIO,
CS_LOG_DEMUX,
CS_LOG_DENC,
CS_LOG_PVR_RECORD,
CS_LOG_PVR_PLAY,
CS_LOG_POWER_CTRL,
CS_LOG_POWER_CLK,
CS_LOG_MEM,
CS_LOG_API,
};
#endif
inline void cs_api_init()
{
init_td_api();
};
inline void cs_api_exit()
{
shutdown_td_api();
};
#define cs_malloc_uncached malloc
#define cs_free_uncached free
// Callback function helpers
static inline void cs_register_messenger(cs_messenger) { return; };
static inline void cs_deregister_messenger(void) { return; };
//cs_messenger cs_get_messenger(void);
#if 0
// Logging functions
void cs_log_enable(void);
void cs_log_disable(void);
void cs_log_message(const char *prefix, const char *fmt, ...);
void cs_log_module_enable(enum CS_LOG_MODULE module);
void cs_log_module_disable(enum CS_LOG_MODULE module);
void cs_log_module_message(enum CS_LOG_MODULE module, const char *fmt, ...);
// TS Routing
unsigned int cs_get_ts_output(void);
int cs_set_ts_output(unsigned int port);
// Serial nr and revision accessors
unsigned long long cs_get_serial(void);
#endif
/* compat... HD1 seems to be version 6. everything newer ist > 6... */
static unsigned int cs_get_revision(void) { return 1; };
extern int cnxt_debug;
#endif //__CS_API_H_

View File

@@ -1,2 +0,0 @@
#warning using init_cs.h from libtriple
#include "init_td.h"

View File

@@ -1,133 +0,0 @@
#include <stdio.h>
#include "init_td.h"
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <unistd.h>
#include <directfb.h>
extern "C" {
#include <tdpanel/ir_ruwido.h>
#include <hardware/avs/avs_inf.h>
#include <hardware/avs/bios_system_config.h>
}
static const char * FILENAME = "init_td.cpp";
static bool initialized = false;
/* the super interface */
static IDirectFB *dfb;
/* the primary surface */
static IDirectFBSurface *primary;
static IDirectFBSurface *dest;
static IDirectFBDisplayLayer *layer;
#define DFBCHECK(x...) \
err = x; \
if (err != DFB_OK) { \
fprintf(stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
DirectFBErrorFatal(#x, err ); \
}
static void dfb_init()
{
int argc = 0;
DFBResult err;
DFBSurfaceDescription dsc;
DFBSurfacePixelFormat pixelformat;
int SW, SH;
DFBCHECK(DirectFBInit(&argc, NULL));
/* neutrino does its own VT handling */
DirectFBSetOption("no-vt-switch", NULL);
DirectFBSetOption("no-vt", NULL);
/* signal handling seems to interfere with neutrino */
DirectFBSetOption("no-sighandler", NULL);
/* if DirectFB grabs the remote, neutrino does not get events */
DirectFBSetOption("disable-module", "tdremote");
DirectFBSetOption("disable-module", "keyboard");
DirectFBSetOption("disable-module", "linux_input");
DFBCHECK(DirectFBCreate(&dfb));
err = dfb->SetCooperativeLevel(dfb, DFSCL_FULLSCREEN);
if (err)
DirectFBError("Failed to get exclusive access", err);
dsc.flags = DSDESC_CAPS;
dsc.caps = DSCAPS_PRIMARY;
DFBCHECK(dfb->CreateSurface( dfb, &dsc, &primary ));
/* set pixel alpha mode */
dfb->GetDisplayLayer(dfb, DLID_PRIMARY, &layer);
DFBCHECK(layer->SetCooperativeLevel(layer, DLSCL_EXCLUSIVE));
DFBDisplayLayerConfig conf;
DFBCHECK(layer->GetConfiguration(layer, &conf));
conf.flags = DLCONF_OPTIONS;
conf.options = (DFBDisplayLayerOptions)((conf.options & ~DLOP_OPACITY) | DLOP_ALPHACHANNEL);
DFBCHECK(layer->SetConfiguration(layer, &conf));
primary->GetPixelFormat(primary, &pixelformat);
primary->GetSize(primary, &SW, &SH);
primary->Clear(primary, 0, 0, 0, 0);
primary->GetSubSurface(primary, NULL, &dest);
dest->Clear(dest, 0, 0, 0, 0);
}
static void dfb_deinit()
{
dest->Release(dest);
primary->Release(primary);
layer->Release(layer);
dfb->Release(dfb);
}
static void rc_init()
{
/* set remote control address from bootloader config */
int fd = open("/dev/stb/tdsystem", O_RDWR);
struct BIOS_CONFIG_AREA bca;
unsigned short rc_addr = 0xff;
if (ioctl(fd, IOC_AVS_GET_LOADERCONFIG, &bca) != 0)
fprintf(stderr, "%s: IOC_AVS_GET_LOADERCONFIG failed: %m\n", __FUNCTION__);
else
rc_addr = bca.ir_adrs;
close(fd);
fd = open("/dev/stb/tdremote", O_RDWR);
if (ioctl(fd, IOC_IR_SET_ADDRESS, rc_addr) < 0)
fprintf(stderr, "%s: IOC_IR_SET_ADDRESS %d failed: %m\n", __FUNCTION__, rc_addr);
/* short delay in the driver improves responsiveness and reduces spurious
"key up" events during zapping */
//ioctl(fd, IOC_IR_SET_DELAY, 1); TODO: needs more work in rcinput
close(fd);
printf("%s: rc_addr=0x%02hx\n", __FUNCTION__, rc_addr);
}
void init_td_api()
{
fprintf(stderr, "%s:%s begin, initialized = %d\n", FILENAME, __FUNCTION__, (int)initialized);
if (!initialized)
{
/* DirectFB does setpgid(0,0), which disconnects us from controlling terminal
and thus disables e.g. ctrl-C. work around that. */
pid_t pid = getpgid(0);
dfb_init();
if (setpgid(0, pid))
perror("setpgid");
rc_init();
}
initialized = true;
fprintf(stderr, "%s:%s end\n", FILENAME, __FUNCTION__);
}
void shutdown_td_api()
{
fprintf(stderr, "%s:%s, initialized = %d\n", FILENAME, __FUNCTION__, (int)initialized);
if (initialized)
dfb_deinit();
initialized = false;
}

View File

@@ -1,5 +0,0 @@
#ifndef __INIT_TD_H
#define __INIT_TD_H
void init_td_api();
void shutdown_td_api();
#endif

View File

@@ -1 +0,0 @@
#include "playback_td.h"

View File

@@ -1,38 +0,0 @@
/*
* compatibility stuff for Tripledragon audio API
*
* (C) 2009 Stefan Seyfried
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef __td_audio_compat_h__
#define __td_audio_compat_h__
#include <aud/aud_inf.h>
// types
typedef enum {
AUDIO_SOURCE_DEMUX = AUD_SOURCE_DEMUX,
AUDIO_SOURCE_MEMORY = AUD_SOURCE_MEMORY
} audio_stream_source_t;
#define audio_channel_select_t audChannel_t
// ioctls
#define AUDIO_CHANNEL_SELECT MPEG_AUD_SELECT_CHANNEL
#define AUDIO_SELECT_SOURCE MPEG_AUD_SELECT_SOURCE
#define AUDIO_PLAY MPEG_AUD_PLAY
#define AUDIO_STOP MPEG_AUD_STOP
#define AUDIO_SET_MUTE MPEG_AUD_SET_MUTE
#endif /* __td_audio_compat_h__ */

View File

@@ -1,45 +0,0 @@
/*
* compatibility stuff for Tripledragon demux API
*
* (C) 2009 Stefan Seyfried
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef __td_demux_compat_h__
#define __td_demux_compat_h__
#include <sys/types.h>
#include <xp/xp_osd_user.h>
// types
#define dmx_output_t OutDevice
#define dmx_pes_type_t PesType
#define dmx_sct_filter_params demux_filter_para
#define dmx_pes_filter_params demux_pes_para
#define pes_type pesType
// defines
#define DMX_FILTER_SIZE FILTER_LENGTH
#define DMX_ONESHOT XPDF_ONESHOT
#define DMX_CHECK_CRC 0 // TD checks CRC by default
#define DMX_IMMEDIATE_START XPDF_IMMEDIATE_START
#define DMX_OUT_DECODER OUT_DECODER
// ioctls
#define DMX_SET_FILTER DEMUX_FILTER_SET
#define DMX_SET_PES_FILTER DEMUX_FILTER_PES_SET
#define DMX_START DEMUX_START
#define DMX_STOP DEMUX_STOP
#define DMX_SET_BUFFER_SIZE DEMUX_SET_BUFFER_SIZE
#endif /* __td_demux_compat_h__ */

View File

@@ -1,120 +0,0 @@
/*
* compatibility stuff for Tripledragon frontend API
*
* (C) 2009 Stefan Seyfried
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef __td_frontend_compat_h__
#define __td_frontend_compat_h__
#ifdef __cplusplus
extern "C" {
#endif
#include <tdtuner/tuner_inf.h>
#ifdef __cplusplus
}
#endif
/* I know that those are different. But functions that get a
dvb_frontend_parameters struct passed on dbox/dreambox will most likely
get a tunersetup struct on TD, so it keeps the differences in headers
and function prototypes small. Of course, the functions itself will have
#ifdef TRIPLEDRAGON or similar... */
#define dvb_frontend_parameters tunersetup
/* compat stuff for settings.cpp */
enum {
INVERSION_OFF,
INVERSION_ON,
INVERSION_AUTO
};
typedef enum fe_code_rate {
FEC_NONE = 0,
FEC_1_2,
FEC_2_3,
FEC_3_4,
FEC_4_5,
FEC_5_6,
FEC_6_7,
FEC_7_8,
FEC_8_9,
FEC_AUTO
} fe_code_rate_t;
enum td_code_rate {
TD_FEC_AUTO = 0,
TD_FEC_1_2,
TD_FEC_2_3,
TD_FEC_3_4,
TD_FEC_5_6,
TD_FEC_7_8
};
typedef enum fe_sec_tone_mode {
SEC_TONE_ON,
SEC_TONE_OFF
} fe_sec_tone_mode_t;
typedef enum fe_sec_voltage {
SEC_VOLTAGE_13,
SEC_VOLTAGE_18,
SEC_VOLTAGE_OFF
} fe_sec_voltage_t;
typedef enum fe_sec_mini_cmd {
SEC_MINI_A,
SEC_MINI_B
} fe_sec_mini_cmd_t;
struct dvb_diseqc_master_cmd {
unsigned char msg [6]; /* { framing, address, command, data [3] } */
unsigned char msg_len; /* valid values are 3...6 */
};
typedef enum fe_type {
FE_QPSK,
FE_QAM,
FE_OFDM,
FE_ATSC
} fe_type_t;
struct dvb_frontend_info {
// char name[128];
fe_type_t type;
#if 0
__u32 frequency_min;
__u32 frequency_max;
__u32 frequency_stepsize;
__u32 frequency_tolerance;
__u32 symbol_rate_min;
__u32 symbol_rate_max;
__u32 symbol_rate_tolerance; /* ppm */
__u32 notifier_delay; /* DEPRECATED */
fe_caps_t caps;
#endif
};
struct dvb_frontend_event {
fe_status_t status;
tunersetup parameters;
};
#ifdef _DVBFRONTEND_H_
#error _DVBFRONTEND_H_ included
#endif
#endif /* __td_frontend_compat_h__ */

View File

@@ -1,93 +0,0 @@
/*
* compatibility stuff for conversion of Tripledragon API values to DVB API
* and vice versa
*
* (C) 2009 Stefan Seyfried
*
* Released under the GPL V2.
*/
#ifndef _td_value_compat_
#define _td_value_compat_
#undef FE_GET_INFO
#undef FE_READ_BER
#undef FE_READ_SIGNAL_STRENGTH
#undef FE_READ_SNR
#undef FE_READ_UNCORRECTED_BLOCKS
#undef FE_GET_EVENT
#undef FE_READ_STATUS
#undef FE_SET_PROPERTY
#undef FE_GET_EVENT
#undef FE_GET_EVENT
#undef FE_SET_PROPERTY
#undef FE_SET_TONE
#undef FE_ENABLE_HIGH_LNB_VOLTAGE
#undef FE_SET_VOLTAGE
#undef FE_DISEQC_SEND_MASTER_CMD
#undef FE_DISEQC_SEND_BURST
/* hack, linux/dvb/frontend.h already defines fe_status */
#define fe_status td_fe_status
#define fe_status_t td_fe_status_t
#define FE_HAS_SIGNAL TD_FE_HAS_SIGNAL
#define FE_HAS_CARRIER TD_FE_HAS_CARRIER
#define FE_HAS_VITERBI TD_FE_HAS_VITERBI
#define FE_HAS_SYNC TD_FE_HAS_SYNC
#define FE_HAS_LOCK TD_FE_HAS_LOCK
#define FE_TIMEDOUT TD_FE_TIMEDOUT
#define FE_REINIT TD_FE_REINIT
#include <tdtuner/tuner_inf.h>
#undef fe_status
#undef fe_status_t
#undef FE_HAS_SIGNAL
#undef FE_HAS_CARRIER
#undef FE_HAS_VITERBI
#undef FE_HAS_SYNC
#undef FE_HAS_LOCK
#undef FE_TIMEDOUT
#undef FE_REINIT
enum td_code_rate {
TD_FEC_AUTO = 0,
TD_FEC_1_2,
TD_FEC_2_3,
TD_FEC_3_4,
TD_FEC_5_6,
TD_FEC_7_8
};
static inline unsigned int dvbfec2tdfec(fe_code_rate_t fec)
{
switch (fec) {
case FEC_1_2: // FEC_1_2 ... FEC_3_4 are equal to TD_FEC_1_2 ... TD_FEC_3_4
case FEC_2_3:
case FEC_3_4:
return (unsigned int)fec;
case FEC_5_6:
return TD_FEC_5_6;
case FEC_7_8:
return TD_FEC_7_8;
default:
break;
}
return TD_FEC_AUTO;
}
static inline fe_code_rate_t tdfec2dvbfec(unsigned int tdfec)
{
switch (tdfec)
{
case TD_FEC_1_2:
case TD_FEC_2_3:
case TD_FEC_3_4:
return (fe_code_rate_t)tdfec;
case TD_FEC_5_6:
return FEC_5_6;
case TD_FEC_7_8:
return FEC_7_8;
default:
break;
}
return FEC_AUTO;
}
#endif /* _td_value_compat_ */

View File

@@ -1,46 +0,0 @@
/*
* compatibility stuff for Tripledragon video API
*
* (C) 2009 Stefan Seyfried
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __td_video_compat_h__
#define __td_video_compat_h__
#include <vid/vid_inf.h>
// types
#define video_format_t vidDispSize_t
#define video_displayformat_t vidDispMode_t
typedef enum {
VIDEO_SOURCE_DEMUX = VID_SOURCE_DEMUX,
VIDEO_SOURCE_MEMORY = VID_SOURCE_MEMORY
} video_stream_source_t;
typedef enum {
VIDEO_STOPPED, /* Video is stopped */
VIDEO_PLAYING, /* Video is currently playing */
VIDEO_FREEZED /* Video is freezed */
} video_play_state_t;
//#define video_play_state_t vidState_t
// ioctls
#define VIDEO_SET_SYSTEM MPEG_VID_SET_DISPFMT
#define VIDEO_SET_FORMAT MPEG_VID_SET_DISPSIZE
#define VIDEO_SET_DISPLAY_FORMAT MPEG_VID_SET_DISPMODE
#define VIDEO_SELECT_SOURCE MPEG_VID_SELECT_SOURCE
#define VIDEO_PLAY MPEG_VID_PLAY
#define VIDEO_STOP MPEG_VID_STOP
#define VIDEO_SET_BLANK MPEG_VID_SET_BLANK
#endif /* __td_video_compat_h__ */

View File

@@ -167,10 +167,3 @@ bin_PROGRAMS += mdev_helper
mdev_helper_SOURCES = mdev_helper.cpp
endif
if BOXTYPE_TRIPLE
neutrino_LDADD += \
$(top_builddir)/lib/libtriple/libtriple.a \
@DIRECTFB_LIBS@ \
$(top_builddir)/src/lcddisplay/liblcddisplay.a
endif