1. 22 6月, 2016 2 次提交
  2. 20 6月, 2016 3 次提交
  3. 17 6月, 2016 2 次提交
  4. 16 6月, 2016 5 次提交
  5. 12 6月, 2016 3 次提交
  6. 07 6月, 2016 3 次提交
    • J
      vlc-video: Add VLC video source · d89299fc
      jp9000 提交于
      Adds the ability to add video playlists via libvlc instead of via the
      media source.  This is mostly just being added as a secondary option to
      the media source to reduce maintenance costs and save time.  Currently
      libff cannot pause/unpause/seek, and isn't programmed to handle
      playlists yet.
      
      If VLC is installed on the computer (with the same architecture) it will
      allow video playback via libVLC.  In the future, users should be able to
      optionally download VLC libraries via the installer as well if they
      don't want to necessarily install VLC to get the plugin working.
      
      This plugin performs runtime linking instead of compile-time linking;
      compiling VLC is not required, only its headers are required.  To
      compile, clone the VLC repository and set the VLCPath cmake variable to
      point to the VLC repository directory.
      d89299fc
    • J
      libobs: Fix crash with 4:2:0 async source resolutions · fb1ff173
      jp9000 提交于
      When using GPU conversion for 4:2:0 frames on async video sources, it
      would create a texture bigger than necessary and try to copy too much
      data from the frame, resulting in a crash.
      fb1ff173
    • J
      libobs/util: Do not append .so w/ .dylibs on OSX · 695278dd
      jp9000 提交于
      695278dd
  7. 06 6月, 2016 3 次提交
  8. 05 6月, 2016 1 次提交
    • J
      linux-capture: Fix window capture crashes · 5d16e448
      jp9000 提交于
      The xcomposite window capture crashes were due to a few factors:
      -------------------------------
      1.) The source's X error handler was possibly being overwritten by
      another part of the program despite us locking the display, presumably
      something in Qt which isn't locking the display when pushing/popping its
      own error handler (though this is not yet certain).  The source's calls
      to X functions happen in the graphics thread, which is separate from the
      UI thread, and it was noticed that somehow the error handler would be
      overwritten almost seemingly at random, indicating that something else
      in the program outside of OBS code was not locking the display while
      pushing/popping the error handler.
      
      To replicate this, make it so that the source cannot find the target
      window and so it continually searches for it each video_tick call, then
      resize the main OBS window continually (which causes Qt to push/pop its
      own error handlers).  A crash will almost always occur due to BadWindow
      despite our error handling.
      
      2.) Calling X functions with a window ID that no longer exists,
      particularly XGetWindowAttributes, in conjunction the unknown error
      handler set in case #1 would cause the program to outright crash because
      that error handler is programmed to crash on BadWindow for whatever
      reason.  The source would call X functions without even checking if
      'win' was 0.
      
      3.) The source stored window IDs (in JSON, even if they've long since
      become invalid/pointless, such as system restarts).  This is a bad
      practice and will result in more cases of BadWindow.
      
      Fixing the problem (reducing the possibility of getting BadWindow):
      -------------------------------
      Step 1.) Deprecate and ignore window IDs in stored settings.  Instead of
      using window IDs to find the window, we now must always search the
      windows and find the target window via the window name exclusively.
      This helps ensure that we actually consistently have a working window
      ID.
      
      Step 2.) Do not call any X functions if the window ID is 0.
      
      Step 3.) Reset the window ID to 0 any time the window has updated, and
      make the source find the window again to ensure it still exists before
      attempting to use any X functions on the window ID again.
      5d16e448
  9. 04 6月, 2016 1 次提交
  10. 31 5月, 2016 2 次提交
  11. 29 5月, 2016 2 次提交
  12. 28 5月, 2016 2 次提交
    • F
      linux-pulseaudio: Check for failed operations · eed95471
      fryshorts 提交于
      Add checks to make sure the pulseaudio operation objects are actually
      valid and the request did not fail right away. Other pulseaudio
      functions dealing with the objects expect them not to be NULL,
      otherwise they will kill the application with a failing assert.
      eed95471
    • J
      obs-ffmpeg: Set AVCodecContext thread_count to 0 · 1a72cd40
      jp9000 提交于
      For some reason in the FFmpeg output, this AVCodecContext variable is
      being set to 1 by FFmpeg itself somewhere, and it's causing a massive
      slowdown when encoding with FFmpeg directly.  This should be set to 0 to
      specify to use as many threads as necessary.
      1a72cd40
  13. 27 5月, 2016 10 次提交
  14. 26 5月, 2016 1 次提交