- 26 9月, 2014 1 次提交
-
-
由 jp9000 提交于
Typedef pointers are unsafe. If you do: typedef struct bla *bla_t; then you cannot use it as a constant, such as: const bla_t, because that constant will be to the pointer itself rather than to the underlying data. I admit this was a fundamental mistake that must be corrected. All typedefs that were pointer types will now have their pointers removed from the type itself, and the pointers will be used when they are actually used as variables/parameters/returns instead. This does not break ABI though, which is pretty nice.
-
- 10 8月, 2014 1 次提交
-
-
由 jp9000 提交于
Renamed: To: ------------------------------------------------------- obs_source_info::defaults obs_source_info::get_defaults obs_source_info::properties obs_source_info::get_properties obs_output_info::defaults obs_output_info::get_defaults obs_output_info::properties obs_output_info::get_properties obs_output_info::total_bytes obs_output_info::get_total_bytes obs_output_info::dropped_frames obs_output_info::get_dropped_frames obs_encoder_info::defaults obs_encoder_info::get_defaults obs_encoder_info::properties obs_encoder_info::get_properties obs_encoder_info::extra_data obs_encoder_info::get_extra_data obs_encoder_info::sei_data obs_encoder_info::get_sei_data obs_encoder_info::audio_info obs_encoder_info::get_audio_info obs_encoder_info::video_info obs_encoder_info::get_video_fino obs_service_info::defaults obs_service_info::get_defaults obs_service_info::properties obs_service_info::get_properties
-
- 09 8月, 2014 3 次提交
-
-
由 jp9000 提交于
Renamed: To: ------------------------------------------------------- obs_source_info::getname obs_source_info::get_name obs_source_info::getwidth obs_source_info::get_width obs_source_info::getheight obs_source_info::get_height obs_output_info::getname obs_output_info::get_name obs_encoder_info::getname obs_encoder_info::get_name obs_service_info::getname obs_service_info::get_name
-
由 jp9000 提交于
Instead of having functions like obs_signal_handler() that can fail to properly specify their actual intent in the name (does it signal a handler, or does it return a signal handler?), always prefix functions that are meant to get information with 'get' to make its functionality more explicit. Previous names: New names: ----------------------------------------------------------- obs_audio obs_get_audio obs_video obs_get_video obs_signalhandler obs_get_signal_handler obs_prochandler obs_get_proc_handler obs_source_signalhandler obs_source_get_signal_handler obs_source_prochandler obs_source_get_proc_handler obs_output_signalhandler obs_output_get_signal_handler obs_output_prochandler obs_output_get_proc_handler obs_service_signalhandler obs_service_get_signal_handler obs_service_prochandler obs_service_get_proc_handler
-
由 jp9000 提交于
Previous names: New names: ----------------------------------------------------------- obs_view_setsource obs_view_set_source obs_view_getsource obs_view_get_source obs_source_getdisplayname obs_source_get_display_name obs_source_getwidth obs_source_get_width obs_source_getheight obs_source_get_height obs_filter_getparent obs_filter_get_parent obs_filter_gettarget obs_filter_get_target obs_source_filter_setorder obs_source_filter_set_order obs_source_getsettings obs_source_get_settings obs_source_getname obs_source_get_name obs_source_setname obs_source_set_name obs_source_setvolume obs_source_set_volume obs_source_getvolume obs_source_get_volume obs_scene_getsource obs_scene_get_source obs_scene_fromsource obs_scene_from_source obs_scene_findsource obs_scene_find_source obs_output_getdisplayname obs_output_get_display_name obs_output_getname obs_output_get_name obs_encoder_getname obs_encoder_get_name obs_service_getdisplayname obs_service_get_display_name obs_service_getname obs_service_get_name
-
- 29 7月, 2014 1 次提交
-
-
由 jp9000 提交于
With the recent change to module handling by BtbN, I felt that having this information might be useful in case someone is actually using make install to set up their libraries.
-
- 13 7月, 2014 1 次提交
-
-
由 jp9000 提交于
-
- 26 6月, 2014 1 次提交
-
-
由 jp9000 提交于
The locale parameter was a mistake, because it puts extra needless burden upon the module developer to have to handle this variable for each and every single callback function. The parameter is being removed in favor of a single centralized module callback function that specifically updates locale information for a module only when needed.
-
- 17 6月, 2014 1 次提交
-
-
由 jp9000 提交于
The 'initialize' callback is used before the encoders/output start up so it can adjust encoder settings to required values if needed. Also added the function 'obs_encoder_active' that returns true or false depending on whether that encoder is active or not.
-
- 24 4月, 2014 1 次提交
-
-
由 jp9000 提交于
- Updated the services API so that it links up with an output and the output gets data from that service rather than via settings. This allows the service context to have control over how an output is used, and makes it so that the URL/key/etc isn't necessarily some static setting. Also, if the service is attached to an output, it will stick around until the output is destroyed. - The settings interface has been updated so that it can allow the usage of service plugins. What this means is that now you can create a service plugin that can control aspects of the stream, and it allows each service to create their own user interface if they create a service plugin module. - Testing out saving of current service information. Saves/loads from JSON in to obs_data_t, seems to be working quite nicely, and the service object information is saved/preserved on exit, and loaded again on startup. - I agonized over the settings user interface for days, and eventually I just decided that the only way that users weren't going to be fumbling over options was to split up the settings in to simple/basic output, pre-configured, and then advanced for advanced use (such as multiple outputs or services, which I'll implement later). This was particularly painful to really design right, I wanted more features and wanted to include everything in one interface but ultimately just realized from experience that users are just not technically knowledgable about it and will end up fumbling with the settings rather than getting things done. Basically, what this means is that casual users only have to enter in about 3 things to configure their stream: Stream key, audio bitrate, and video bitrate. I am really happy with this interface for those types of users, but it definitely won't be sufficient for advanced usage or for custom outputs, so that stuff will have to be separated. - Improved the JSON usage for the 'common streaming services' context, I realized that JSON arrays are there to ensure sorting, while forgetting that general items are optimized for hashing. So basically I'm just using arrays now to sort items in it.
-
- 20 4月, 2014 1 次提交
-
-
由 jp9000 提交于
Add API for streaming services. The services API simplifies the creation of custom service features and user interface. Custom streaming services later on will be able to do things such as: - Be able to use service-specific APIs via modules, allowing a more direct means of communicating with the service and requesting or setting service-specific information - Get URL/stream key via other means of authentication such as OAuth, or be able to build custom URLs for services that require that sort of thing. - Query information (such as viewer count, chat, follower notifications, and other information) - Set channel information (such as current game, current channel title, activating commercials) Also, I reduce some repeated code that was used for all libobs objects. This includes the name of the object, the private data, settings, as well as the signal and procedure handlers. I also switched to using linked lists for the global object lists, rather than using an array of pointers (you could say it was.. pointless.) ..Anyway, the linked list info is also stored in the shared context data structure.
-