1. 02 1月, 2018 1 次提交
    • J
      libobs: Add obs_render_main_texture · 7f6cf97b
      jp9000 提交于
      (Note: This commit also modifies UI and test)
      
      This makes it so that main preview panes are rendered with the main
      output texture rather than re-rendering the main view.  The view will
      render all objects again, whereas the output texture will be a single
      texture render of the same exact thing.
      
      Also fixes some abnormal artifacting when scaling the main preview pane.
      7f6cf97b
  2. 10 10月, 2017 1 次提交
    • J
      libobs: Add async video/audio decoupling functions · b54f70ef
      jp9000 提交于
      Decoupling the audio from the video causes the audio to be played right
      when it's received rather than attempt to sync up to the video frames.
      This is useful with certain async sources/devices when the audio/video
      timestamps are not reliable.
      
      Naturally because it plays audio right when it's received, this should
      only be used when the async source is operating in unbuffered mode,
      otherwise the video frame timing will be out of sync by the amount of
      buffering the video currently has.
      b54f70ef
  3. 14 9月, 2017 1 次提交
  4. 07 8月, 2017 1 次提交
  5. 01 8月, 2017 1 次提交
    • J
      libobs: Add API function to get version string · e423492d
      jp9000 提交于
      Some plugins are using the OBS_VERSION macro obs-config.h to specify the
      current version, which will bake the string in to the plugin, making it
      so that if the plugin is not replaced for a patch, it could potentially
      have the incorrect version.  This makes it so that a plugin/frontend can
      get the current version string that's baked in to libobs itself.
      e423492d
  6. 21 7月, 2017 1 次提交
    • S
      libobs: Add post-load module callback · 4fd66d4d
      SammyJames 提交于
      This allows the ability for certain types of modules (particularly
      scripting-related modules) to initialize extra data when all other
      modules have loaded.  Because front-ends may wish to have custom
      handling for loading modules, the front-end must manually call
      obs_post_load_modules after it has completed loading all plug-in
      modules.
      
      Closes jp9000/obs-studio#965
      4fd66d4d
  7. 20 7月, 2017 2 次提交
  8. 15 7月, 2017 1 次提交
    • J
      libobs: Add ability for service to specify its output type · 24571599
      jp9000 提交于
      Allows the ability to change the output type in case one service
      requires a different output type.
      
      NOTE: This should be considered a temporarily yet simple solution to a
      specific problem: support for RTMP-like outputs.  This will allows
      seamless integration of supporting different RTMP-like output types
      within the same service.  This should probably be replaced with a more
      ideal solution later, such as implementing a completely different
      service type instead, when time permits.
      24571599
  9. 14 7月, 2017 1 次提交
  10. 28 6月, 2017 1 次提交
  11. 17 5月, 2017 1 次提交
  12. 15 5月, 2017 2 次提交
  13. 14 5月, 2017 1 次提交
    • J
      libobs: Don't use source flags for async buffering · d13fa968
      jp9000 提交于
      (This commit also modifies the decklink, linux-v4l2, mac-avcapture,
      obs-ffmpeg, and win-dshow modules)
      
      Originally, async buffering for sources was supposed to be a
      user-controllable flag.  However, that turned out to be less than ideal
      because sources (such as the win-dshow plugin) were programmed with
      automatic control over their buffering (such as automatically detecting
      USB 2.0 capture devices and then enabling in those cases).
      
      The fact that it was a flag caused a design flaw to where buffering
      values would be overwritten when a source is loaded from save data.
      
      Because of that, this flag is being deprecated and replaced with a
      specific function to enable unbuffered mode instead.
      d13fa968
  14. 13 5月, 2017 3 次提交
  15. 07 5月, 2017 2 次提交
  16. 26 4月, 2017 1 次提交
  17. 29 3月, 2017 1 次提交
  18. 26 3月, 2017 1 次提交
  19. 25 3月, 2017 1 次提交
  20. 07 2月, 2017 1 次提交
    • J
      libobs: Implement audio monitoring · d2934eca
      jp9000 提交于
      Adds functions to turn on audio monitoring to allow the user to hear
      playback of an audio source over the user's speaker.  It can be set to
      turn off monitoring and only output to stream, or it can be set to
      output only to monitoring, or it can be set to both.
      
      On windows, audio monitoring uses WASAPI.  Windows also is capable of
      syncing the audio to the video according to when the video frame itself
      was played.
      
      On mac, it uses AudioQueue.
      
      On linux, it's not currently implemented and won't do anything (to be
      implemented).
      d2934eca
  21. 25 1月, 2017 1 次提交
  22. 24 12月, 2016 1 次提交
  23. 08 12月, 2016 2 次提交
    • J
      libobs: Use reference counting for encoder packets · 7d6e6eee
      jp9000 提交于
      Prevents reallocation of encoded packet data.
      
      Deprecates:
      obs_duplicate_encoder_packet
      obs_free_encoder_packet
      
      Replaces those functions with:
      obs_encoder_packet_ref
      obs_encoder_packet_release
      7d6e6eee
    • J
      libobs: Fix deprecated macro · b29d8a44
      jp9000 提交于
      There's no need to have two separate macros to declare something as
      deprecated.
      b29d8a44
  24. 23 8月, 2016 1 次提交
    • J
      libobs: Add obs_get_active_fps function · 95ce5560
      jp9000 提交于
      Allows getting the current active framerate that the core is rendering
      with.  This takes in to account any rendering lag or stalls that may be
      occurring.
      95ce5560
  25. 06 8月, 2016 1 次提交
  26. 29 6月, 2016 1 次提交
    • J
      libobs: Add ability to use scale filters on scene items · d4983383
      jp9000 提交于
      Allows the ability to use scale filters such as point, bicubic, lanczos
      on specific scene items, disabled by default.  When using one of the
      latter two options, if the item's scale is under half of the source's
      original size, it uses the bilinear low resolution downscale shader
      instead.
      d4983383
  27. 23 4月, 2016 1 次提交
    • J
      libobs: Allow filter processing function to return false · ff99ba78
      jp9000 提交于
      (Note: this commit also modifies the obs-filters and test-input modules)
      
      Changes the obs_source_process_filter_begin return type so that it
      returns true/false to indicate that filter processing should or should
      not continue (for example if the filter is bypassed or if there's some
      other sort of issue that causes the filtering to fail)
      ff99ba78
  28. 14 4月, 2016 1 次提交
  29. 11 4月, 2016 1 次提交
    • J
      libobs: Add ability to create private services · 59207785
      jp9000 提交于
      This is a band-aid solution to be able to create temporary services
      without logging them and keep them out of enumeration functions.
      
      This is a band-aid solution -- 'master obs context lists' should not be
      kept by the core.  Logging of object creation/destruction should also be
      controlled by the front-end instead of the core.
      59207785
  30. 04 4月, 2016 1 次提交
    • J
      libobs: Add obs_obj_invalid function · 822ffb85
      jp9000 提交于
      Determines whether an obs object was created successfully.  If a plugin
      that's used for a saved object is removed (third party plugins), its
      data will become invalid, but the objects can often still be created for
      the sake of preserving user settings, but sometimes these objects can
      cause problems if they're actually used (such as using them for
      transitions).
      822ffb85
  31. 31 3月, 2016 2 次提交
  32. 27 3月, 2016 1 次提交
  33. 22 3月, 2016 1 次提交
    • J
      libobs: Add deinterlacing API functions · 07c644c5
      jp9000 提交于
      Adds deinterlacing API functions.  Both standard and 2x variants are
      supported.  Deinterlacing is set via obs_source_set_deinterlace_mode and
      obs_source_set_deinterlace_field_order.
      
      This was implemented in to the core itself because deinterlacing should
      happen before effect filters are processed, but after async filters are
      processed.  If this were added as a filter, there is the possibility
      that a different filter is processed before deinterlacing, which could
      mess with the result.  It was also a bit easier to implement this way
      due to the fact that that deinterlacing may need to have access to the
      previous async frame.
      
      Effects were split in to separate files to reduce load time (especially
      for yadif shaders which take a significant amount of time to compile).
      07c644c5