summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
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");