summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2023-09-19 15:58:34 -0500
committerDudemanguy <random342@airmail.cc>2023-09-22 14:20:38 +0000
commitb2edd4312d06de7ced543e2e389c1e3866c27755 (patch)
tree04ed2f17c38d3dd879fc2344fd6a1c68a1ae5e4a /demux/demux_mkv.c
parenta343666ab5121e7a3388be9aa2d8731d6d1f2f64 (diff)
downloadmpv-b2edd4312d06de7ced543e2e389c1e3866c27755.tar.bz2
mpv-b2edd4312d06de7ced543e2e389c1e3866c27755.tar.xz
demuxer: remove several mp_read_option_raw calls
With the previous commit, we can just access option values directly now and avoid a lot of complication. Note that the mp_read_option_raw call for edition requires calling mp_get_config_group since that option needs to live in MPOpts.
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r--demux/demux_mkv.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index 870d49dc5a..6a47719420 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -46,6 +46,7 @@
#include "common/av_common.h"
#include "options/m_config.h"
#include "options/m_option.h"
+#include "options/options.h"
#include "misc/bstr.h"
#include "stream/stream.h"
#include "video/csputils.h"
@@ -190,7 +191,6 @@ typedef struct mkv_demuxer {
mkv_index_t *indexes;
size_t num_indexes;
bool index_complete;
- int index_mode;
int edition_id;
@@ -865,7 +865,7 @@ static int demux_mkv_read_cues(demuxer_t *demuxer)
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
stream_t *s = demuxer->stream;
- if (mkv_d->index_mode != 1 || mkv_d->index_complete) {
+ if (demuxer->opts->index_mode != 1 || mkv_d->index_complete) {
ebml_read_skip(demuxer->log, -1, s);
return 0;
}
@@ -1315,7 +1315,7 @@ static void read_deferred_cues(demuxer_t *demuxer)
{
mkv_demuxer_t *mkv_d = demuxer->priv;
- if (mkv_d->index_complete || mkv_d->index_mode != 1)
+ if (mkv_d->index_complete || demuxer->opts->index_mode != 1)
return;
for (int n = 0; n < mkv_d->num_headers; n++) {
@@ -2117,10 +2117,10 @@ static int demux_mkv_open(demuxer_t *demuxer, enum demux_check check)
mkv_d->segment_start = stream_tell(s);
mkv_d->segment_end = end_pos;
- mp_read_option_raw(demuxer->global, "index", &m_option_type_choice,
- &mkv_d->index_mode);
- mp_read_option_raw(demuxer->global, "edition", &m_option_type_choice,
- &mkv_d->edition_id);
+ struct MPOpts *mp_opts = mp_get_config_group(mkv_d, demuxer->global, &mp_opt_root);
+ mkv_d->edition_id = mp_opts->edition_id;
+ talloc_free(mp_opts);
+
mkv_d->opts = mp_get_config_group(mkv_d, demuxer->global, &demux_mkv_conf);
if (demuxer->params && demuxer->params->matroska_was_valid)