1. 27 2月, 2017 1 次提交
  2. 25 2月, 2017 1 次提交
  3. 17 1月, 2017 1 次提交
  4. 16 1月, 2017 1 次提交
  5. 22 12月, 2016 1 次提交
    • J
      libobs: Process all scene audio actions if no audio playing · e7113753
      jp9000 提交于
      When there are audio sources in a scene and they've all stopped playing
      their audio (audio is pending), all scene item audio actions (volume
      changes, toggling visibility) will perpetually buffer and no longer be
      processed until audio plays again.
      
      So instead of that, if all audio sources have stopped playing in the
      scene, just process all pending scene item audio actions immediately to
      prevent them from never being processed while waiting for a scene item
      to start playing audio.
      e7113753
  6. 09 7月, 2016 1 次提交
  7. 02 7月, 2016 1 次提交
  8. 29 6月, 2016 2 次提交
    • J
      libobs: Use strings instead of enums when saving scale data · 364cb9fb
      jp9000 提交于
      Saves the scene item scale filters as strings instead of enums.  It's
      important to save data in a form that won't break if an API enum
      changes.
      364cb9fb
    • 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
  9. 01 4月, 2016 1 次提交
  10. 31 3月, 2016 2 次提交
  11. 05 2月, 2016 1 次提交
  12. 27 1月, 2016 11 次提交
    • J
      libobs: Use calldata with stack for simple signals · 6f98bd9f
      jp9000 提交于
      Makes signals use stack memory rather than allocate memory each time.
      Most likely a completely insignificant and pointless optimization.
      6f98bd9f
    • J
      libobs: Add comment warning about scene mutex lock ordering · 91ebb5c5
      jp9000 提交于
      A comment that serves as a reminder to anyone who might need to edit the
      scene code.  If the graphics mutex must be locked, it must be locked
      first before entering the scene mutexes, or outside of the scene
      mutexes.
      91ebb5c5
    • J
      (API Change) libobs: Add 'type' to obs_scene_duplicate · a61933dd
      jp9000 提交于
      (Note: This commit also modifies the UI)
      
      Allows the ability to duplicate sources fully copied, and/or have the
      scene and its duplicates be private sources
      a61933dd
    • J
      libobs: Add obs_scene_create_private function · 6824910f
      jp9000 提交于
      Creates a scene marked as a private source
      6824910f
    • J
      libobs: Release scene items outside of scene mutexes · 234cb580
      jp9000 提交于
      Prevents a mutual lock with the scene mutex and graphics mutex.  In
      libobs/obs-video.c, the graphics mutex could be locked first, then the
      scene mutexes second, while in the UI thread, the scene mutexes could be
      locked first, then when a scene item is being destroyed, a source could
      be destroyed, and sometimes sources would lock the graphics mutex
      second.
      
      A possible additional solution is to defer source destroys to the video
      thread.
      234cb580
    • J
      ed10b1ab
    • J
      libobs: Add source type OBS_SOURCE_TYPE_SCENE · e68331e9
      jp9000 提交于
      Helps identify a scene without having to compare its type name to
      "scene".
      e68331e9
    • J
      (API Change) libobs: Remove source_type param from functions · b0104fce
      jp9000 提交于
      (Note: test and UI are also modified by this commit)
      
      API Changed (removed "enum obs_source_type type" parameter):
      -------------------------
      obs_source_get_display_name
      obs_source_create
      obs_get_source_output_flags
      obs_get_source_defaults
      obs_get_source_properties
      
      Removes the "type" parameter from these functions.  The "type" parameter
      really doesn't serve much of a purpose being a parameter in any of these
      cases, the type is just to indicate what it's used for.
      b0104fce
    • J
      libobs: Buffer scene item visibility actions · 3c68196c
      jp9000 提交于
      This buffers scene item visibility actions so that if
      obs_sceneitem_set_visible to true or false, that it will ensure that the
      action is mapped to the exact sample point time in which
      obs_sceneitem_set_visible is called.  Mapping to the exact sample point
      isn't necessary, but it's a nice thing to have.
      3c68196c
    • J
      libobs: Make scenes mix audio of sub-sources · 247a42c2
      jp9000 提交于
      Mark scenes as composite sources and use audio_render to mix and output
      the audio of their sub-sources.
      247a42c2
    • J
      libobs: Split scene mutex to improve performance · 40d6f986
      jp9000 提交于
      Splits the scene mutex in to an audio/video mutex to allow video/audio
      thread to use the same data at the same time without locking on each
      other.
      40d6f986
  13. 22 12月, 2015 2 次提交
    • J
      libobs: Make scene item visibility activate/deactivate · 5be855e8
      jp9000 提交于
      Before if a source was set to invisible it would still be considered
      active.  This changes it so that the source is deactivated when the
      source is invisible to reduce needless resource usage or capturing.
      5be855e8
    • J
      (API Change) libobs: Rename funcs relating to active child sources · c8f4fbe4
      jp9000 提交于
      Renames:
      ----------------------------------------
      obs_source_add_child
      obs_source_remove_child
      obs_source_enum_sources
      obs_source_enum_tree
      obs_source_info::enum_sources
      
      To:
      ----------------------------------------
      obs_source_add_active_child
      obs_source_remove_active_child
      obs_source_enum_active_sources
      obs_source_enum_active_tree
      obs_source_info::enum_active_sources
      
      These functions/callbacks had misleading names: they originally implied
      any child sources, when they actually meant active child sources that
      are being used to render video or audio.  It's important that the
      function names represent their actual purpose.
      c8f4fbe4
  14. 15 12月, 2015 1 次提交
  15. 17 9月, 2015 1 次提交
    • J
      (API Change) libobs: Pass type data to get_name callbacks · 6285a477
      jp9000 提交于
      API changed from:
      obs_source_info::get_name(void)
      obs_output_info::get_name(void)
      obs_encoder_info::get_name(void)
      obs_service_info::get_name(void)
      
      API changed to:
      obs_source_info::get_name(void *type_data)
      obs_output_info::get_name(void *type_data)
      obs_encoder_info::get_name(void *type_data)
      obs_service_info::get_name(void *type_data)
      
      This allows the type data to be used when getting the name of the
      object (useful for plugin wrappers primarily).
      
      NOTE: Though a parameter was added, this is backward-compatible with
      older plugins due to calling convention.  The new parameter will simply
      be ignored by older plugins, and the stack (if used) will be cleaned up
      by the caller.
      6285a477
  16. 29 8月, 2015 1 次提交
  17. 28 6月, 2015 2 次提交
  18. 12 5月, 2015 2 次提交
  19. 28 3月, 2015 1 次提交
    • J
      libobs: Use default blend state with scenes · c7e18783
      jp9000 提交于
      Instead of manually setting the blend state to the desired values, use
      gs_reset_blend_state to ensure we have the default blend state (which
      for color is a typical srcalpha/invsrcalpha alpha blending operation,
      then the alpha channels are added together).
      
      This fixes an issue where filtered scenes would look strange due to the
      fact that alpha was not being blended properly.
      c7e18783
  20. 26 3月, 2015 1 次提交
  21. 23 3月, 2015 1 次提交
  22. 05 3月, 2015 2 次提交
    • S
      libobs: Add function to set scene item position · e270192a
      Socapex 提交于
      Allows setting a specific position for scene items rather than just
      up/down/top/bottom
      e270192a
    • S
      libobs: Replace item_move_* signals · 577d0b21
      Socapex 提交于
      These signals introduce unnecessary complexity.  Instead of emitting a
      signal for a specific move direction, just signal that the scene has
      been reordered, that way the target just refreshes the list.
      577d0b21
  23. 02 3月, 2015 1 次提交
  24. 17 2月, 2015 1 次提交
    • P
      libobs: Handle obs_scene_add failure · 9dca07db
      Palana 提交于
      Previously a NULL item would cause a crash when reading transform info.
      The crash can be reproduced by e.g. editing scenes.json so that two
      scenes contain each other. Example scenes.json:
      
      {
          "current_scene": "Scene",
          "sources": [
              {
                  "flags": 0,
                  "id": "scene",
                  "mixers": 0,
                  "name": "Scene",
                  "settings": {
                      "items": [
                          {
                              "align": 5,
                              "bounds": {
                                  "x": 1440.0,
                                  "y": 900.0
                              },
                              "bounds_align": 0,
                              "bounds_type": 2,
                              "name": "Scene 2",
                              "pos": {
                                  "x": 0.0,
                                  "y": 0.0
                              },
                              "rot": 0.0,
                              "scale": {
                                  "x": 1.0,
                                  "y": 1.0
                              },
                              "visible": true
                          }
                      ]
                  },
                  "sync": 0,
                  "volume": 1.0
              },
              {
                  "flags": 0,
                  "id": "scene",
                  "mixers": 0,
                  "name": "Scene 2",
                  "settings": {
                      "items": [
                          {
                              "align": 5,
                              "bounds": {
                                  "x": 1.0,
                                  "y": 1.0
                              },
                              "bounds_align": 0,
                              "bounds_type": 0,
                              "name": "Scene",
                              "pos": {
                                  "x": 854.0,
                                  "y": -520.0
                              },
                              "rot": 0.0,
                              "scale": {
                                  "x": 1.75,
                                  "y": 1.7562724351882935
                              },
                              "visible": true
                          }
                      ]
                  },
                  "sync": 0,
                  "volume": 1.0
              }
          ]
      }
      9dca07db