diff options
Diffstat (limited to 'stream')
-rw-r--r-- | stream/cache2.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/stream/cache2.c b/stream/cache2.c index b643ed8897..6e8f398c37 100644 --- a/stream/cache2.c +++ b/stream/cache2.c @@ -615,6 +615,8 @@ int cache_do_control(stream_t *stream, int cmd, void *arg) { return STREAM_UNSUPPORTED; } } + if (s->control_res != STREAM_OK) + return s->control_res; switch (cmd) { case STREAM_CTRL_GET_TIME_LENGTH: case STREAM_CTRL_GET_CURRENT_TIME: @@ -630,8 +632,7 @@ int cache_do_control(stream_t *stream, int cmd, void *arg) { case STREAM_CTRL_SEEK_TO_CHAPTER: case STREAM_CTRL_SEEK_TO_TIME: case STREAM_CTRL_SET_ANGLE: - if (s->control_res != STREAM_UNSUPPORTED) - stream->pos = s->read_filepos = s->control_new_pos; + stream->pos = s->read_filepos = s->control_new_pos; break; } return s->control_res; |