mirror of https://github.com/mpv-player/mpv
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:
parent
e057629493
commit
1a8af89b7d
|
@ -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};
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue