1. 23 3月, 2015 21 次提交
    • J
      mac-capture: If channels above 8, force to stereo · f3104d92
      jp9000 提交于
      Certain devices (particularly certain mixers and soundflower 64ch) would
      have an arbitrary number of channels, and wouldn't really be mappable to
      a specific speaker layout supported by libobs.
      
      So to fix this issue, if the channel count is above 8, force the data to
      stereo to ensure playback can still occur, rather than cause it to just
      fail.
      f3104d92
    • J
      libobs: Use locale-independent double conversion · d44d3b1f
      jp9000 提交于
      Prevents issues on specific locales, especially where decimal points are
      represented by commas rather than periods.
      d44d3b1f
    • J
      libobs: Use alpha when rendering scenes · 4abae186
      jp9000 提交于
      This is just in case a filter is applied to a scene, filters will turn
      off the blending so it's necessary to set the blending.
      4abae186
    • J
      libobs: Add int/float slider properties · 0a8e3a64
      jp9000 提交于
      This optionally specifies that the int/float value should be displayed
      with a slider rather than and up/down control.  UIs are not necessarily
      required to implement it, it's meant to be more of a hint.
      0a8e3a64
    • J
      Make capture sources w/o alpha use opaque effect · e20ec366
      jp9000 提交于
      This fixes an issue primarily with filter rendering: when capturing
      windows and displays, their alpha channel is almost always 0, causing
      the image to be completely invisible unintentionally.  The original fix
      for this for many sources was just to turn off the blending, which would
      be fine if you're not rendering any filters, but filters will render to
      render targets first, and that lack of alpha will end up carrying over
      in to the final image.
      
      This doesn't apply to any mac captures because mac actually seems to set
      the alpha channel to 1.
      e20ec366
    • J
      libobs: Add obs_get_opaque_effect function · 9b238ef7
      jp9000 提交于
      This returns a common effect useful for rendering an image with the
      alpha channel overridden to 1.0.
      9b238ef7
    • J
      libobs: Fix default negative int/float shader vals · e4305d14
      jp9000 提交于
      If negative was specified it would not parse the negative sign and thus
      would not interpret that number as negative, and would cause
      shader/effect parsing to simply fail on the file.
      e4305d14
    • J
      libobs: Add functions to push/pop blend states · cdb27ac0
      jp9000 提交于
      This is particularly important for the filter pipeline in order to
      ensure that when the last filter is reached that the original blend
      state is properly reset.
      cdb27ac0
    • J
      linux-capture: Mark captures as custom drawn · 23300463
      jp9000 提交于
      The linux window and monitor captures draw in a custom way, therefore
      they must be marked as types of sources that do custom rendering.
      23300463
    • J
      libobs: Cache effects to prevent shader duplicates · 699201a0
      jp9000 提交于
      Switching between shaders often can cause a performance hit, so cache
      effects so that they persist until the graphics subsystem is destroyed.
      699201a0
    • J
      libobs-opengl: Fix bug switching render targets · 2abf7b05
      jp9000 提交于
      If a render target was switched from one to another and then back
      consecutively, the texture would not get reattached at the last point
      due to the fact that the cur_render_target variable of the FBO storage
      structure would already be set to that texture, and then it would never
      get reattached because it thought it was already using that render
      target.
      
      So to fix this, any time a render target legitimately changes from one
      to another, it sets the cur_render_target and cur_zstencil_buffer
      variables of the FBO structure to null.
      2abf7b05
    • J
      libobs-opengl: Do not fail if shader param unused · 86e56a5c
      jp9000 提交于
      I encountered a scenario where effects might reference shader parameters
      that may not potentially exist, this isn't particularly a bad thing that
      needs to return failure.  It just needs to gracefully ignore it.
      86e56a5c
    • J
      libobs-opengl: Fix render targets being flipped · 2fa37a1f
      jp9000 提交于
      When render targets are used, they output to the render target inverted
      due to the way that opengl works.  This fixes that issue by inverting
      the projection matrix so that it renders the image upside down and
      inverting the front face from counterclockwise to clockwise.
      2fa37a1f
    • J
      libobs-opengl: Assign texture units to shader vars · 84d16fed
      jp9000 提交于
      Texture units were not being properly associated with the shader uniform
      variables.
      84d16fed
    • J
      test-input: Fix potential lockup in test filter · 2a06beea
      jp9000 提交于
      obs_leave_graphics() may not be properly called if this returns null for
      whatever reason.
      2a06beea
    • J
      test-input: Set test filter to partially green · 16476747
      jp9000 提交于
      Mostly used for testing, partially green allows us to gauge whether or
      not multiple filters are being properly applied
      16476747
    • J
      libobs: Fix filter dimension issue · 13046145
      jp9000 提交于
      The wrong function was being used to recurse through the filter chain in
      obs_source_process_filter, obs_source_get_[width/height] would get the
      post-effect dimensions rather than the pre-effect dimensions.
      13046145
    • J
      libobs: Fix filter rendering bug · 95e63992
      jp9000 提交于
      The parameters order was wrong; sort of a rare thing to see, but it can
      happen, especially when it's a function that's not used very often.
      95e63992
    • J
      libobs: Clarify filter-related comments · 76a9c900
      jp9000 提交于
      Certain callbacks and API functions were a bit vague on when and how
      they were supposed to be used.
      76a9c900
    • J
      libobs: Make filter_video callback param non-const · 38cb1ed3
      jp9000 提交于
      The frame is definitely meant to be modifiable if needed, so it
      shouldn't be const.  I originally meant for these frames to be
      duplicated, but with the source video cache that's both unnecessary and
      would reduce performance.
      38cb1ed3
    • K
      deps-libff: Fix if hw accel fails to load codec · 798f38cf
      kc5nra 提交于
      Fixes a bug where get_format was overloaded by our own version
      when forcing the codec to load with a HW decoder and not
      reset to the original get_format if it failed to load.
      798f38cf
  2. 22 3月, 2015 12 次提交
  3. 21 3月, 2015 2 次提交
    • J
      deps-libff: Fix other multithreaded image decoders · aa8363bb
      John Bradley 提交于
      In the same manner that PNG doesn't appear to work properly
      with multiple threads, TIFF, JPEG2000 and WEBP also appears
      to not render correctly (use of FFmpeg's ff_thread_* routines)
      if decode is called before the automatic thread detection
      has returned a suggested thread count for the decoder.
      aa8363bb
    • J
      deps-libff: Fix memory leak in ff_demuxer_reset · c78fa63b
      John Bradley 提交于
      The reset method unnecessarily malloced a packet passed into
      the packet buffer which does a dereferencing copy.
      c78fa63b
  4. 20 3月, 2015 5 次提交