diff --git a/src/input/mpegts/tsfile/rawts_input.h b/src/input/mpegts/tsfile/rawts_input.h
deleted file mode 100644
index a52d33d0..00000000
--- a/src/input/mpegts/tsfile/rawts_input.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Tvheadend - TS file based input (debugging)
- *
- * Copyright (C) 2013 Adam Sutton
- *
- * 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, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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, see .
- */
-
-#ifndef __TVH_TSFILE_INPUT_H__
-#define __TVH_TSFILE_INPUT_H__
-
-typedef struct tsfile_input
-{
-
-
-} tsfile_input_t;
-
-#endif /* __TVH_TSFILE_INPUT_H__ */
-
-/******************************************************************************
- * Editor Configuration
- *
- * vim:sts=2:ts=2:sw=2:et
- *****************************************************************************/
diff --git a/src/input/mpegts/tsfile/rawtsinput.c b/src/input/mpegts/tsfile/rawtsinput.c
deleted file mode 100644
index 905cdcaa..00000000
--- a/src/input/mpegts/tsfile/rawtsinput.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * Raw TS input (for debugging)
- * Copyright (C) 2009 Andreas Ă–man
- *
- * 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, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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, see .
- */
-
-#define _XOPEN_SOURCE 600 // for clock_nanosleep()
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "tvheadend.h"
-#include "rawtsinput.h"
-#include "psi.h"
-#include "tsdemux.h"
-#include "channels.h"
-
-typedef struct rawts {
- int rt_fd;
-
- char *rt_identifier;
- psi_section_t rt_pat;
-
- struct service_list rt_services;
-
- int rt_pcr_pid;
-
-} rawts_t;
-
-
-const idclass_t rawts_class = {
- .ic_super = &service_class,
- .ic_class = "rawts",
-};
-
-/**
- *
- */
-static int
-rawts_service_start(service_t *t, int id)
-{
- return 0; // Always ok
-}
-
-/**
- *
- */
-static void
-rawts_service_stop(service_t *t)
-{
-}
-
-/**
- *
- */
-static void
-rawts_service_save(service_t *t)
-{
- htsmsg_t *m = htsmsg_create_map();
-
- pthread_mutex_lock(&t->s_stream_mutex);
- psi_save_service_settings(m, t);
- pthread_mutex_unlock(&t->s_stream_mutex);
-
- //htsmsg_print(m);
- htsmsg_destroy(m);
-
-}
-
-/**
- *
- */
-static int
-rawts_service_is_enabled(service_t *t)
-{
- return 1;
-}
-
-
-/**
- * Generate a descriptive name for the source
- */
-static void
-rawts_service_setsourceinfo(service_t *t, struct source_info *si)
-{
- memset(si, 0, sizeof(struct source_info));
-}
-
-
-
-/**
- *
- */
-static service_t *
-rawts_service_add(rawts_t *rt, uint16_t sid, int pmt_pid)
-{
- service_t *t;
- struct channel *ch;
-
- char tmp[200];
-
- LIST_FOREACH(t, &rt->rt_services, s_group_link) {
- if(t->s_dvb_service_id == sid)
- return t;
- }
-
- snprintf(tmp, sizeof(tmp), "%s_%04x", rt->rt_identifier, sid);
-
- t = service_create(NULL, S_MPEG_TS, &rawts_class);
- t->s_flags |= S_DEBUG;
-
- t->s_dvb_service_id = sid;
- t->s_pmt_pid = pmt_pid;
-
- t->s_start_feed = rawts_service_start;
- t->s_stop_feed = rawts_service_stop;
- t->s_config_save = rawts_service_save;
- t->s_setsourceinfo = rawts_service_setsourceinfo;
- t->s_is_enabled = rawts_service_is_enabled;
-
- t->s_svcname = strdup(tmp);
-
- pthread_mutex_lock(&t->s_stream_mutex);
- service_make_nicename(t);
- pthread_mutex_unlock(&t->s_stream_mutex);
-
- tvhlog(LOG_NOTICE, "rawts", "Added service %d (pmt: %d)", sid, pmt_pid);
-
- LIST_INSERT_HEAD(&rt->rt_services, t, s_group_link);
-
- ch = channel_find_by_name(tmp, 1, 0);
-
- service_map_channel(t, ch, 0);
- return t;
-}
-
-
-/*
- *
- */
-
-static void
-got_pmt(struct service *t, elementary_stream_t *st,
- const uint8_t *table, int table_len)
-{
- if(table[0] != 2)
- return;
-
- pthread_mutex_lock(&global_lock);
- psi_parse_pmt(t, table + 3, table_len - 3, 1, 1);
- pthread_mutex_unlock(&global_lock);
-}
-
-
-
-/**
- *
- */
-static void
-got_pat(const uint8_t *ptr, size_t len, void *opaque)
-{
- rawts_t *rt = opaque;
- service_t *t;
- elementary_stream_t *st;
- uint16_t prognum;
- uint16_t pid;
-
- len -= 8;
- ptr += 8;
-
- if(len <= 0)
- return;
-
- pthread_mutex_lock(&global_lock);
-
- while(len >= 4) {
-
- prognum = ptr[0] << 8 | ptr[1];
- pid = (ptr[2] & 0x1f) << 8 | ptr[3];
-
- if(prognum != 0) {
- t = rawts_service_add(rt, prognum, pid);
-
- if(t != NULL) {
- pthread_mutex_lock(&t->s_stream_mutex);
-
- if(service_stream_find(t, pid) == NULL) {
- st = service_stream_create(t, pid, SCT_PMT);
- st->es_section_docrc = 1;
- st->es_got_section = got_pmt;
- }
- pthread_mutex_unlock(&t->s_stream_mutex);
- }
- }
- ptr += 4;
- len -= 4;
- }
- pthread_mutex_unlock(&global_lock);
-}
-
-/**
- *
- */
-static void
-rawts_pat(rawts_t *rt, const uint8_t *tsb)
-{
- psi_section_reassemble(&rt->rt_pat, tsb, 1, got_pat, rt);
-}
-
-
-/**
- *
- */
-static void
-process_ts_packet(rawts_t *rt, uint8_t *tsb)
-{
- uint16_t pid;
- service_t *t;
- int64_t pcr, d;
- int didsleep = 0;
-
- pid = ((tsb[1] & 0x1f) << 8) | tsb[2];
- if(pid == 0) {
- /* PAT */
- rawts_pat(rt, tsb);
- return;
- }
-
- LIST_FOREACH(t, &rt->rt_services, s_group_link) {
- pcr = PTS_UNSET;
-
- ts_recv_packet1(t, tsb, &pcr);
-
- if(pcr != PTS_UNSET) {
-
- if(rt->rt_pcr_pid == 0)
- rt->rt_pcr_pid = pid;
-
- if(rt->rt_pcr_pid == pid) {
- if(t->s_pcr_last != PTS_UNSET && didsleep == 0) {
- struct timespec slp;
- int64_t delta = pcr - t->s_pcr_last;
-
-
-
- if(delta > 90000)
- delta = 90000;
- delta *= 11;
- d = delta + t->s_pcr_last_realtime;
- slp.tv_sec = d / 1000000;
- slp.tv_nsec = (d % 1000000) * 1000;
-
- clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &slp, NULL);
- didsleep = 1;
- }
- t->s_pcr_last = pcr;
- t->s_pcr_last_realtime = getmonoclock();
- }
- }
- }
-}
-
-
-/**
- *
- */
-static void *
-raw_ts_reader(void *aux)
-{
- rawts_t *rt = aux;
- uint8_t tsblock[188];
- struct timespec tm = {0, 0};
- int c = 0;
- int i;
-
- while(1) {
-
- for(i = 0; i < 2; i++) {
- if(read(rt->rt_fd, tsblock, 188) != 188) {
- lseek(rt->rt_fd, 0, SEEK_SET);
- continue;
- }
- c++;
- process_ts_packet(rt, tsblock);
- }
- nanosleep(&tm, NULL);
- }
-
- return NULL;
-}
-
-
-/**
- *
- */
-void
-rawts_init(const char *filename)
-{
- pthread_t ptid;
- rawts_t *rt;
- int fd = tvh_open(filename, O_RDONLY, 0);
-
- if(fd == -1) {
- fprintf(stderr, "Unable to open %s -- %s\n", filename, strerror(errno));
- return;
- }
-
- rt = calloc(1, sizeof(rawts_t));
- rt->rt_fd = fd;
-
- rt->rt_identifier = strdup("rawts");
-
- pthread_create(&ptid, NULL, raw_ts_reader, rt);
-}
diff --git a/src/input/mpegts/tsfile/rawtsinput.h b/src/input/mpegts/tsfile/rawtsinput.h
deleted file mode 100644
index d007a632..00000000
--- a/src/input/mpegts/tsfile/rawtsinput.h
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-void rawts_init(const char *filename);
-