1. 08 12月, 2014 4 次提交
    • J
      win-capture: Add obfuscation functions · a49d731d
      jp9000 提交于
      This adds obfuscation functions primarily for use with GetProcAddress.
      This takes an obfuscated string and uses a simple integer key to
      de-obfuscate it to the intended function name string, which is then
      loaded dynamically using GetProcAddress.
      
      This is typically only used with functions such as OpenProcess,
      SetWindowsHookEx, and the like, which can often be misinterpreted the
      wrong way by security programs if those strings are found within the
      strings segment of a scanned executable.
      a49d731d
    • J
      win-capture: Always set class/title/exe to null · 7bf69e8a
      jp9000 提交于
      When getting the class/title/exe of a particular window handle in the
      build_window_strings function, always set the class/title/exe pointers
      to null to prevent any potential references to invalid values if any of
      them do not happen to be set for whatever reason.
      7bf69e8a
    • J
      libobs: Add flush to video pipeline · 87ac9c91
      jp9000 提交于
      On certain GPUs, if you don't flush and the window is minimized it can
      endlessly accumulate memory due to what I'm assuming are driver design
      flaws (though I can't know for sure).  The flush seems to prevent this
      from happening, at least from my tests.  It would be nice if this
      weren't necessary.
      87ac9c91
    • J
      Merge pull request #306 from fryshorts/volume-meter-improvements · fe6622c6
      Jim 提交于
      Volume meter improvements
      fe6622c6
  2. 05 12月, 2014 5 次提交
    • F
      obs/libobs: Use new volume meter api · 014a3338
      fryshorts 提交于
      This replaces the old code for the audio meter that was using
      calculations in two different places with the new audio meter api.
      The source signal will now emit simple levels instead of dB values,
      in order to avoid dB conversion and calculation in the source.
      The GUI on the other hand now expects simple position values from
      the volume meter api with no knowledge about dB calculus either.
      That way all code that handles those conversions is in one place,
      with the option to easily add new mappings that can be used
      everywhere.
      014a3338
    • F
      libobs: Add Logarithmic fader type · 1b034569
      fryshorts 提交于
      This adds the conversion function used by the old obs based on a
      logarithmic scale.
      1b034569
    • F
      libobs: Add IEC 60-268-18 compliant fader type · 119d77e1
      fryshorts 提交于
      This adds a new fader type that implements a position/dB mapping
      as specified in IEC 60-268-18.
      119d77e1
    • F
      libobs: Add volume meter object · 46686ec5
      fryshorts 提交于
      This adds a volume meter object to libobs that can be used by the GUI
      or plugins to convert the raw audio level data from sources to values
      that can easily be used to display the audio data.
      The volume meter object will use the same mapping functions as the
      fader object to map dB levels to a scale.
      46686ec5
    • J
      Merge pull request #309 from CounterPillow/ffmpeg-as-default · ab20e9a1
      Jim 提交于
      libobs: Use FFmpeg for image loading by default
      ab20e9a1
  3. 04 12月, 2014 1 次提交
  4. 02 12月, 2014 2 次提交
  5. 28 11月, 2014 2 次提交
    • S
      Update INSTALL file for Linux distributions · 15fb91ed
      Seth Murphy 提交于
      Add more details installation/compilation instructions for
      Redhat-based distros, debian-based distros, Arch Linux, Gentoo, and
      OpenSUSE distros
      
      Fix incomplete Debian installation instructions, and separate out
      instructions and package requirements that were specific to Debian-based
      distros.  Most of the instructions in the file were previously specific
      only to Debian.  Also added some brief instructions for an easy and
      minimal FFmpeg installation.
      15fb91ed
    • J
      libobs: Fix microsoft compiler issue · 346bcd7e
      jp9000 提交于
      In older versions of visual studio 2013 microsoft's WORTHLESS C compiler
      has a bug where it will, almost at random, not be able to handle having
      variables declared in the middle of a function and give the warning:
      "illegal use of this type as an expression".  It was fixed in recent
      VS2013 updates, but I'm not about to force everyone to update to it.
      346bcd7e
  6. 27 11月, 2014 8 次提交
    • J
      libobs: Fix warnings assigning values to vec3 · c8dfce88
      jp9000 提交于
      Because a vec3 structure can contain a __m128 variable and not the
      expected three floats x, y, and z, you must use vec3_set when
      setting a value for a vec3 structure to ensure that it uses the proper
      intrinsics internally if necessary.
      c8dfce88
    • J
      libobs: Fix double -> float conversion warning · 8922f250
      jp9000 提交于
      8922f250
    • J
      libobs: Fix windows warnings with C library macro · e3e79dcd
      jp9000 提交于
      The macro INFINITY apparently will trigger a warning with microsoft's
      compiler despite being a C standard library macro.
      e3e79dcd
    • J
      libobs: Add process piping functions · 225f5973
      jp9000 提交于
      This adds functions for piping a command line program's stdin or stdout.
      Note however that this is unidirectional only.
      
      This will be especially useful later on when implementing MP4 output,
      because MP4 output has to be piped to prevent unexpected program
      termination from corrupting the file.
      225f5973
    • J
      Merge pull request #304 from fryshorts/obs-audio-controls · 328bebb2
      Jim 提交于
      Add advanced audio controls
      328bebb2
    • J
      Clean up CONTRIBUTING file · 7e78d08c
      jp9000 提交于
      There's a little too much junk in the CONTRIBUTING file.  I feel like
      it's unnecessary to say some of the things that were being said in
      there.  It really needs to be to the point
      7e78d08c
    • F
      obs: Use new fader from libobs for volume control · 3fea6997
      fryshorts 提交于
      This replaces the code for volume control with a newer version that
      uses the new fader implementation in order to control the fader/slider
      position and source volume.
      The volume label will now indicate the gain in dB instead of percent,
      mainly because it looks cool and is easy to do.
      Due to libobs saving the multiplier option for the source instead of
      the slider/fader positon, existing volume levels will (mostly) stay
      the same with only the slider beeing at a different position.
      This is of course within the resolution of the slider (100 steps).
      3fea6997
    • F
      libobs: Add audio control functions · 8dcbd77b
      fryshorts 提交于
      This adds a new library of audio control functions mainly for the use in
      GUIS. For now it includes an implementation of a software fader that can
      be attached to sources in order to easily control the volume.
      The fader can translate between fader-position, volume in dB and
      multiplier with a configurable mapping function.
      Currently only a cubic mapping (mul = fader_pos ^ 3) is included, but
      different mappings can easily be added.
      
      Due to libobs saving/restoring the source volume from the multiplier,
      the volume levels for existing source will stay the same, and live
      changing of the mapping will work without changing the source volume.
      8dcbd77b
  7. 20 11月, 2014 7 次提交
    • J
      graphics: Add gs_effect_loop helper function · e994d6d4
      jp9000 提交于
      This function greatly simplifies the use of effects by making it so you
      can call this function in a simple loop.  This reduces boilerplate and
      makes drawing with effects much easier.  The gs_effect_loop function
      will now automatically handle all the functions required to do drawing.
      
      ---------------------
      Before:
      
      gs_technique_t *technique = gs_effect_get_technique("technique");
      
      size_t passes = gs_technique_begin(technique);
      for (size_t pass = 0; pass < passes; pass++) {
      	gs_technique_begin_pass(technique, pass);
      
      	[draw]
      
      	gs_technique_end_pass(technique);
      }
      gs_technique_end(technique);
      
      ---------------------
      After:
      
      while (gs_effect_loop(effect, "technique")) {
      	[draw]
      }
      e994d6d4
    • J
      Add helper functions for drawing sources · cdf36cf8
      jp9000 提交于
      If you look at the previous commits, you'll see I had added
      obs_source_draw before.  For custom drawn sources in particular, each
      time obs_source_draw was called, it would restart the effect and its
      passes for each draw call, which was not optimal.  It should really use
      the effect functions for that.  I'll have to add a function to simplify
      effect usage.
      
      I also realized that including the color matrix parameters in
      obs_source_draw made the function kind of messy to use; instead,
      separating the color matrix stuff out to
      obs_source_draw_set_color_matrix feels a lot more clean.
      
      On top of that, having the ability to set the position would be nice to
      have as well, rather than having to mess with the matrix stuff each
      time, so I also added that for the sake of convenience.
      
      obs_source_draw will draw a texture sprite, optionally of a specific
      size and/or at a specific position, as well as optionally inverted.  The
      texture used will be set to the 'image' parameter of whatever effect is
      currently active.
      
      obs_source_draw_set_color_matrix will set the color matrix value if the
      drawing requires color matrices.  It will set the 'color_matrix',
      'color_range_min', and 'color_range_max' parameters of whatever effect
      is currently active.
      
      Overall, these feel much more clean to use than the previous iteration.
      cdf36cf8
    • J
      Revert "Add obs_source_draw helper function" · ed2d9936
      jp9000 提交于
      This reverts commit ab5a7690.
      ed2d9936
    • J
      libobs: Add function to get cur. effect technique · 8b4120bf
      jp9000 提交于
      8b4120bf
    • J
      Merge pull request #303 from fryshorts/xshm-different-xserver · 963f052c
      Jim 提交于
      linux-xshm: Allow capturing from a different X server
      963f052c
    • F
      linux-xshm: Handle missing screens. · cc56634e
      fryshorts 提交于
      This adds a check to the screen enumeration in order to handle missing
      screens by adding them to the list but disabling them.
      cc56634e
    • F
      linux-xshm: Add server property. · 67ca94f7
      fryshorts 提交于
      This adds a property to the source properties which lets the user
      specify the X server to capture from. Since this is probably something
      thats only useful under certain circumstances it is implemented as
      an advanced setting which is only shown when the corresponding option
      for advanced settings is checked.
      67ca94f7
  8. 19 11月, 2014 5 次提交
    • F
      linux-xshm: Refactoring of setup code. · 04a7db86
      fryshorts 提交于
      This moves the code to start/stop the capture to respectively named
      function in order to clean up the update function.
      This means that the capture is stopped/started whenever the settings are
      changed. While this increases overhead for some settings, this will also
      enable future settings that require a full restart of capture process.
      04a7db86
    • F
      linux-xshm: Small change for texture update function. · a4d09fe7
      fryshorts 提交于
      This removes the entering/leaving of the graphics context from this
      function and requires the calling code to make sure the context is
      present.
      a4d09fe7
    • F
      linux-xshm: Improve geometry update function. · cc52b432
      fryshorts 提交于
      This adds the screen id from the source properties to the source
      struct and changes the geometry function to use that value instead
      of requiring the settings object of the source.
      cc52b432
    • F
      linux-xshm: Use macro for logging. · 08c9f392
      fryshorts 提交于
      This adds a macro to automatically prepend the plugin name to debug
      statements like it is done in other plugins.
      08c9f392
    • F
      linux-xshm: Improve source struct. · 1a51d5fa
      fryshorts 提交于
      This adds documentation to the source struct and moves one bool to the
      end to avoid a hole due to alignment.
      1a51d5fa
  9. 18 11月, 2014 3 次提交
  10. 17 11月, 2014 3 次提交