input/async: reset the "open" flag after seeking successfully
Fixes a problem with the "curl" input plugin: IsEOF() always returns true because the "open" flag was cleared by CurlInputStream::RequestDone() when end-of-stream was reached. This flag stays false even when seeking to another position has succeeded. This patch resets the "open" flag to true after seeking successfully.
This commit is contained in:
parent
4bd2c75056
commit
37e9010887
1
NEWS
1
NEWS
@ -1,5 +1,6 @@
|
|||||||
ver 0.19.8 (not yet released)
|
ver 0.19.8 (not yet released)
|
||||||
* input
|
* input
|
||||||
|
- curl: fix bug after rewinding from end-of-file
|
||||||
- mms: reduce delay at the beginning of playback
|
- mms: reduce delay at the beginning of playback
|
||||||
* decoder
|
* decoder
|
||||||
- dsdiff, dsf: allow ID3 tags larger than 4 kB
|
- dsdiff, dsf: allow ID3 tags larger than 4 kB
|
||||||
|
@ -160,6 +160,11 @@ AsyncInputStream::SeekDone()
|
|||||||
assert(io_thread_inside());
|
assert(io_thread_inside());
|
||||||
assert(IsSeekPending());
|
assert(IsSeekPending());
|
||||||
|
|
||||||
|
/* we may have reached end-of-file previously, and the
|
||||||
|
connection may have been closed already; however after
|
||||||
|
seeking successfully, the connection must be alive again */
|
||||||
|
open = true;
|
||||||
|
|
||||||
seek_state = SeekState::NONE;
|
seek_state = SeekState::NONE;
|
||||||
cond.broadcast();
|
cond.broadcast();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user