summaryrefslogtreecommitdiffstats
path: root/demux/demux_cue.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-11-16 18:13:41 +0100
committerwm4 <wm4@nowhere>2014-11-16 18:13:41 +0100
commit78cbbb4c49c76558eea3397d7fd0f90978248210 (patch)
treeb9aa703b3544859ee9d67be08b551580c7894484 /demux/demux_cue.c
parent613ee8f450c90e9feb27842c94d0c9104d9cc2f3 (diff)
downloadmpv-78cbbb4c49c76558eea3397d7fd0f90978248210.tar.bz2
mpv-78cbbb4c49c76558eea3397d7fd0f90978248210.tar.xz
demux_cue: use stream_peek()
This could cause probing failures with unseekable streams. (Although I'm not perfectly sure why; seeking back should work in this particular case.)
Diffstat (limited to 'demux/demux_cue.c')
-rw-r--r--demux/demux_cue.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/demux/demux_cue.c b/demux/demux_cue.c
index 2f2e6fca46..bc1b727f5f 100644
--- a/demux/demux_cue.c
+++ b/demux/demux_cue.c
@@ -35,13 +35,9 @@ static int try_open_file(struct demuxer *demuxer, enum demux_check check)
{
struct stream *s = demuxer->stream;
if (check >= DEMUX_CHECK_UNSAFE) {
- char buf[PROBE_SIZE];
- int len = stream_read(s, buf, sizeof(buf));
- if (len <= 0)
+ bstr d = stream_peek(s, PROBE_SIZE);
+ if (d.len < 1 || !mp_probe_cue(d))
return -1;
- if (!mp_probe_cue((struct bstr) { buf, len }))
- return -1;
- stream_seek(s, 0);
}
demuxer->file_contents = stream_read_complete(s, demuxer, 1000000);
if (demuxer->file_contents.start == NULL)