diff options
author | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2012-10-18 22:19:04 +0200 |
---|---|---|
committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2012-10-18 22:19:04 +0200 |
commit | f4248f002a4f719e034037ebb9d8bc60ce2c8766 (patch) | |
tree | 9289e5ee38b9fa572c8dcb447b99e00f1f3c4f15 /ext | |
parent | 5c0e0dd598d6a050a4c47bfb0ea1f2b55cc6feae (diff) |
dvdreadsrc: correctly set next cell when seeking to sector
Diffstat (limited to 'ext')
-rw-r--r-- | ext/dvdread/dvdreadsrc.c | 8 |
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); } } |