summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-11-28 12:22:35 +0000
committerphintuka <phintuka>2009-11-28 12:22:35 +0000
commitac81d3f6cd5f36fae455e2c3ffa50c3476ad86a3 (patch)
tree6dbc30aaa2cf151a6587424b4c24ad7cf8e74e03
parent9665da3c02aa507017b36183475287345f29ce15 (diff)
downloadxineliboutput-ac81d3f6cd5f36fae455e2c3ffa50c3476ad86a3.tar.gz
xineliboutput-ac81d3f6cd5f36fae455e2c3ffa50c3476ad86a3.tar.bz2
Require navigation data
-rw-r--r--xine/BluRay/input_bluray.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/xine/BluRay/input_bluray.c b/xine/BluRay/input_bluray.c
index 2d880148..55044f74 100644
--- a/xine/BluRay/input_bluray.c
+++ b/xine/BluRay/input_bluray.c
@@ -189,7 +189,7 @@ static off_t bluray_plugin_seek (input_plugin_t *this_gen, off_t offset, int ori
{
bluray_input_plugin_t *this = (bluray_input_plugin_t *) this_gen;
- if (!this || !this->bdh)
+ if (!this || !this->bdh || !this->nav_title)
return -1;
/* convert relative seeks to absolute */
@@ -206,7 +206,6 @@ static off_t bluray_plugin_seek (input_plugin_t *this_gen, off_t offset, int ori
/* clip seek point to nearest random access point */
- if (this->nav_title) {
uint32_t in_pkt = offset / PKT_SIZE;
uint32_t out_pkt = in_pkt;
uint32_t out_time = 0;
@@ -214,7 +213,6 @@ static off_t bluray_plugin_seek (input_plugin_t *this_gen, off_t offset, int ori
lprintf("bluray_plugin_seek() seeking to %"PRId64" (packet %d)\n", offset, in_pkt);
offset = (off_t)PKT_SIZE * (off_t)out_pkt;
lprintf("Nearest random access point at %"PRId64" (packet %d)\n", offset, out_pkt);
- }
/* clip to aligned unit start */
@@ -431,6 +429,7 @@ static int bluray_plugin_open (input_plugin_t *this_gen)
this->nav_title = nav_title_open(this->disc_root, this->current_title);
if (!this->nav_title) {
LOGMSG("nav_title_open(%s,%s) FAILED\n", this->disc_root, this->current_title);
+ return -1;
}
/* set stream metainfo */