{"push_id":589314194,"size":15,"distinct_size":6,"ref":"refs/heads/js-duk","head":"471df55c91449d60796b7d1d873dcafee1fa85b2","before":"46f8222130b8f54582cb0165aaaf7e6829f8fd64","commits":[{"sha":"1bbf1eb3ce2bdb0ef3ec3b045074bcb2f3af6a7a","author":{"email":"2acb323e1fa4a6e58a663123ed14034a3d5ac496@1","name":"torque"},"message":"Lua: add mp.get_screen_margins().\n\nWhen used with mp.get_screen_size(), mp.get_screen_margins() allows a\nLua script to determine what portion of the mpv window actually has the\nvideo in it.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/1bbf1eb3ce2bdb0ef3ec3b045074bcb2f3af6a7a"},{"sha":"08199a64d2e7e9f1a9430f0258a98285cdf1c902","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"vf_scale: libswscale is being stupid\n\nThis time (there are a lot of times), libswscale randomly ignores\nbrightness/saturation/contrast settings.\n\nLooking at MPlayer code, it appears the return value of\nsws_setColorspaceDetails() signals if changing these settings is\nsupported at all.\n\n(Nevermind that supporting this feature has almost 0 value, and\nobviously eats maintenance time.)","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/08199a64d2e7e9f1a9430f0258a98285cdf1c902"},{"sha":"4b177bd5c22fbeeba9ddae77503ab9938f2503c3","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"vo_direct3d: support NV12 with shaders\n\nSemi-important, because --hwdec=dxva2 outputs NV12, and we really don't\nwant people to end up with the \"old\" StretchRect method.\n\nUnfortunately, I couldn't actually get it to work. It seems most D3D\ndrivers (including the wine D3D implementation) reject D3DFMT_A8L8,\nand I could not find any other 2-channel 8 bit Direct3D 9 format. It\nseems newer D3D APIs have DXGI_FORMAT_R8G8_UNORM, but there's no way\nto get it in D3D9.\n\nStill pushing this; maybe it actually works on some drivers.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/4b177bd5c22fbeeba9ddae77503ab9938f2503c3"},{"sha":"445b3fbf826dd074b1f2a34cddcd3f126462f0d1","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"buid: readd -Wparentheses\n\nThis warning wasn't overly helpful in the past, and warned against\nperfectly fine code. But at least with recent gcc versions, this is the\nwarning that complains about assignments in if expressions (why???), so\nwe want to enable it.\n\nAlso change all the code this warning complains about for no reason.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/445b3fbf826dd074b1f2a34cddcd3f126462f0d1"},{"sha":"01b87e509c292189acdd96bc7a216b50eafbce9e","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"msg: use relaxed atomics for log level test\n\nThis should be sufficient.\n\nIf stdatomic.h is not available, we make no difference.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/01b87e509c292189acdd96bc7a216b50eafbce9e"},{"sha":"a4b6bf8c41b54554286117b97e78412a32b5147f","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"player: refine rar:// playlist-safety handling\n\nIt was possible to make the player play local files by putting rar://\nlinks into remote playlists, and some other potentially unsafe things.\n\nRedo the handling of it. Now the rar-redirector (the thing in\ndemux_playlist.c) sets disable_safety, which makes the player open any\nplaylist entries returned. This is fine, because it redirects to the\nsame file anyway (just with different selection/interpretation of the\ncontents). On the other hand, rar:// itself is now considered fully\nunsafe, which means that it is ignored if found in normal playlists.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/a4b6bf8c41b54554286117b97e78412a32b5147f"},{"sha":"d0fee0ac33a02e3dcb6c4b27b554be70e6b64e7a","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"demux_lavf: use this for image formats\n\nUse the (relatively new) libavformat image format probing functionality,\ninstead of letting demux_mf guess by file extension and MIME type.\n\nThe libavformat support is weird, though. Traditionally, it uses an\nabsolutely terrible hack to detect images by extension, _and_ (which is\nthe horrible part) will randomly interpret parts of the filename as\nspecifiers for matching by number. So something like '%03d' will be\ninterpreted as placeholder for a frame number. The worst part is that\nsuch character sequences can be perfectly valid and common in http URLs.\nThis is known as \"image2\" demuxer. The newer support, which probes by\nexamining the file header, is split into several format-specific\ndemuxers with names ending in \"_pipe\". So we check for such a name\nsuffix. (At this point we're doing fine-grained hacking around ffmpeg\nweirdness, so a clean solution is impossible anyway until upstream\nchanges.)","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/d0fee0ac33a02e3dcb6c4b27b554be70e6b64e7a"},{"sha":"89bc2975e951e2a20aa2d02bdb34cc268bb5c5cd","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"audio: change playback speed directly in resampler\n\nAlthough the libraries we use for resampling (libavresample and\nlibswresample) do not support changing sampelrate on the fly, this makes\nit easier to make sure no audio buffers are implicitly dropped. In fact,\nthis commit adds additional code to drain the resampler explicitly.\n\nChanging speed twice without feeding audio in-between made it crash\nwith libavresample inc ertain cases (libswresample is fine). This is\nprobably a libavresample bug. Hopefully this will be fixed, and also I\nattempted to workaround the situation that crashes it. (It seems to\npoint in direction of random memory corruption, though.)","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/89bc2975e951e2a20aa2d02bdb34cc268bb5c5cd"},{"sha":"fa65d657d2ae760aa565ea0d3bc3a2aa43bf4158","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"manpage: remove empty line to fix formatting\n\nThe HTML rendering of this page formats the ``timeout`` section\ndifferently, and we suspect it's because of this. (Or in other words:\nwtf rst??)","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/fa65d657d2ae760aa565ea0d3bc3a2aa43bf4158"},{"sha":"c06effe21ad006bb188eae73d130d41eac542300","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"Add Javascript scripting support using MuJS\n\nImplements JS with almost identical API to the Lua support, except:\n- The global mp, mp.msg and mp.utils are always available\n- On error return undefined and the error is at mp.last_error_string\n- Timers are JS \"standard\" global set/clear Timeout/Interval/Immediate\n- Supports CommonJS style modules/require\n- At mp.utils: read_file (any), and load_file, run_file (for js files)\n- Global print and dump functions\n- mp.options currently not supported\n\nRequires MuJS (clone, make, make install):\n- http://mujs.com/ - git://git.ghostscript.com/mujs.git\n- Mirror - https://github.com/ccxvii/mujs\n\nNote: MuJS is a new project and this is probably its first major use outside\nof MuPDF. Please keep an eye open for bugs.","distinct":true,"url":"https://api.github.com/repos/avih/mpv/commits/c06effe21ad006bb188eae73d130d41eac542300"},{"sha":"dbd7da91c9d6bb73674f0372386f4744340f368d","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"js: add Duktape support and build instructions\n\nThe support is implemented using a thin translation layer from MuJS -> Duktape\n(AKA MUD) which, at compile time, translates most of MuJS APIs into Duktape's,\nand adds small wrapper functions where no identical API is available.\n\nThe existing code is minimally touched and the MUD translation is applied\nvia mud_js.h (and controlled with MUD_HAVE_DUK).\n\nmpv needs duktape.c and duktape.h at <mpv-src>/duktape in order to use it.\n\nDuktape - http://duktape.org/\nSources (as archives) - http://duktape.org/download.html or after checking out\nthe latest tag from https://github.com/svaarala/duktape-releases.git .\n\nLike MuJS, Duktape is also a new project, so keep an eye for bugs here too.","distinct":true,"url":"https://api.github.com/repos/avih/mpv/commits/dbd7da91c9d6bb73674f0372386f4744340f368d"},{"sha":"596318a4d1ae06fee968847b51599db086e8212f","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"js: support both Duktape and MuJS at the same binary\n\nIf both backends are compiled into mpv then mpv will choose Duktape by default.\nHowever, if the user specifies --script-opts=js-backend=mujs, then MuJS will\nbe selected (the <ext>-backend script-opts key is automatically interpreted\nwhen the script backend defines its extension as e.g. \"js:duktape\").\n\nThe js-backend can even change in runtime and it would affect the next script\nload - if mpv supported adding scripts at runtime (which it doesn't AFAIK).\n\nThe implementation relies on the fact that javascript.c can already configure\nitself to compile in MuJS \"mode\" or Duktape mode, according to MUD_USE_DUK.\n\nAll that's left to do is compile it twice - with different MUD_USE_DUK values\nand be happy for the fact that Duktape has a duk_ prefix for its API while\nMuJS doesn't. This is done at the 4 lines mujs_shim.c which, if the conditions\nmatch, define MUD_USE_DUK and includes javascript.c . Presto.\n\nThis also has the great added value that when working on javascript.c, it will\nshow compile issues with both backends, and binaries can be tested with both\nbackends without invoking configure and rebuilding (and especially users\ncould switch backends with a single binary).","distinct":true,"url":"https://api.github.com/repos/avih/mpv/commits/596318a4d1ae06fee968847b51599db086e8212f"},{"sha":"4027b02e3543474055cca59c3f8c9a5cc9180443","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"js: multi-backend: use --js-backend instead of --script-opts=js-backend","distinct":true,"url":"https://api.github.com/repos/avih/mpv/commits/4027b02e3543474055cca59c3f8c9a5cc9180443"},{"sha":"6aaf26832dc986e28b4973dba86a76ffb8489b8c","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"js: adapt to new mujs API of js_newstate, js_newuserdata","distinct":true,"url":"https://api.github.com/repos/avih/mpv/commits/6aaf26832dc986e28b4973dba86a76ffb8489b8c"},{"sha":"471df55c91449d60796b7d1d873dcafee1fa85b2","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"js: add libass/mouse/screen functions which lua uses for osc","distinct":true,"url":"https://api.github.com/repos/avih/mpv/commits/471df55c91449d60796b7d1d873dcafee1fa85b2"}]}