summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2012-10-18 22:19:04 +0200
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2012-10-18 22:19:04 +0200
commitf4248f002a4f719e034037ebb9d8bc60ce2c8766 (patch)
tree9289e5ee38b9fa572c8dcb447b99e00f1f3c4f15 /ext
parent5c0e0dd598d6a050a4c47bfb0ea1f2b55cc6feae (diff)
dvdreadsrc: correctly set next cell when seeking to sector
Diffstat (limited to 'ext')
-rw-r--r--ext/dvdread/dvdreadsrc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/dvdread/dvdreadsrc.c b/ext/dvdread/dvdreadsrc.c
index e87458c8..c53887e2 100644
--- a/ext/dvdread/dvdreadsrc.c
+++ b/ext/dvdread/dvdreadsrc.c
@@ -1622,16 +1622,16 @@ gst_dvd_read_src_goto_sector (GstDvdReadSrc * src, int angle)
gint first = src->cur_pgc->cell_playback[cur].first_sector;
gint last = src->cur_pgc->cell_playback[cur].last_sector;
GST_DEBUG_OBJECT (src, "Cell %d sector bounds: %d %d", cur, first, last);
+ cur = next;
+ if (src->cur_pgc->cell_playback[cur].block_type == BLOCK_TYPE_ANGLE_BLOCK)
+ cur += angle;
+ next = gst_dvd_read_src_get_next_cell (src, src->cur_pgc, cur);
/* seeking to 0 should end up at first chapter in any case */
if ((seek_to >= first && seek_to <= last) || (seek_to == 0 && i == 0)) {
GST_DEBUG_OBJECT (src, "Seek target found in chapter %d", i);
chapter = i;
goto done;
}
- cur = next;
- if (src->cur_pgc->cell_playback[cur].block_type == BLOCK_TYPE_ANGLE_BLOCK)
- cur += angle;
- next = gst_dvd_read_src_get_next_cell (src, src->cur_pgc, cur);
}
}