archive/iso9660: implement seeking

This commit is contained in:
Max Kellermann 2019-05-31 18:40:24 +02:00
parent 5d74b5cee1
commit 2f83ed90d0
2 changed files with 7 additions and 0 deletions

2
NEWS
View File

@ -6,6 +6,8 @@ ver 0.22 (not yet released)
- new tag "Grouping" (for ID3 "TIT1") - new tag "Grouping" (for ID3 "TIT1")
* input * input
- ffmpeg: allow partial reads - ffmpeg: allow partial reads
* archive
- iso9660: support seeking
* filter * filter
- ffmpeg: new plugin based on FFmpeg's libavfilter library - ffmpeg: new plugin based on FFmpeg's libavfilter library
- hdcd: new plugin based on FFmpeg's "af_hdcd" for HDCD playback - hdcd: new plugin based on FFmpeg's "af_hdcd" for HDCD playback

View File

@ -148,6 +148,7 @@ public:
:InputStream(_uri, _mutex), :InputStream(_uri, _mutex),
iso(_iso), statbuf(_statbuf) { iso(_iso), statbuf(_statbuf) {
size = statbuf->size; size = statbuf->size;
seekable = true;
SetReady(); SetReady();
} }
@ -159,6 +160,10 @@ public:
bool IsEOF() const noexcept override; bool IsEOF() const noexcept override;
size_t Read(std::unique_lock<Mutex> &lock, size_t Read(std::unique_lock<Mutex> &lock,
void *ptr, size_t size) override; void *ptr, size_t size) override;
void Seek(std::unique_lock<Mutex> &, offset_type new_offset) override {
offset = new_offset;
}
}; };
InputStreamPtr InputStreamPtr