summaryrefslogtreecommitdiffstats
path: root/demux/demux.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux.c')
-rw-r--r--demux/demux.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 856951f905..3e27b43f93 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -1214,6 +1214,10 @@ void demuxer_switch_track(struct demuxer *demuxer, enum stream_type type,
{
assert(!stream || stream->type == type);
+ // don't flush buffers if stream is already selected
+ if (stream && demuxer_stream_is_selected(demuxer, stream))
+ return;
+
int old_id = demuxer->ds[type]->id;
// legacy