{"push_id":690427444,"size":41,"distinct_size":13,"ref":"refs/heads/ffmpeg-mux","head":"6a5852f694f5c2d4d0d00300acc97b5e08b50fbe","before":"5b617733e9e73d3f383e8b55c8a27e7f4cbecf01","commits":[{"sha":"4ee5c8e0f3944ab857648c4f800d08e929d993cd","author":{"email":"800ac77708484767908a25b8327d7914255a3704@stunned.de","name":"Palana"},"message":"libobs: Fix crash on encoder initialization failure\n\nFound via clang static analysis","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/4ee5c8e0f3944ab857648c4f800d08e929d993cd"},{"sha":"899557699fffea0b8c82278ef19a1602936edb1c","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"libobs: Add OBS_UNIX_STRUCTURE config variable\n\nThis obsconfig.h variable will be true or false depending on whether the\nproject is configured with the cmake UNIX_STRUCTURE variable or not.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/899557699fffea0b8c82278ef19a1602936edb1c"},{"sha":"ea3496e51265d34ee02f35918b25cc1853fec953","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"UI: Add support for portable mode\n\nPortable mode can be enabled via command line options (--portable or -p)\nor by having any of the following files present in the base directory of\na portable install:\n\nportable_mode\nobs_portable_mode\nportable_mode.txt\nobs_portable_mode.txt\n\nPortable mode is omitted when obs is built with a unix program\nstructure.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/ea3496e51265d34ee02f35918b25cc1853fec953"},{"sha":"4b422d7d2305a81e99d7e0111062dbb8809092a4","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"UI: Replace os_get_config_path with GetConfigPath\n\nThis allows the UI to be able to use a custom config path for cases such\nas portable mode, where the config path is relative to the executable.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/4b422d7d2305a81e99d7e0111062dbb8809092a4"},{"sha":"244ed30b06758eef950eec76d439c0d43d4a60b2","author":{"email":"453b5543b98b64b7335d5d9f9dd926208a6e083a@users.noreply.github.com","name":"Radzaquiel"},"message":"rtmp-services: update Hitbox ingest servers list\n\nModified: Asia","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/244ed30b06758eef950eec76d439c0d43d4a60b2"},{"sha":"0b092b3905f18c57b8c76fe59ed23999dfa23f59","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"Jim"},"message":"Merge pull request #434 from Radzaquiel/patch-5\n\nrtmp-services: update Hitbox ingest servers list","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/0b092b3905f18c57b8c76fe59ed23999dfa23f59"},{"sha":"a752b32b833b91b1486d949afef673e6e18f3a2e","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"libobs: Add editable list property\n\nAdd an editable list property, primarily used for adding files to a\nplaylist for example.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/a752b32b833b91b1486d949afef673e6e18f3a2e"},{"sha":"9d1204a8bc636021e26cd51031d26629b0294089","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"UI: Add editable list property to properties view\n\nImplemented as a multi-selection QListWidget.  Individual values in the\nlist are saved to the settings in an obs_data_array_t item.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/9d1204a8bc636021e26cd51031d26629b0294089"},{"sha":"0c631db046b512ca44f87e5e22921920cfa8ea3c","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"UI: Add funcs to get windows ver. and disable aero\n\nAdds two functions, GetWindowsVersion and SetAeroEnabled.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/0c631db046b512ca44f87e5e22921920cfa8ea3c"},{"sha":"e7eaa268e56817c6c409101bb0fac36c67419112","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"UI: Add option to disable aero on windows vista/7\n\nOn windows vista/7, you cannot really use display capture efficiently\nwithout disabling aero, so this will add an option to settings to allow\nit to be disabled and cause it to be disabled on startup.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/e7eaa268e56817c6c409101bb0fac36c67419112"},{"sha":"e42aee5da9babaab08f7301d7354303f47512f7c","author":{"email":"5d95909812cde8b88d2b073c4a75a1ac99361d34@gmail.com","name":"Eric Bataille"},"message":"UI: Use correct output folder for Show/Remux\n\nEnsures that the \"Show Recordings\" an \"Remux Recordings\" file menu\nitems will open the recordings folder from the currently active\noutput mode rather than always the simple output mode.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/e42aee5da9babaab08f7301d7354303f47512f7c"},{"sha":"ba4ac47ee360c89fdc6948820d8d6346050f2bb3","author":{"email":"2998ce8a4456dfca37d93a45a379436352629c1b@gmx.net","name":"Bl00drav3n"},"message":"win-capture: Modify 16bit to 32bit color conversion to use SSE","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/ba4ac47ee360c89fdc6948820d8d6346050f2bb3"},{"sha":"1ee3d218e7bb94be840592d304c76b53cb229665","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"Jim"},"message":"Merge pull request #435 from Bl00drav3n/master\n\nModified 16bit to 32bit color conversion to use SSE.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/1ee3d218e7bb94be840592d304c76b53cb229665"},{"sha":"7f7901b9302815bda40c2cb9e5c307fb685f5364","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"libobs: Reset frame cache if it gets too big\n\nWhen buffering is enabled for an async video source, sometimes minor\ndrift in timestamps or unexpected delays to frames can cause frames to\nslowly buffer more and more in memory, in some cases eventually causing\nthe system to run out of memory.\n\nThe circumstances in which this can happen seems to depend on both the\ncomputer and the devices in use.  So far, the only known circumstances\nin which this happens are with heavily buffered devices, such as\nhauppauge, where decoding can sometimes take too long and cause\ncontinual frame playback delay, and thus continual buffering until\nmemory runs out.  I've never been able to replicate it on any of my\nmachines however, even after hours of testing.\n\nThis patch is a precautionary measure that puts a hard limit on the\nnumber of async frames that can be currently queued to prevent any case\nwhere memory might continually build for whatever reason.  If it goes\nover the limit, it clears the cache to reset the buffering.\n\nI had a user with this problem test this patch with success and positive\nfeedback, and the intervals between buffering resets were long to where\nit wasn't even noticeable while streaming/recording.\n\nIdeally when decoding frames (such as from those devices), frame\ndropping should be used to ensure playback doesn't incur extra delay,\nalthough this sort of hard limit on the frame cache should still be\nimplemented regardless just as a safety precaution.  For DirectShow\nencoded devices I should just switch to faruton's libff for decoding and\nenable the frame dropping options.  It would probably explain why no\none's ever reported it for the media source, and pretty much only from\nDirectShow device usage.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/7f7901b9302815bda40c2cb9e5c307fb685f5364"},{"sha":"51dd204c6fbe5bb4a6153082ddda124e520d3875","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"libobs: Save clamped video time\n\nThe \"clamped\" video time is the system time per video frame that is\nclosest to the current system time, but always divisible by the frame\ninterval.  For example, if the last frame system timestamp was 1600 and\nthe new frame is 2500, but the frame interval is 800, then the\n\"clamped\" video time is 2400.\n\nThis clamped value is useful to get the relative system time without any\njitter.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/51dd204c6fbe5bb4a6153082ddda124e520d3875"},{"sha":"35a35badeb050d53eec590c5d7e08ff753077c35","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"libobs: Use clamped video time for async timing\n\nWhen playing back buffered async frames, this reduces the probability\nthat new frames will be missed/skipped due to jitter in the system\ntimestamps.\n\nIf a buffered async source is playing at the same framerate as the\ncompositor and there is no jitter in the async source's timestamps, then\nthe async source will play back perfectly in sync with the compositor\nthanks to this change, ensuring that there's no skipped or missed frames\nin video playback.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/35a35badeb050d53eec590c5d7e08ff753077c35"},{"sha":"76870d17645271ef3fa333d183d64db9b489ee48","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"libobs: Increase async jitter compensation\n\nDue to the fact that async timestamps themselves can be susceptible to\nminor jitter from certain types of inputs, increase the allowable jitter\ncompensation value to ensure that the rendered frame timing from async\nvideo sources is always as close as possible to the compositor.\n\nWhen the framerate of the source is the same as the framerate as the\ncompositor, this (combined with the fact that clamped video timing now\nbeing used with async video frames) helps ensure that buffered async\nvideo sources will sync up their rendering to the compositor as\naccurately as possible despite jitter from the source's timestamps.\n\nIf there is no jitter in the source's timestamps then it'll always sync\nup perfectly with the compositor, thanks to clamped video timing.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/76870d17645271ef3fa333d183d64db9b489ee48"},{"sha":"d16ec97f7b03d45ea8433ce30d0fcae56e3bee7e","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"UI: Change default simple audio bitrate to 160\n\nThe audio bitrate required is insignificant relative to the video\nbitrate, and due to the fact that it's possible that a lower-quality\nencoder may be in use (such as FFmpeg's AAC encoder), setting the\ndefault to 160 is really more ideal to reducee any potential quality\nloss.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/d16ec97f7b03d45ea8433ce30d0fcae56e3bee7e"},{"sha":"c237638fb5f3cd74348563c5df07799e54d62125","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"win-dshow: Update libdshowcapture to 0.5.3","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/c237638fb5f3cd74348563c5df07799e54d62125"},{"sha":"5492c02e0b001fa82cfa6d0c062cfd82fae8a58b","author":{"email":"afb1f552943ed2e4226ea95f31452bbd1d67cfba@gmail.com","name":"jp9000"},"message":"win-dshow: Add audio output mode options\n\nThis allows the ability to output the audio of the device as desktop\naudio (via the WaveOut or DirectSound audio renderers) instead of\ncapturing the audio only.\n\nIn the future, we'll implement audio monitoring which will make this\nfeature obsolete, but for the time being I decided to add this option as\na temporary measure to allow users to play the audio from their devices\nvia the DirectShow output.","distinct":false,"url":"https://api.github.com/repos/jp9000/obs-studio/commits/5492c02e0b001fa82cfa6d0c062cfd82fae8a58b"}]}