- 20 8月, 2015 10 次提交
-
-
由 jp9000 提交于
Uses the file-updater utility library to update the services.json file. If the remote version is incompatible or corrupted, will reject the file.
-
由 jp9000 提交于
This will use the services.json file present in the cache, or if it has the wrong format version or is corrupted for whatever reason, uses the local version instead. Also a minor refactor, makes it so that you call the open_services_file function to get the services array, rather than having to get the file name each time.
-
由 jp9000 提交于
The entire services file had to be restructured, but this allows us to be able to change the format of the json file safely (if ever needed).
-
由 jp9000 提交于
This allows plugins to update and cache data files from a remote source. Here are the steps that occur when the API initiates an update check: 1.) It checks to see if the local files are greater than the cached files. If the local version is newer (for whatever reason), it replaces the cached version(s) with the local version. 2.) A packages.json file is downloaded from the specified URL. That packages.json file contains a version number and a list of files to be updated. 3.) If the downloaded package version is greater than the cached version, executes step 4-5 on each file. 4.) Checks the version for the file to update in packages.json, and if the version is greater than the cached version, proceeds to step 5, otherwise repeat step 4-5 for other files. 5.) Calls the callback given to the update function (if any) with the file information (file name, buffer, etc), and if the callback returns true, allows the cached file to be updated and replaced, otherwise goes back to step 4-6 for the rest of the files. NOTE: Files are never modified directly. All file saving/modification is performed in a temporary directory, and then files are moved to their destination. This should eliminate any possibility of file corruption (or at least dramatically reduce the possibility).
-
由 jp9000 提交于
This is just for accessing a json object. I should be using obs_data_t for this instead of json directly, but it doesn't really matter.
-
由 jp9000 提交于
Allows the ability to get a module-specific configuration file/path
-
由 jp9000 提交于
API Changed: --------------------------- From: - bool obs_startup(const char *locale, profiler_name_store_t *store); To: - bool obs_startup(const char *locale, const char *module_config_path, profiler_name_store_t *store); Summary: --------------------------- This allows plugin modules to store plugin-specific configuration data (rather than only allowing objects to store configuration data). This will be useful for things like caching data, for example looking up and storing ingests from remote (rather than storing locally), or caching font data (so it doesn't have to build a font cache each time), among other things. Also adds a module-specific directory for the UI
-
由 jp9000 提交于
If a user was using FFmpeg output before pathc 0.12.0, they had to type in the full file name to the FFmpeg output URL/Path box, which isn't exactly compatible with the new settings. This changes each profile's config file so that the FFmpeg output detects whether files are used, and then extracts the file's directory and extension and sets them accordingly to make it compatible with the new FFmpeg file output handling.
-
由 jp9000 提交于
This changes the way the advanced output section's FFmpeg output settings work by allowing the user to select whether they want to output to a file or output to a URL, and makes it so file names are automatically generated like other recording outputs. If they choose to output to a file, it'll only require an output directory similarly to how other recording outputs work. They can select a directory to output to rather than being required to type in a full path and filename; the filename is automatically generated. The extension is also automatically retrieved from libff depending on the format selected. Otherwise if they have Output to URL selected, it'll show a simple edit box where they can type in the target URL.
-
由 jp9000 提交于
Manually specifies the UTF-8 character codes used by the file rather than relying on the compiler to determine what the codes are manually. I was getting compile errors due to the fact that my current code page is not at the default code page; so visual c++ tried to use my current code page rather than UTF-8 and it would cause an error on the file.
-
- 19 8月, 2015 1 次提交
-
-
由 jp9000 提交于
Apparently using QPointer container for the QObject being given to the connect function makes it so it can't find the actual function to use. I'm guessing this is incomplete functionality or a bug that existed in GCC 4.8. Doesn't happen in 4.9+.
-
- 17 8月, 2015 6 次提交
-
-
由 jp9000 提交于
-
由 jp9000 提交于
When settings the base resolution, try to find the closest output resolution to the old output resolution, and use that for its value. If the aspect ratio is about the same, then don't modify the value. If the aspect ratio is significantly different, then find the closest approximation while keeping with the new aspect ratio. This particular issue has been an annoyance for quite some time.
-
由 jp9000 提交于
When getting a blank module data file (indicating you want to get the path to the module data directory itself), on certain operating systems (windows) it will fail if you end the path with '/' or '\'. So simply make sure that if a blank module sub-path is used, don't try to append a slash.
-
由 jp9000 提交于
The return value is supposed to be a boolean value; not NULL.
-
由 Gökberk Yaltıraklı 提交于
When a window being captured is closed, it never tries to reacquire. This just searches for the window in video_tick and reacquires if the currently set window is found again. Closes jp9000/obs-studio#465
-
- 16 8月, 2015 10 次提交
-
-
由 jp9000 提交于
It's best to do the global curl initialization separately before any curl functions are called. Prevents initialization threading issues.
-
由 jp9000 提交于
-
由 jp9000 提交于
-
由 jp9000 提交于
-
由 jp9000 提交于
-
由 jp9000 提交于
Apparently the site has been dissolved and/or bought out. It seems it will reform as something else later on in the future.
-
由 jp9000 提交于
This URL is set via cmake instead of being baked in to the actual source code.
-
由 jp9000 提交于
I made the rather tough call of not showing all services by default; I didn't want to have to do this, but too many services are asking to be put in to the program, and any time I add a service in to the list, I feel uncomfortable because I feel like I'm potentially advertising them, and/or they're using our program to advertise as well. Some of these services are particularly bad at policing illegal/copyrighted content, host content that I personally find distasteful or incredibly stupid (what the heck is up with these "vaping" streams?), or are just fairly terrible websites in general that I just feel uncomfortable with showing by default. However, I do not really want to reject anyone either, I want to let their users be able to use our program with relative ease, but more than anything I just simple don't want to be seen as "endorsing" some of these websites (more than others in particular). I know that a "show all services" checkbox is probably pretty pointless/superfluous thing to do, but I feel like it's at the very least a means of saying "hey, I don't really endorse these guys," or "use at your own risk," or "warning: this website is incredibly terrible." Honestly, I couldn't really think of any better solution that would a.) still list all services without outright censoring them, and b.) prevent us from being seen as "endorsing" all services. (Although maybe this whole thing feels a bit.. passive aggressive. I feel like I'm tipping over someone's garden gnome in the middle of the night while they're sleeping. Still, it's something.) NOTE: This code is backward compatible; i.e., if you previously had a service selected that's not common but don't have the "show all" checkbox checked, it'll still show that service for convenience.
-
由 jp9000 提交于
Services almost always recommend this be enabled, and I generally want to make configuration easier for users; with CBR they don't have to set things like the CRF value.
-
由 jp9000 提交于
Just a little helper function that allows you to create an obs_data_t object from a json file (rather than having to manually open it each time and then call obs_data_create_from_json on the file data)
-
- 15 8月, 2015 2 次提交
-
-
由 jp9000 提交于
My fault; should have realized that this would be better to do. Uses "obs-studio" as the name, and includes the version (same format as the others)
-
由 Marc Chambers 提交于
This will help ensure the receiving end knows that OBS is being used. Closes jp9000/obs-studio#464
-
- 14 8月, 2015 8 次提交
-
-
由 kc5nra 提交于
Different logging can occur from different contexts. This adds isolation for each context passed to the AV log.
-
由 John Bradley 提交于
-
由 John Bradley 提交于
Adds a log message whenever the source is created or updated containing all the properties set to help debugging remote users' problems.
-
由 John Bradley 提交于
-
由 John Bradley 提交于
-
由 John Bradley 提交于
-
由 kc5nra 提交于
-
由 Jim 提交于
test: Update Windows test application for windowless contexts
-
- 13 8月, 2015 3 次提交
-
-
由 Palana 提交于
The rationale for rejecting these register calls is that these functions may be required for the plugin to work properly, which can't be guaranteed when libobs doesn't know about them. This behavior may be revisited once the plugin manager is implemented, to e.g. make it configurable (potentially per plugin) to allow loading newer plugins in case they are known to work with the older libobs
-
由 Palana 提交于
Previously adding new required functions would cause libobs to read out of bounds in plugins not built with the new additions
-
由 Palana 提交于
-