{"push_id":715932932,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"95424517a2c9cf0873f3216865638a4ee7d5739a","before":"029da5abce6e1ef6eddf351650fe7d6fe3746f0b","commits":[{"sha":"f544bcf1056e0acee483a951408160fa2d39ffdd","author":{"email":"53b035b1b9998ce2747265479c537746bad457c7@gmail.com","name":"James Ross-Gowan"},"message":"win32: use QueryPerformanceCounter for timing\n\nclock_gettime is implemented in winpthreads, so it's unavailable when\nmpv is compiled with its internal pthreads implementation. This makes\nmp_raw_time_us fall back to gettimeofday(), which can cause an assert\nfailure in mp_add_timeout() when the system clock is changed. Use\nQueryPerformanceCounter instead.\n\nThe clock_gettime(CLOCK_MONOTONIC) implementation in winpthreads uses\nQueryPerformanceCounter anyway, so there shouldn't be any change in\nbehaviour.","distinct":true,"url":"https://api.github.com/repos/rossy/mpv/commits/f544bcf1056e0acee483a951408160fa2d39ffdd"},{"sha":"5728295daba6abf7cb47ff5f27e9795a7ce36cce","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"timer: fix a corner case on clock changes\n\nIt's conceivable that the OS time source is subject to clock changes.\nThe time could jump back to before when mpv was started, which would\ncause mp_time_us() to return values smaller than 1. This is unexpected\nby the code and could trigger assertions. If there's no monotonic time\nsource there's not much we can do anyway, so just sanitize the return\nvalue. It will cause strange behavior until the \"lost\" time offset has\npassed, but if you make such huge changes to the system clock while\neverything is running, you're asking for trouble anyway.\n\n(Normally we try to get a monotonic time source, though. This problem\nsometimes happened on Windows when compiled without winpthreads, when\nthe code was falling back to gettimeofday(). This was already fixed by\nalways using another method.)","distinct":true,"url":"https://api.github.com/repos/rossy/mpv/commits/5728295daba6abf7cb47ff5f27e9795a7ce36cce"},{"sha":"a4d5c193555e43061f78e49b8a6c86d317d3615c","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"ao_coreaudio_exclusive: fix some verbose output","distinct":true,"url":"https://api.github.com/repos/rossy/mpv/commits/a4d5c193555e43061f78e49b8a6c86d317d3615c"},{"sha":"95424517a2c9cf0873f3216865638a4ee7d5739a","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"vo: free frames before killing VO\n\nThis caused issues with hardware decoding. The VOs by definition dictate\nthe lifetime of the hardware context, so no surface allocations must\nsurvive the VO. Fixes assertions on exit with vdpau.","distinct":true,"url":"https://api.github.com/repos/rossy/mpv/commits/95424517a2c9cf0873f3216865638a4ee7d5739a"}]}