summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-07-11 17:25:37 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-07-11 17:25:37 +0000
commit3ee94605052ebae0b4de4ed448fb0aa7ac365637 (patch)
tree26412f25c0bd2af3f479c4981e9c245046bd8afa /libmpdemux
parent8833f7c4ce9d8f9bd8bd6edc98f3f84c3766a68d (diff)
downloadmpv-3ee94605052ebae0b4de4ed448fb0aa7ac365637.tar.bz2
mpv-3ee94605052ebae0b4de4ed448fb0aa7ac365637.tar.xz
Correct stream-seekability tests in demux_audio and demux_lavf
Based on a patch by Alexander Kanavin (alexander.kanavin nokia com) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27250 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_audio.c2
-rw-r--r--libmpdemux/demux_lavf.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/libmpdemux/demux_audio.c b/libmpdemux/demux_audio.c
index c9f0dbbfe7..ebaf4e4c3c 100644
--- a/libmpdemux/demux_audio.c
+++ b/libmpdemux/demux_audio.c
@@ -329,7 +329,7 @@ static int demux_audio_open(demuxer_t* demuxer) {
sh_audio->i_bps = sh_audio->wf->nAvgBytesPerSec;
free(mp3_found);
mp3_found = NULL;
- if(s->end_pos) {
+ if(s->end_pos && (s->flags & STREAM_SEEK) == STREAM_SEEK) {
char tag[4];
stream_seek(s,s->end_pos-128);
stream_read(s,tag,3);
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c
index bc49ee0ab7..426ae0227c 100644
--- a/libmpdemux/demux_lavf.c
+++ b/libmpdemux/demux_lavf.c
@@ -454,7 +454,7 @@ static demuxer_t* demux_open_lavf(demuxer_t *demuxer){
priv->pb = av_alloc_put_byte(priv->buffer, BIO_BUFFER_SIZE, 0,
demuxer->stream, mp_read, NULL, mp_seek);
- priv->pb->is_streamed = !demuxer->stream->end_pos;
+ priv->pb->is_streamed = !demuxer->stream->end_pos || (s->flags & STREAM_SEEK) != STREAM_SEEK;
if(av_open_input_stream(&avfc, priv->pb, mp_filename, priv->avif, &ap)<0){
mp_msg(MSGT_HEADER,MSGL_ERR,"LAVF_header: av_open_input_stream() failed\n");