diff options
author | wm4 <wm4@nowhere> | 2019-09-13 17:16:18 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2019-09-13 17:32:19 +0200 |
commit | b30e85508a305d668db8419556d295a65ab08707 (patch) | |
tree | fa48444a183c97fd5081aa0206c5adece43eaf32 /stream/stream_dvb.c | |
parent | 162e0f5ad92116d1a4fb740d087da2a152686b73 (diff) | |
download | mpv-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.c | 5 |
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; |