From d92b6f799595fcb8ad5ac6518565e745d00a0cd6 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Mon, 25 Nov 2013 15:17:33 +1100 Subject: [PATCH] dvdspu: Don't unmap an unreffed buffer gst_dvd_spu_finish_spu_buf drops the reference to the current buffer, so make sure to call gst_buffer_unmap before it. --- gst/dvdspu/gstspu-vobsub.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst/dvdspu/gstspu-vobsub.c b/gst/dvdspu/gstspu-vobsub.c index 6e9f1dd124..fa05d5b9ba 100644 --- a/gst/dvdspu/gstspu-vobsub.c +++ b/gst/dvdspu/gstspu-vobsub.c @@ -398,13 +398,14 @@ gstspu_vobsub_execute_event (GstDVDSpu * dvdspu) if (next_blk != state->vobsub.cur_cmd_blk) { /* Advance to the next block of commands */ ret = gst_dvd_spu_setup_cmd_blk (dvdspu, next_blk, start, end); + gst_buffer_unmap (state->vobsub.buf, &map); } else { /* Next Block points to the current block, so we're finished with this * SPU buffer */ + gst_buffer_unmap (state->vobsub.buf, &map); gst_dvd_spu_finish_spu_buf (dvdspu); ret = FALSE; } - gst_buffer_unmap (state->vobsub.buf, &map); return ret; }