summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
Diffstat (limited to 'demux')
-rw-r--r--demux/demux.c1
-rw-r--r--demux/demux.h1
-rw-r--r--demux/demux_disc.c2
-rw-r--r--demux/demux_tv.c2
4 files changed, 6 insertions, 0 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 5f4c93b84f..ef420eb5ab 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -2211,6 +2211,7 @@ static struct demuxer *open_given_type(struct mpv_global *global,
.access_references = opts->access_references,
.events = DEMUX_EVENT_ALL,
.duration = -1,
+ .extended_ctrls = stream->extended_ctrls,
};
demuxer->seekable = stream->seekable;
if (demuxer->stream->underlying && !demuxer->stream->underlying->seekable)
diff --git a/demux/demux.h b/demux/demux.h
index ccbc6ae94a..25cefd115f 100644
--- a/demux/demux.h
+++ b/demux/demux.h
@@ -202,6 +202,7 @@ typedef struct demuxer {
bool fully_read;
bool is_network; // opened directly from a network stream
bool access_references; // allow opening other files/URLs
+ bool extended_ctrls; // supports some of BD/DVD/DVB/TV controls
// Bitmask of DEMUX_EVENT_*
int events;
diff --git a/demux/demux_disc.c b/demux/demux_disc.c
index 6ab17e69c8..2b81350ea4 100644
--- a/demux/demux_disc.c
+++ b/demux/demux_disc.c
@@ -342,6 +342,8 @@ static int d_open(demuxer_t *demuxer, enum demux_check check)
if (stream_control(demuxer->stream, STREAM_CTRL_GET_TIME_LENGTH, &len) >= 1)
demuxer->duration = len;
+ demuxer->extended_ctrls = true;
+
return 0;
}
diff --git a/demux/demux_tv.c b/demux/demux_tv.c
index 0e9bee4317..79cff5d79d 100644
--- a/demux/demux_tv.c
+++ b/demux/demux_tv.c
@@ -181,6 +181,8 @@ no_audio:
if(funcs->control(tvh->priv,TVI_CONTROL_VID_SET_GAIN,&tvh->tv_param->gain)!=TVI_CONTROL_TRUE)
MP_WARN(tvh, "Unable to set gain control!\n");
+ demuxer->extended_ctrls = true;
+
return 0;
}