summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2007-04-17 03:50:16 +0100
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2007-04-17 03:50:16 +0100
commit931ca6f5fea6b53dee5bf3131dc0e46199425038 (patch)
tree90758bc1550b6062c9cf89d1034595c68290ffd2 /src
parentd7bf1f31fabdb74427240a10c29706055fe9e34a (diff)
downloadxine-lib-931ca6f5fea6b53dee5bf3131dc0e46199425038.tar.gz
xine-lib-931ca6f5fea6b53dee5bf3131dc0e46199425038.tar.bz2
Fix DVD playback (was hanging when either the AC3 or DTS demuxers were probed).
This may have side-effects wrt other streams; CDDA is fine, though.
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/demux_ac3.c2
-rw-r--r--src/demuxers/demux_dts.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/demuxers/demux_ac3.c b/src/demuxers/demux_ac3.c
index 73313ee12..279da6336 100644
--- a/src/demuxers/demux_ac3.c
+++ b/src/demuxers/demux_ac3.c
@@ -135,7 +135,7 @@ static int open_ac3_file(demux_ac3_t *this) {
uint8_t *peak;
blocksize = this->input->get_blocksize(this->input);
- if (blocksize) {
+ if (blocksize && INPUT_IS_SEEKABLE(this->input)) {
this->input->seek(this->input, 0, SEEK_SET);
buf_element_t *buf = this->input->read_block(this->input,
this->stream->audio_fifo,
diff --git a/src/demuxers/demux_dts.c b/src/demuxers/demux_dts.c
index a5beba7dd..a9541b6f7 100644
--- a/src/demuxers/demux_dts.c
+++ b/src/demuxers/demux_dts.c
@@ -85,7 +85,7 @@ static int open_dts_file(demux_dts_t *this) {
lprintf("open_dts_file\n");
blocksize = this->input->get_blocksize(this->input);
- if (blocksize) {
+ if (blocksize && INPUT_IS_SEEKABLE(this->input)) {
// this->input->seek(this->input, 0, SEEK_SET);
buf_element_t *buf = this->input->read_block(this->input,
this->stream->audio_fifo,