0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00

vo: fix mismatching types in pointer operation

run_control() dereferences an uint32_t as int. Whether this is allowed
depends on what uint32_t is typedefed to (dereferencing an unsigned int
as int should be fine). Fix it by always using int. The uint32_t type
never really made sense.
This commit is contained in:
wm4 2016-08-20 14:11:35 +02:00
parent e057629493
commit 1a8af89b7d
2 changed files with 3 additions and 3 deletions

View File

@ -537,13 +537,13 @@ static void run_control(void *p)
{
void **pp = p;
struct vo *vo = pp[0];
uint32_t request = *(int *)pp[1];
int request = *(int *)pp[1];
void *data = pp[2];
int ret = vo->driver->control(vo, request, data);
*(int *)pp[3] = ret;
}
int vo_control(struct vo *vo, uint32_t request, void *data)
int vo_control(struct vo *vo, int request, void *data)
{
int ret;
void *p[] = {vo, &request, data, &ret};

View File

@ -341,7 +341,7 @@ struct mpv_global;
struct vo *init_best_video_out(struct mpv_global *global, struct vo_extra *ex);
int vo_reconfig(struct vo *vo, struct mp_image_params *p);
int vo_control(struct vo *vo, uint32_t request, void *data);
int vo_control(struct vo *vo, int request, void *data);
bool vo_is_ready_for_frame(struct vo *vo, int64_t next_pts);
void vo_queue_frame(struct vo *vo, struct vo_frame *frame);
void vo_wait_frame(struct vo *vo);