diff --git a/mythtv/libs/libmythtv/fileringbuffer.cpp b/mythtv/libs/libmythtv/fileringbuffer.cpp
index a3b73f3..7c4ca4e 100644
a
|
b
|
long long FileRingBuffer::Seek(long long pos, int whence, bool has_lock) |
615 | 628 | poslock.unlock(); |
616 | 629 | generalWait.wakeAll(); |
617 | 630 | ateof = false; |
618 | | readsallowed = false; |
| 631 | readsallowed = true; // we have the data already so why wait? |
619 | 632 | if (!has_lock) |
620 | 633 | rwlock.unlock(); |
621 | 634 | return new_pos; |
diff --git a/mythtv/libs/libmythtv/mythiowrapper.cpp b/mythtv/libs/libmythtv/mythiowrapper.cpp
index 9528554..52c9466 100644
a
|
b
|
int mythfile_open(const char *pathname, int flags) |
170 | 170 | RingBuffer *rb = NULL; |
171 | 171 | RemoteFile *rf = NULL; |
172 | 172 | |
173 | | if ((fileinfo.st_size < 51200) && |
| 173 | // may want to remove this RemoteFile vs RingBuffer optimization |
| 174 | // totally since the dvdnav code seems to re-read the same blocks |
| 175 | // over and over again sometimes and that use case is not optimized |
| 176 | // in RemoteFile but is in RingBuffer. |
| 177 | if ((fileinfo.st_size < 512) && |
174 | 178 | (fileinfo.st_mtime < (time(NULL) - 300))) |
175 | 179 | { |
176 | 180 | if (flags & O_WRONLY) |