{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":6201092,"defaultBranch":"master","name":"mpv","ownerLogin":"mpv-player","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-10-13T08:08:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2550273?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714773183.0","currentOid":""},"activityList":{"items":[{"before":"525fa85932a8cd431470b4d80afd5ab2d8c858c5","after":"9fa8101847c68a0d09445c47b0f4dbfba871e64e","ref":"refs/heads/master","pushedAt":"2024-06-02T20:53:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"README: link to discussions","shortMessageHtmlLink":"README: link to discussions"}},{"before":"df166c1333694cbfe70980dbded1984d48b0685a","after":"525fa85932a8cd431470b4d80afd5ab2d8c858c5","ref":"refs/heads/master","pushedAt":"2024-06-02T20:26:00.000Z","pushType":"pr_merge","commitsCount":14,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"osc.lua: fix lint warnings","shortMessageHtmlLink":"osc.lua: fix lint warnings"}},{"before":"481e498427fc34956ad24b94157553908f5cd638","after":"df166c1333694cbfe70980dbded1984d48b0685a","ref":"refs/heads/master","pushedAt":"2024-06-01T20:09:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"mpv.desktop: fix capitalization error\n\nMissed in 481e498427fc34956ad24b94157553908f5cd638","shortMessageHtmlLink":"mpv.desktop: fix capitalization error"}},{"before":"c2968244e4f597fd1c00a2303448609e8c521993","after":"481e498427fc34956ad24b94157553908f5cd638","ref":"refs/heads/master","pushedAt":"2024-05-30T12:54:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"mpv.desktop: add Arabic translation\n\nAdded Arabic translation for \"Name\", \"GenericName\", \"Comment\", and\r\n\"Keywords\" entries in the .desktop file.","shortMessageHtmlLink":"mpv.desktop: add Arabic translation"}},{"before":"42181a8769a9e425c92f3a868cb4eb2234c98079","after":"c2968244e4f597fd1c00a2303448609e8c521993","ref":"refs/heads/master","pushedAt":"2024-05-29T17:48:50.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"TOOLS/gen-interface-changes: wrap long lines to 80 col","shortMessageHtmlLink":"TOOLS/gen-interface-changes: wrap long lines to 80 col"}},{"before":"eaae9e9cf5356937baa9d08d5fd5d70f3bf2b1eb","after":"42181a8769a9e425c92f3a868cb4eb2234c98079","ref":"refs/heads/master","pushedAt":"2024-05-29T13:48:40.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"DOCS/input: clarify the difference between audio-pts and time-pos\n\nIn light of the changes in the recent commits.","shortMessageHtmlLink":"DOCS/input: clarify the difference between audio-pts and time-pos"}},{"before":"52bdeb07a1af946d2c1562d6b463b82f6b8f4c81","after":"eaae9e9cf5356937baa9d08d5fd5d70f3bf2b1eb","ref":"refs/heads/master","pushedAt":"2024-05-29T13:39:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"player/video: fix incorrect VO frame duration and frame drops\n\nThe logic in question was added in 201bef7ee150f9d852996b379c926ba0c47320d5\nfor the VDPAU vsync frame timing algorithm, but after the code was moved\naround for several times, it is now used for all VOs with non-display-sync\nmode (where the video is synced to audio or system time). It nonetheless\nlikely never did whatever it was intended for.\n\nThis \"correction\" reduced the VO frame duration by the amount that the\nframe is fallen behind the ideal time. Since a frame is presented between\npts (the ideal time for which the frame is scheduled) and pts + duration\n(the end time for which frame drop is determined), and pts is already\ncomputed from the current time and the deviation from the ideal time, this\n\"correction\" causes the end time to have the deviation added twice, which\nis nonsense: if the deviation is -0.5x the frame duration, the frame is\ndropped, even though it should be displayed from now to 0.5x the frame\nduration from now.\n\nIt was not noticed at that time probably because the VDPAU secret rabbit\ncode undid some of its damage, and the subsequent development focus on\ndisplay-sync modes resulted in negligence and simplification of audio mode\n(e.g. b8bcf0f466ac40dbef8c1130e821d00cb0118af2), but the generic VO frame\ndrop algorithm has been observed to cause inconsistent frame drops with\nthis \"correction\": playing a 59.94 Hz video at 2x speed on a 60 Hz display\nresults in spending over half of the time dropping adjacent frames instead\nof every other frames, visually causing stuttering, while it should only\nhappen briefly when the pts is very close to vsync time.\n\nFix this by deleting this logic, making the VO frame always having the\nduration of the video frame.\n\nFixes: 201bef7ee150f9d852996b379c926ba0c47320d5","shortMessageHtmlLink":"player/video: fix incorrect VO frame duration and frame drops"}},{"before":"7ff6cf807cd4321cf981b310a1daf7469c38f7fd","after":"52bdeb07a1af946d2c1562d6b463b82f6b8f4c81","ref":"refs/heads/master","pushedAt":"2024-05-29T13:39:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"x11: correct position coordinates if mpv was launched with --fs\n\nIf mpv is launched with --fs, the x11 code tries to reset the size and\nposition of the window when the fullscreen exits. This has bad behavior\nwith multiple monitors because the saved nofsrc is not reliable in many\nsituations. Particularly if the window manager moves the fullscreen\nwindow somewhere else while mpv is fullscreen. The result will be that\nexiting fullscreen always goes back to screen 0.\n\nFix this by translating the rc coordinates of the nofsrc rc to the new\nmonitor when we're leaving fullscreen from an initial --fs case. By\ngiving get_current_display a specific rc, we can return what xrandr\ndisplay the coordinates are associated with and decide if the nofsrc\nshould be translated to its new location. After that bit of math, the\nusual move/resize logic takes care of the rest but this time it actually\nworks off of the correct position. Fixes #14226.","shortMessageHtmlLink":"x11: correct position coordinates if mpv was launched with --fs"}},{"before":"15ea0d1987b83193b0f7f959e74fcd60aecda0d8","after":"7ff6cf807cd4321cf981b310a1daf7469c38f7fd","ref":"refs/heads/master","pushedAt":"2024-05-28T19:29:07.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"sfan5","name":null,"path":"/sfan5","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1042418?s=80&v=4"},"commit":{"message":"vo_vaapi: remove redundant function call\n\nwe already free video specifics when reconfiguring","shortMessageHtmlLink":"vo_vaapi: remove redundant function call"}},{"before":"75f252c47cfae4bbdda19110d60f4c48a623d455","after":"15ea0d1987b83193b0f7f959e74fcd60aecda0d8","ref":"refs/heads/master","pushedAt":"2024-05-28T13:25:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"console.lua: fix crash with set ;\n\nFixes https://github.com/mpv-player/mpv/pull/14247#issuecomment-2134418206","shortMessageHtmlLink":"console.lua: fix crash with set ;<Tab>"}},{"before":"ef026ffdb61aec696780c6ecf685962db31c67b9","after":"75f252c47cfae4bbdda19110d60f4c48a623d455","ref":"refs/heads/master","pushedAt":"2024-05-28T13:24:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"console.lua: fix crash if no completions exist\n\nIf complete is case-sensitive and no completions exist the script crashes\nwith the following:\n\nLua error: @console.lua:1417: attempt to concatenate local 'prefix'\n(a nil value)","shortMessageHtmlLink":"console.lua: fix crash if no completions exist"}},{"before":"021c5dedb1f0759d6748dd6303c1fdf7f35367e4","after":"ef026ffdb61aec696780c6ecf685962db31c67b9","ref":"refs/heads/master","pushedAt":"2024-05-28T13:23:17.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"Revert \"ao_pipewire: add EOF handling\"\n\nThis reverts commit 3fc8929caf6ba4b89c849a8fcde76841f26d8584.","shortMessageHtmlLink":"Revert \"ao_pipewire: add EOF handling\""}},{"before":"88f20a7011fb4236a564930878f6630b2781e78a","after":"021c5dedb1f0759d6748dd6303c1fdf7f35367e4","ref":"refs/heads/master","pushedAt":"2024-05-26T14:23:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"playloop: don't loop when seeking to the end of cover art while paused\n\nFix the bug that seeking to the end of cover art while paused goes back\nto the beginning of the file because of this condition meant for videos.\n\nThis doesn't check mpctx->vo_chain->is_sparse because prevent_eof should\nbe true with actual sparse videos.","shortMessageHtmlLink":"playloop: don't loop when seeking to the end of cover art while paused"}},{"before":"a7914086596b785ef81eb1709dd1e44175fb8331","after":"88f20a7011fb4236a564930878f6630b2781e78a","ref":"refs/heads/master","pushedAt":"2024-05-25T20:52:45.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"sfan5","name":null,"path":"/sfan5","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1042418?s=80&v=4"},"commit":{"message":"ao_pipewire: wait for draining finishes before restart ao\n\nWhen the stream is draining, setting stream to active has no effect.","shortMessageHtmlLink":"ao_pipewire: wait for draining finishes before restart ao"}},{"before":"4e6d591f12e9953b5360fba3516bce5feeae3733","after":"a7914086596b785ef81eb1709dd1e44175fb8331","ref":"refs/heads/master","pushedAt":"2024-05-25T13:35:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Akemi","name":"der richter","path":"/Akemi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/680386?s=80&v=4"},"commit":{"message":"ao_coreaudio: set ao->device_buffer base on hardware latency","shortMessageHtmlLink":"ao_coreaudio: set ao->device_buffer base on hardware latency"}},{"before":"2fa66b850df1e0ecd653e9eea1e69fccc73afcee","after":"4e6d591f12e9953b5360fba3516bce5feeae3733","ref":"refs/heads/master","pushedAt":"2024-05-25T13:28:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Akemi","name":"der richter","path":"/Akemi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/680386?s=80&v=4"},"commit":{"message":"osxbundle: refactor Information Property List\n\nIncludes cleanup of CFBundleDocumentTypes, UTImportedTypeDeclarations,\nLSItemContentTypes. Reordered general structure of the Property List as\nin nodes/collections/arrays. Declared MIME types.","shortMessageHtmlLink":"osxbundle: refactor Information Property List"}},{"before":"43136b603aa30c13b36d26842b0dba71b69e4461","after":"2fa66b850df1e0ecd653e9eea1e69fccc73afcee","ref":"refs/heads/master","pushedAt":"2024-05-24T17:57:55.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"wayland_common: ignore unknown key states\n\nOnce https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/368\nis merged and we upgrade wl_seat version to 10, compositors will also\ngenerate \"repeated\" events, which mpv treats as key up right now.\nChange the check so that unknown key states are ignored.","shortMessageHtmlLink":"wayland_common: ignore unknown key states"}},{"before":"f652f38147d94e119b021020b07b7fa3f792fe65","after":"43136b603aa30c13b36d26842b0dba71b69e4461","ref":"refs/heads/master","pushedAt":"2024-05-24T17:57:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"DOCS/man: replace legacy option syntax usage\n\nThey are replaced by --option=value.","shortMessageHtmlLink":"DOCS/man: replace legacy option syntax usage"}},{"before":"7923a633a0521c5058078d7eaabd7702739d709f","after":"f652f38147d94e119b021020b07b7fa3f792fe65","ref":"refs/heads/master","pushedAt":"2024-05-24T14:56:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"Revert \"fuzzers/load: clear old temp files if they exist\"\n\nIt is not a problem, so revert.\n\nThis reverts commit 06ec0319dbd3edb44bf383a292bc412ce9a5d021.","shortMessageHtmlLink":"Revert \"fuzzers/load: clear old temp files if they exist\""}},{"before":"7b77672794db55fb919c36f9a36efdc5bd38d6b6","after":"7923a633a0521c5058078d7eaabd7702739d709f","ref":"refs/heads/master","pushedAt":"2024-05-22T20:13:54.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"ad_spdif: check return value of av_parser_parse2","shortMessageHtmlLink":"ad_spdif: check return value of av_parser_parse2"}},{"before":"1e1e365c18b4ab48a34228fa7dd46735f66f897f","after":"7b77672794db55fb919c36f9a36efdc5bd38d6b6","ref":"refs/heads/master","pushedAt":"2024-05-22T20:10:52.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"stream_lavf: don't add ffmpeg bluray or dvd protocols\n\nThe naming of these conflict with existing mpv protocols, so skip if we\nget them. Users can still use them via lavf://bluray: or lavf://dvd: if\nthey wish.","shortMessageHtmlLink":"stream_lavf: don't add ffmpeg bluray or dvd protocols"}},{"before":"06ec0319dbd3edb44bf383a292bc412ce9a5d021","after":"1e1e365c18b4ab48a34228fa7dd46735f66f897f","ref":"refs/heads/master","pushedAt":"2024-05-22T14:08:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Dudemanguy","name":null,"path":"/Dudemanguy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5105515?s=80&v=4"},"commit":{"message":"wayland: use wl->callback_surface for idle inhibitor creation\n\nThe idle inhibit protocol specifies that the compositor may ignore the\nidle inhibitor if the surface is occluded. In the case of\nvo_dmabuf_wayland, wl->surface corresponds to typical black bars when\nthe video aspect ratio is different than the display's. So in many\ncases, wl->surface is actually occluded by wl->video_surface which sits\nabove it. Change this so that the idle inhibitor is created on\nwl->callback_surface instead which is either wl->surface for the gpu VOs\nor wl->video_surface for vo_dmabuf_wayland. Fixes #14206.","shortMessageHtmlLink":"wayland: use wl->callback_surface for idle inhibitor creation"}},{"before":"0dd6321c51908b00f91e77daf7ca637e4258f984","after":"06ec0319dbd3edb44bf383a292bc412ce9a5d021","ref":"refs/heads/master","pushedAt":"2024-05-22T00:09:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"fuzzers/load: clear old temp files if they exist\n\nThey were previously left over, and now that it looks like runners are\nstuck, the big question is: is /tmp persistent?\n\nThis commit will be reverted after the next rebuild.","shortMessageHtmlLink":"fuzzers/load: clear old temp files if they exist"}},{"before":"072d0ac8369341e20f85d30529132c432b36f23d","after":"0dd6321c51908b00f91e77daf7ca637e4258f984","ref":"refs/heads/master","pushedAt":"2024-05-21T14:02:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"DOCS/man/console.rst: remove extraneous words","shortMessageHtmlLink":"DOCS/man/console.rst: remove extraneous words"}},{"before":"e56054bc40cdc5eeabcd6bcbaf80f5557d5c80a1","after":"072d0ac8369341e20f85d30529132c432b36f23d","ref":"refs/heads/master","pushedAt":"2024-05-21T09:23:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sfan5","name":null,"path":"/sfan5","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1042418?s=80&v=4"},"commit":{"message":"mp_image: remove unneeded PL_HAVE_LIBDOVI check\n\nThis function is always available, if libplacebo is compiled without\nlibdovi it is no-op.","shortMessageHtmlLink":"mp_image: remove unneeded PL_HAVE_LIBDOVI check"}},{"before":"76ad8efe39260db9880bca5dc0055f317ffbbfed","after":"e56054bc40cdc5eeabcd6bcbaf80f5557d5c80a1","ref":"refs/heads/master","pushedAt":"2024-05-21T04:28:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"fuzzers: always return 0\n\nWhile LibFuzzer supports rejecting unwanted inputs, it looks like\nHonggfuzz treats anything other than 0 as fatal error.\n\nhttps://llvm.org/docs/LibFuzzer.html#rejecting-unwanted-inputs\nhttps://github.com/google/honggfuzz/blob/348a47213919f14b9453e89a663b1515369bd9a2/libhfuzz/persistent.c#L67\nThis LOG_F calls exit(EXIT_FAILURE)","shortMessageHtmlLink":"fuzzers: always return 0"}},{"before":"4bbaa4d0d08cea603739c49e343b11d0649b0989","after":"76ad8efe39260db9880bca5dc0055f317ffbbfed","ref":"refs/heads/master","pushedAt":"2024-05-20T19:04:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"DOCS/options: --sub-scale-by-window doesn't affect ASS subtitles","shortMessageHtmlLink":"DOCS/options: --sub-scale-by-window doesn't affect ASS subtitles"}},{"before":"772b4fdde25cedb9f73edc19fd86733133023e6f","after":"4bbaa4d0d08cea603739c49e343b11d0649b0989","ref":"refs/heads/master","pushedAt":"2024-05-20T18:59:10.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"ci/lint: only allow specific characters in subjects","shortMessageHtmlLink":"ci/lint: only allow specific characters in subjects"}},{"before":"8fea10502e2163c24e346b1dd3aec53bb1816b1a","after":"772b4fdde25cedb9f73edc19fd86733133023e6f","ref":"refs/heads/master","pushedAt":"2024-05-20T17:49:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"workflows/comment: more newline fixes to make formatting work","shortMessageHtmlLink":"workflows/comment: more newline fixes to make formatting work"}},{"before":"d4eff863302c31bb595a88d319cee62c29e3bfde","after":"8fea10502e2163c24e346b1dd3aec53bb1816b1a","ref":"refs/heads/master","pushedAt":"2024-05-20T17:29:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kasper93","name":"Kacper Michajłow","path":"/kasper93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1126053?s=80&v=4"},"commit":{"message":"workflows/comment: add missing escape fix\n\nIt hid in local version on script.","shortMessageHtmlLink":"workflows/comment: add missing escape fix"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWlnuEQA","startCursor":null,"endCursor":null}},"title":"Activity · mpv-player/mpv"}