summaryrefslogtreecommitdiffstats
path: root/stream/stream_dvb.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-09-13 17:16:18 +0200
committerwm4 <wm4@nowhere>2019-09-13 17:32:19 +0200
commitb30e85508a305d668db8419556d295a65ab08707 (patch)
treefa48444a183c97fd5081aa0206c5adece43eaf32 /stream/stream_dvb.c
parent162e0f5ad92116d1a4fb740d087da2a152686b73 (diff)
downloadmpv-b30e85508a305d668db8419556d295a65ab08707.tar.bz2
mpv-b30e85508a305d668db8419556d295a65ab08707.tar.xz
Remove classic Linux analog TV support, and DVB runtime controls
Linux analog TV support (via tv://) was excessively complex, and whenever I attempted to use it (cameras or loopback devices), it didn't work well, or would have required some major work to update it. It's very much stuck in the analog past (my favorite are the frequency tables in frequencies.c for analog TV channels which don't exist anymore). Especially cameras and such work fine with libavdevice and better than tv://, for example: mpv av://v4l2:/dev/video0 (adding --profile=low-latency --untimed even makes it mostly realtime) Adding a new input layer that targets such "modern" uses would be acceptable, if anyone is interested in it. The old TV code is just too focused on actual analog TV. DVB is rather obscure, but has an active maintainer, so don't remove it. However, the demux/stream ctrl layer must go, so remove controls for channel switching. Most of these could be reimplemented by using the normal method for option runtime changes.
Diffstat (limited to 'stream/stream_dvb.c')
-rw-r--r--stream/stream_dvb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/stream/stream_dvb.c b/stream/stream_dvb.c
index 6f36d0ef68..f87b95416c 100644
--- a/stream/stream_dvb.c
+++ b/stream/stream_dvb.c
@@ -901,6 +901,7 @@ static int dvbin_stream_control(struct stream *s, int cmd, void *arg)
dvb_channels_list_t *list = NULL;
+#if 0
switch (cmd) {
case STREAM_CTRL_DVB_SET_CHANNEL: {
unsigned int *iarg = arg;
@@ -926,13 +927,14 @@ static int dvbin_stream_control(struct stream *s, int cmd, void *arg)
return STREAM_ERROR;
}
}
-
+#endif
if (state->cur_adapter >= state->adapters_count)
return STREAM_ERROR;
list = state->adapters[state->cur_adapter].list;
switch (cmd) {
+#if 0
case STREAM_CTRL_GET_TV_FREQ:
(*(unsigned int*)arg) = list->channels[list->current].freq;
return STREAM_ERROR;
@@ -966,6 +968,7 @@ static int dvbin_stream_control(struct stream *s, int cmd, void *arg)
*(char **)arg = talloc_strdup(NULL, progname);
return STREAM_OK;
}
+#endif
case STREAM_CTRL_GET_METADATA: {
struct mp_tags *metadata = talloc_zero(NULL, struct mp_tags);
char *progname = list->channels[list->current].name;