From 338004bcfc224727d1477d303aa1521bf3ac21be Mon Sep 17 00:00:00 2001 From: wm4 Date: Sat, 5 Jul 2014 16:57:56 +0200 Subject: dvd, bluray, cdda: add demux_disc containing all related hacks DVD and Bluray (and to some extent cdda) require awful hacks all over the codebase to make them work. The main reason is that they act like container, but are entirely implemented on the stream layer. The raw mpeg data resulting from these streams must be "extended" with the container-like metadata transported via STREAM_CTRLs. The result were hacks all over demux.c and some higher-level parts. Add a "disc" pseudo-demuxer, and move all these hacks and special-cases to it. --- stream/stream_bluray.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'stream/stream_bluray.c') diff --git a/stream/stream_bluray.c b/stream/stream_bluray.c index fb3c6d749a..ee6d4b9664 100644 --- a/stream/stream_bluray.c +++ b/stream/stream_bluray.c @@ -584,8 +584,6 @@ static int bluray_stream_control(stream_t *s, int cmd, void *arg) *((double *)arg) = 0; return STREAM_OK; } - case STREAM_CTRL_MANAGES_TIMELINE: - return STREAM_OK; case STREAM_CTRL_GET_DISC_NAME: { const struct meta_dl *meta = bd_get_meta(b->bd); if (!meta || !meta->di_name || !meta->di_name[0]) @@ -801,6 +799,7 @@ static int bluray_stream_open(stream_t *s) s->end_pos = bd_get_title_size(bd); s->sector_size = BLURAY_SECTOR_SIZE; s->priv = b; + s->demuxer = "+disc"; MP_VERBOSE(s, "Blu-ray successfully opened.\n"); -- cgit v1.2.3