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.
This commit is contained in:
Jan Schmidt 2013-11-25 15:17:33 +11:00
parent de3abac8ed
commit d92b6f7995

View file

@ -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;
}