1. 03 3月, 2015 5 次提交
    • J
      libobs: Use video thread for show/active callbacks · 83237991
      jp9000 提交于
      For the show/hide and activate/deactivate callbacks, schedule these
      callbacks to only be called from within the video thread rather than in
      a separate thread.  This ensures that any potential graphics activity
      that occurs within them is kept in the same thread.
      83237991
    • J
      UI: Indicate source is being shown in properties · 7c8b0537
      jp9000 提交于
      When viewing the properties of a source, there's no way to specify that
      a source is actually being shown or not to the core.  This uses the new
      obs_source_inc_showing and obs_source_dec_showing to tell the source
      that it's being shown/hidden in this part of the program without
      necessarily having to use a new render view just to render it.
      7c8b0537
    • J
      libobs: Add functions to show/hide sources · 7055775c
      jp9000 提交于
      obs_source_inc_showing and obs_source_dec_showing are used to indicate
      that a source is showing or no longer being shown in a particular area
      of the program outside from the main render view.
      
      One could use an obs_view, but I felt like it was unnecessary because
      using an obs_view just to display a single source feels somewhat
      superfluous.
      7055775c
    • J
      libobs: Hide sources when an obs_view is destroyed · ab520cab
      jp9000 提交于
      This fixes a bug where sources would not decrement their showing
      references when an obs_view is destroyed.
      ab520cab
    • J
      libobs: Free main view separately from std. views · eed1a51d
      jp9000 提交于
      The main view does not need to worry about hiding/deactivation of
      sources when it's being freed here, when the obs context is shutting
      down in this section of obs, all the sources are being freed, thus
      there's no need to worry about deactivating/hiding sources.
      eed1a51d
  2. 02 3月, 2015 7 次提交
    • M
      text-freetype2: Fix bug 0000151 · 8a55f3bd
      Manuel Kroeber 提交于
      Fix bug 0000151: File loading not properly handled.
      
      Link to bug: https://obsproject.com/mantis/view.php?id=151
      
      A newly selected font is not loaded properly if "read from file" is
      active without a valid file.  Old error handling lead to random memory
      being displayed.
      
      Closes Pull Request #390
      
      (message edited by Jim)
      8a55f3bd
    • S
      mac-avcapture: Default to unbuffered video capture · 7d3eedbc
      Skyler Lipthay 提交于
      By default, video plays back based upon the timestamp for each frame,
      and buffers the frames as needed to ensure that they play back at the
      expected timing.
      
      However, this can add some minor additional delay to the video, and may
      not be ideal for certain devices such as webcams and generally any
      device that has minimal latency.  However, because those are the only
      type of devices that typically have drivers, there's no real need to
      have it on by default.
      
      This adds an option to use buffering, and leaves it off by default.
      
      Closes pull request #384
      
      (message added by jim)
      7d3eedbc
    • H
      UI: Optimize OBSBasic.ui · 1a7e594b
      HomeWorld 提交于
      This optimizes the main OBSBasic.ui window so that it uses fewer objects
      and thus fewer allocations.  Closes pull request #386
      
      (message added by Jim)
      1a7e594b
    • S
      libobs: Fix bug (last scene item potentially lost) · 75395917
      Socapex 提交于
      75395917
    • J
      Merge pull request #360 from fryshorts/v4l2-papercuts · 74145075
      Jim 提交于
      linux-v4l2: Minor improvements
      74145075
    • F
      linux-v4l2: Improve logging of pixel format · 6b95b2cc
      fryshorts 提交于
      Use the macro from the mac capture plugin to convert the fourcc integer
      value to a string. This makes the debug statement for the pixel format
      slightly more readable for the casual developer.
      6b95b2cc
    • F
      linux-v4l2: Remove "Leave Unchanged" option · 7905197b
      fryshorts 提交于
      Remove the "Leave Unchanged" option for the input and video format
      select.
      
      This option was primarily added for cases in which the
      resolution and framerate are set by another program or the capture
      device itself and the values are not directly supported by the plugin.
      One major usecase here would be capture devices for tv signals which
      might be set to a spcific resolution and refresh rate, and might fail
      to initialize in case any other combination of those settings is forced.
      
      In case of the input this option did not make much sense, as the first
      input is probably the best default option in most cases.
      
      For the video format this default is even bad in some cases. If an
      format emulated by libv4l2 is selected for example, this will usually
      configure the device to use mjpeg with libv4l2 converting it to some
      format obs can use. When obs or the source is then restarted and the
      "Leave Unchanged" is enabled the plugin will fail, because it will only
      notice that the device is set to mjpeg, without any knowledge about the
      possibility of letting libv4l2 handle the conversion.
      
      Using the first available and supported format is not nescessarily the
      best choice, but still preferable to some random format that will
      cause the plugin to not capture at all. Forcing a choice here will
      hopefully also make the plugin behaviour more predicatable for the user.
      7905197b
  3. 28 2月, 2015 1 次提交
  4. 27 2月, 2015 1 次提交
  5. 25 2月, 2015 7 次提交
  6. 24 2月, 2015 10 次提交
  7. 21 2月, 2015 3 次提交
  8. 18 2月, 2015 4 次提交
  9. 17 2月, 2015 2 次提交
    • P
      libobs: Allow duplicate sources per scene · d085d6e4
      Palana 提交于
      Previously having a source multiple times in a single scene would cause
      the recursion check to trigger. Example scenes.json:
      
      {
          "current_scene": "Scene",
          "sources": [
              {
                  "flags": 0,
                  "id": "scene",
                  "mixers": 0,
                  "name": "Scene",
                  "settings": {
                      "items": [
                          {
                              "align": 5,
                              "bounds": {
                                  "x": 0.0,
                                  "y": 0.0
                              },
                              "bounds_align": 0,
                              "bounds_type": 0,
                              "name": "Text (FreeType 2)",
                              "pos": {
                                  "x": 0.0,
                                  "y": 0.0
                              },
                              "rot": 0.0,
                              "scale": {
                                  "x": 1.0,
                                  "y": 1.0
                              },
                              "visible": true
                          },
                          {
                              "align": 5,
                              "bounds": {
                                  "x": 0.0,
                                  "y": 0.0
                              },
                              "bounds_align": 0,
                              "bounds_type": 0,
                              "name": "Text (FreeType 2)",
                              "pos": {
                                  "x": 0.0,
                                  "y": 98.0
                              },
                              "rot": 0.0,
                              "scale": {
                                  "x": 1.0,
                                  "y": 1.0
                              },
                              "visible": true
                          }
                      ]
                  },
                  "sync": 0,
                  "volume": 1.0
              },
              {
                  "flags": 0,
                  "id": "text_ft2_source",
                  "mixers": 0,
                  "name": "Text (FreeType 2)",
                  "settings": {},
                  "sync": 0,
                  "volume": 1.0
              }
          ]
      }
      d085d6e4
    • 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