summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2010-11-08 02:38:51 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-11-08 18:05:12 +0200
commita7b91626cf04139b3a42db048fe5b5aea96e141a (patch)
tree66c48a2ffe943c260ca62e3f9b39481fda97cac0 /libmpdemux
parent82cd2f7aecef6594f1aea15251b547365bebb183 (diff)
downloadmpv-a7b91626cf04139b3a42db048fe5b5aea96e141a.tar.bz2
mpv-a7b91626cf04139b3a42db048fe5b5aea96e141a.tar.xz
core: use correct demuxer with -audiofile / -subfile
Various code referred to "mpctx->demuxer" where it should really have referred to the one used for audio/subtitles in case those differ. Fix by using "mpctx->d_audio->demuxer" etc instead. Disable the copying of streams in demux_demuxers; that was a partial workaround for things referring to the main demuxer (and it wasn't enough anyway). This fixes, among other things, switching audio tracks within the file specified by -audiofile.
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_demuxers.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libmpdemux/demux_demuxers.c b/libmpdemux/demux_demuxers.c
index 1c71787008..3de307db0f 100644
--- a/libmpdemux/demux_demuxers.c
+++ b/libmpdemux/demux_demuxers.c
@@ -63,12 +63,12 @@ demuxer_t* new_demuxers_demuxer(demuxer_t* vd, demuxer_t* ad, demuxer_t* sd) {
if (vd) vd->video->demuxer = ret;
if (ad) ad->audio->demuxer = ret;
if (sd) sd->sub->demuxer = ret;
-#endif
// HACK?, necessary for subtitle (and audio and video when implemented) switching
memcpy(ret->v_streams, vd->v_streams, sizeof(ret->v_streams));
memcpy(ret->a_streams, ad->a_streams, sizeof(ret->a_streams));
memcpy(ret->s_streams, sd->s_streams, sizeof(ret->s_streams));
+#endif
ret->desc = &demuxer_desc_demuxers;