vo: free frames before killing VO

This caused issues with hardware decoding. The VOs by definition dictate
the lifetime of the hardware context, so no surface allocations must
survive the VO. Fixes assertions on exit with vdpau.
This commit is contained in:
wm4
2015-07-04 17:27:13 +02:00
parent a4d5c19355
commit 95424517a2

View File

@@ -822,10 +822,10 @@ static void *vo_thread(void *ptr)
}
wait_vo(vo, wait_until);
}
vo->driver->uninit(vo);
forget_frames(vo); // implicitly synchronized
talloc_free(in->current_frame);
in->current_frame = NULL;
vo->driver->uninit(vo);
return NULL;
}