summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
Diffstat (limited to 'demux')
-rw-r--r--demux/demux.c1
-rw-r--r--demux/demux.h8
-rw-r--r--demux/demux_mkv.c1
-rw-r--r--demux/demux_mkv_timeline.c58
4 files changed, 29 insertions, 39 deletions
diff --git a/demux/demux.c b/demux/demux.c
index e29956af12..e901a9352b 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -900,7 +900,6 @@ static struct demuxer *open_given_type(struct mpv_global *global,
struct demuxer *demuxer = talloc_ptrtype(NULL, demuxer);
*demuxer = (struct demuxer) {
.desc = desc,
- .type = desc->type,
.stream = stream,
.seekable = stream->seekable,
.filepos = -1,
diff --git a/demux/demux.h b/demux/demux.h
index 14154cef0c..cd897be7e2 100644
--- a/demux/demux.h
+++ b/demux/demux.h
@@ -36,11 +36,6 @@
#define MAX_PACKS 16000
#define MAX_PACK_BYTES (400 * 1024 * 1024)
-enum demuxer_type {
- DEMUXER_TYPE_GENERIC = 0,
- DEMUXER_TYPE_MATROSKA,
-};
-
// DEMUXER control commands/answers
#define DEMUXER_CTRL_NOTIMPL -1
#define DEMUXER_CTRL_DONTKNOW 0
@@ -111,8 +106,6 @@ typedef struct demuxer_desc {
const char *name; // Demuxer name, used with -demuxer switch
const char *desc; // Displayed to user
- enum demuxer_type type; // optional
-
// Return 0 on success, otherwise -1
int (*open)(struct demuxer *demuxer, enum demux_check check);
// The following functions are all optional
@@ -185,7 +178,6 @@ typedef struct demuxer {
const char *filetype; // format name when not identified by demuxer (libavformat)
int64_t filepos; // input stream current pos.
char *filename; // same as stream->url
- enum demuxer_type type;
bool seekable;
bool partially_seekable; // implies seekable=true
double start_time;
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index b1a299feca..2c1f34d70c 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -2884,7 +2884,6 @@ static void mkv_free(struct demuxer *demuxer)
const demuxer_desc_t demuxer_desc_matroska = {
.name = "mkv",
.desc = "Matroska",
- .type = DEMUXER_TYPE_MATROSKA,
.open = demux_mkv_open,
.fill_buffer = demux_mkv_fill_buffer,
.close = mkv_free,
diff --git a/demux/demux_mkv_timeline.c b/demux/demux_mkv_timeline.c
index 57bb93e1cd..1a1816b93e 100644
--- a/demux/demux_mkv_timeline.c
+++ b/demux/demux_mkv_timeline.c
@@ -212,45 +212,45 @@ static bool check_file_seg(struct tl_ctx *ctx, struct demuxer ***sources,
free_stream(s);
return was_valid;
}
- if (d->type == DEMUXER_TYPE_MATROSKA) {
- struct matroska_data *m = &d->matroska_data;
- for (int i = 1; i < *num_sources; i++) {
- struct matroska_segment_uid *uid = *uids + i;
- if ((*sources)[i])
- continue;
- /* Accept the source if the segment uid matches and the edition
- * either matches or isn't specified. */
- if (!memcmp(uid->segment, m->uid.segment, 16) &&
- (!uid->edition || uid->edition == m->uid.edition))
- {
- MP_INFO(ctx, "Match for source %d: %s\n", i, d->filename);
-
- for (int j = 0; j < m->num_ordered_chapters; j++) {
- struct matroska_chapter *c = m->ordered_chapters + j;
-
- if (!c->has_segment_uid)
- continue;
+ struct matroska_data *m = &d->matroska_data;
- if (has_source_request(*uids, *num_sources, &c->uid))
- continue;
+ for (int i = 1; i < *num_sources; i++) {
+ struct matroska_segment_uid *uid = *uids + i;
+ if ((*sources)[i])
+ continue;
+ /* Accept the source if the segment uid matches and the edition
+ * either matches or isn't specified. */
+ if (!memcmp(uid->segment, m->uid.segment, 16) &&
+ (!uid->edition || uid->edition == m->uid.edition))
+ {
+ MP_INFO(ctx, "Match for source %d: %s\n", i, d->filename);
- /* Set the requested segment. */
- MP_TARRAY_GROW(NULL, *uids, *num_sources);
- (*uids)[*num_sources] = c->uid;
+ for (int j = 0; j < m->num_ordered_chapters; j++) {
+ struct matroska_chapter *c = m->ordered_chapters + j;
- /* Add a new source slot. */
- MP_TARRAY_APPEND(NULL, *sources, *num_sources, NULL);
- }
+ if (!c->has_segment_uid)
+ continue;
- if (enable_cache(ctx->global, &s, &d, &params) < 0)
+ if (has_source_request(*uids, *num_sources, &c->uid))
continue;
- (*sources)[i] = d;
- return true;
+ /* Set the requested segment. */
+ MP_TARRAY_GROW(NULL, *uids, *num_sources);
+ (*uids)[*num_sources] = c->uid;
+
+ /* Add a new source slot. */
+ MP_TARRAY_APPEND(NULL, *sources, *num_sources, NULL);
}
+
+ if (enable_cache(ctx->global, &s, &d, &params) < 0)
+ continue;
+
+ (*sources)[i] = d;
+ return true;
}
}
+
free_demuxer(d);
free_stream(s);
return was_valid;