{"action":"created","issue":{"url":"https://api.github.com/repos/mpv-player/mpv/issues/5551","repository_url":"https://api.github.com/repos/mpv-player/mpv","labels_url":"https://api.github.com/repos/mpv-player/mpv/issues/5551/labels{/name}","comments_url":"https://api.github.com/repos/mpv-player/mpv/issues/5551/comments","events_url":"https://api.github.com/repos/mpv-player/mpv/issues/5551/events","html_url":"https://github.com/mpv-player/mpv/pull/5551","id":298578965,"number":5551,"title":"client API: deprecate opengl-cb API and introduce a replacement API","user":{"login":"wm4","id":1387750,"avatar_url":"https://avatars0.githubusercontent.com/u/1387750?v=4","gravatar_id":"","url":"https://api.github.com/users/wm4","html_url":"https://github.com/wm4","followers_url":"https://api.github.com/users/wm4/followers","following_url":"https://api.github.com/users/wm4/following{/other_user}","gists_url":"https://api.github.com/users/wm4/gists{/gist_id}","starred_url":"https://api.github.com/users/wm4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wm4/subscriptions","organizations_url":"https://api.github.com/users/wm4/orgs","repos_url":"https://api.github.com/users/wm4/repos","events_url":"https://api.github.com/users/wm4/events{/privacy}","received_events_url":"https://api.github.com/users/wm4/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-02-20T12:38:24Z","updated_at":"2018-02-25T17:13:03Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/mpv-player/mpv/pulls/5551","html_url":"https://github.com/mpv-player/mpv/pull/5551","diff_url":"https://github.com/mpv-player/mpv/pull/5551.diff","patch_url":"https://github.com/mpv-player/mpv/pull/5551.patch"},"body":"The purpose of the new API is to make it useable with other APIs than\r\nOpenGL, especially D3D11 and vulkan. In theory it's now possible to\r\nsupport other vo_gpu backends, as well as backends that don't use the\r\nvo_gpu code at all.\r\n\r\nThis also aims to get rid of the dumb mpv_get_sub_api() function. The\r\nlife cycle of the new mpv_render_context is a bit different from\r\nmpv_opengl_cb_context, and you explicitly create/destroy the new\r\ncontext, instead of calling init/uninit on an object returned by\r\nmpv_get_sub_api().\r\n\r\nIn other to make the render API generic, it's annoyingly EGL style, and\r\nrequires you to pass in API-specific objects to generic functions. This\r\nis to avoid explicit objects like the internal ra API has, because that\r\nsounds more complicated and annoying for an API that's supposed to never\r\nchange.\r\n\r\nThe opengl_cb API will continue to exist for a bit longer, but\r\ninternally there are already a few tradeoffs, like reduced\r\nthread-safety.\r\n\r\nMostly untested. Seems to work fine with mpc-qt.\r\n\r\nCC @Akemi not sure if this breaks the swift backend"},"comment":{"url":"https://api.github.com/repos/mpv-player/mpv/issues/comments/368326209","html_url":"https://github.com/mpv-player/mpv/pull/5551#issuecomment-368326209","issue_url":"https://api.github.com/repos/mpv-player/mpv/issues/5551","id":368326209,"user":{"login":"wm4","id":1387750,"avatar_url":"https://avatars0.githubusercontent.com/u/1387750?v=4","gravatar_id":"","url":"https://api.github.com/users/wm4","html_url":"https://github.com/wm4","followers_url":"https://api.github.com/users/wm4/followers","following_url":"https://api.github.com/users/wm4/following{/other_user}","gists_url":"https://api.github.com/users/wm4/gists{/gist_id}","starred_url":"https://api.github.com/users/wm4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wm4/subscriptions","organizations_url":"https://api.github.com/users/wm4/orgs","repos_url":"https://api.github.com/users/wm4/repos","events_url":"https://api.github.com/users/wm4/events{/privacy}","received_events_url":"https://api.github.com/users/wm4/received_events","type":"User","site_admin":false},"created_at":"2018-02-25T17:13:03Z","updated_at":"2018-02-25T17:13:03Z","author_association":"CONTRIBUTOR","body":"Updated.\r\n\r\nI now decided not to make the types/enums I mentioned generic, because they're still pretty trivial, and I think making them generic would probably be more awkward. Mostly I don't want to move the enum with all its members to client.h.\r\n\r\nAs mentioned, another possibility would be using strings instead of enums, but of course normally all string constants would have `#define`s for each them."}}
{"actor":{"display_login":"wm4"}}