summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demux/demux_edl.c5
-rw-r--r--demux/demux_timeline.c3
-rw-r--r--demux/timeline.h1
3 files changed, 8 insertions, 1 deletions
diff --git a/demux/demux_edl.c b/demux/demux_edl.c
index 7016df3558..62e6c50070 100644
--- a/demux/demux_edl.c
+++ b/demux/demux_edl.c
@@ -270,8 +270,11 @@ static struct timeline_par *build_timeline(struct timeline *root,
MP_VERBOSE(root, "Opening init fragment...\n");
stream_t *s = stream_create(parts->init_fragment_url, STREAM_READ,
root->cancel, root->global);
- if (s)
+ if (s) {
+ root->is_network |= s->is_network;
+ root->is_streaming |= s->streaming;
tl->init_fragment = stream_read_complete(s, tl, 1000000);
+ }
free_stream(s);
if (!tl->init_fragment.len) {
MP_ERR(root, "Could not read init fragment.\n");
diff --git a/demux/demux_timeline.c b/demux/demux_timeline.c
index b18ae70faa..aefca9f1c9 100644
--- a/demux/demux_timeline.c
+++ b/demux/demux_timeline.c
@@ -525,6 +525,9 @@ static int d_open(struct demuxer *demuxer, enum demux_check check)
if (!p->num_sources)
return -1;
+ demuxer->is_network |= p->tl->is_network;
+ demuxer->is_streaming |= p->tl->is_streaming;
+
demuxer->duration = p->duration;
print_timeline(demuxer);
diff --git a/demux/timeline.h b/demux/timeline.h
index d4a7b39403..e64b2f96c9 100644
--- a/demux/timeline.h
+++ b/demux/timeline.h
@@ -35,6 +35,7 @@ struct timeline {
struct mp_log *log;
struct mp_cancel *cancel;
+ bool is_network, is_streaming;
const char *format;
// main source, and all other sources (this usually only has special meaning