1. 07 6月, 2015 3 次提交
  2. 06 6月, 2015 2 次提交
    • J
      win-dshow: Add audio output mode options · 5492c02e
      jp9000 提交于
      This allows the ability to output the audio of the device as desktop
      audio (via the WaveOut or DirectSound audio renderers) instead of
      capturing the audio only.
      
      In the future, we'll implement audio monitoring which will make this
      feature obsolete, but for the time being I decided to add this option as
      a temporary measure to allow users to play the audio from their devices
      via the DirectShow output.
      5492c02e
    • J
      win-dshow: Update libdshowcapture to 0.5.3 · c237638f
      jp9000 提交于
      c237638f
  3. 05 6月, 2015 7 次提交
    • J
      UI: Change default simple audio bitrate to 160 · d16ec97f
      jp9000 提交于
      The audio bitrate required is insignificant relative to the video
      bitrate, and due to the fact that it's possible that a lower-quality
      encoder may be in use (such as FFmpeg's AAC encoder), setting the
      default to 160 is really more ideal to reducee any potential quality
      loss.
      d16ec97f
    • J
      libobs: Increase async jitter compensation · 76870d17
      jp9000 提交于
      Due to the fact that async timestamps themselves can be susceptible to
      minor jitter from certain types of inputs, increase the allowable jitter
      compensation value to ensure that the rendered frame timing from async
      video sources is always as close as possible to the compositor.
      
      When the framerate of the source is the same as the framerate as the
      compositor, this (combined with the fact that clamped video timing now
      being used with async video frames) helps ensure that buffered async
      video sources will sync up their rendering to the compositor as
      accurately as possible despite jitter from the source's timestamps.
      
      If there is no jitter in the source's timestamps then it'll always sync
      up perfectly with the compositor, thanks to clamped video timing.
      76870d17
    • J
      libobs: Use clamped video time for async timing · 35a35bad
      jp9000 提交于
      When playing back buffered async frames, this reduces the probability
      that new frames will be missed/skipped due to jitter in the system
      timestamps.
      
      If a buffered async source is playing at the same framerate as the
      compositor and there is no jitter in the async source's timestamps, then
      the async source will play back perfectly in sync with the compositor
      thanks to this change, ensuring that there's no skipped or missed frames
      in video playback.
      35a35bad
    • J
      libobs: Save clamped video time · 51dd204c
      jp9000 提交于
      The "clamped" video time is the system time per video frame that is
      closest to the current system time, but always divisible by the frame
      interval.  For example, if the last frame system timestamp was 1600 and
      the new frame is 2500, but the frame interval is 800, then the
      "clamped" video time is 2400.
      
      This clamped value is useful to get the relative system time without any
      jitter.
      51dd204c
    • J
      libobs: Reset frame cache if it gets too big · 7f7901b9
      jp9000 提交于
      When buffering is enabled for an async video source, sometimes minor
      drift in timestamps or unexpected delays to frames can cause frames to
      slowly buffer more and more in memory, in some cases eventually causing
      the system to run out of memory.
      
      The circumstances in which this can happen seems to depend on both the
      computer and the devices in use.  So far, the only known circumstances
      in which this happens are with heavily buffered devices, such as
      hauppauge, where decoding can sometimes take too long and cause
      continual frame playback delay, and thus continual buffering until
      memory runs out.  I've never been able to replicate it on any of my
      machines however, even after hours of testing.
      
      This patch is a precautionary measure that puts a hard limit on the
      number of async frames that can be currently queued to prevent any case
      where memory might continually build for whatever reason.  If it goes
      over the limit, it clears the cache to reset the buffering.
      
      I had a user with this problem test this patch with success and positive
      feedback, and the intervals between buffering resets were long to where
      it wasn't even noticeable while streaming/recording.
      
      Ideally when decoding frames (such as from those devices), frame
      dropping should be used to ensure playback doesn't incur extra delay,
      although this sort of hard limit on the frame cache should still be
      implemented regardless just as a safety precaution.  For DirectShow
      encoded devices I should just switch to faruton's libff for decoding and
      enable the frame dropping options.  It would probably explain why no
      one's ever reported it for the media source, and pretty much only from
      DirectShow device usage.
      7f7901b9
    • J
      Merge pull request #435 from Bl00drav3n/master · 1ee3d218
      Jim 提交于
      Modified 16bit to 32bit color conversion to use SSE.
      1ee3d218
    • B
      ba4ac47e
  4. 03 6月, 2015 4 次提交
  5. 02 6月, 2015 5 次提交
  6. 01 6月, 2015 1 次提交
  7. 31 5月, 2015 3 次提交
    • P
      libobs/calldata: Fix unaligned loads/stores · c680b3e1
      Palana 提交于
      Found via UBSan, actual errors (addresses not pruned for illustrative purposes):
      
      "runtime error: store to misaligned address 0x7f9a9178e84c for type
      'size_t' (aka 'unsigned long'), which requires 8 byte alignment"
      
      "runtime error: load of misaligned address 0x7f9a9140f2cf for type
      'size_t' (aka 'unsigned long'), which requires 8 byte alignment"
      c680b3e1
    • P
      text-freetype2: Fix undefined behavior for alpha > 127 · 78ad3ec1
      Palana 提交于
      Found via UBSan, actual (sample) error:
      "plugins/text-freetype2/text-functionality.c:284:26: runtime error: left
      shift of 194 by 24 places cannot be represented in type 'int'"
      78ad3ec1
    • P
      mac-avcapture: Fix NSString being initialized with NULL · 41c32fd6
      Palana 提交于
      Calling [NSString stringWithUTF8String:] with NULL causes it to raise an
      exception: +[NSString stringWithUTF8String:]: NULL cString
      41c32fd6
  8. 30 5月, 2015 1 次提交
    • J
      UI: Fix bug where password property won't save · 161198ba
      jp9000 提交于
      In my recent update to add a "show" button to the passworded text
      property, I neglected to connect the edit widget to
      WidgetInfo::ControlChanged, so it isn't able to detect when the text is
      changed by the user.
      161198ba
  9. 29 5月, 2015 2 次提交
  10. 26 5月, 2015 3 次提交
  11. 25 5月, 2015 6 次提交
    • J
      UI: Add "Show" button to password text properties · cce2eb93
      jp9000 提交于
      Allows the user to be able to optionally toggle the password text if
      they wish.  Mostly useful for troubleshooting purposes.
      cce2eb93
    • J
      UI: Add dark theme 'checked' color to push buttons · 5cb89165
      jp9000 提交于
      5cb89165
    • J
      UI: Remove dependence on Qt5Network · 39d1cda4
      jp9000 提交于
      Qt5Network has been replaced by libcurl.
      39d1cda4
    • J
      UI: Replace Qt5Network classes with libcurl · 13bed1a4
      jp9000 提交于
      The Qt5Network classes seem to only support OpenSSL, and because OpenSSL
      isn't available on windows, we would have to distribute it with the
      program to get SSL access working.  The problem with that is that
      OpenSSL is not GPL-compatible, so we cannot distribute OpenSSL with the
      program, which means we have to find a better (and preferably superior)
      library for accessing remote files that can use the windows SSPI for our
      SSL needs, which comes with the operating system.
      
      Fortunately, libcurl is probably the best library out there, and can be
      compiled with SSPI instead of OpenSSL, so we're just going to switch to
      libcurl instead.  Originally I thought it didn't support SSPI, otherwise
      I would have implemented it sooner.
      
      As a side note, this will make it so we'll able to get files from the
      internet via plugins, which will be quite useful.
      13bed1a4
    • J
      UI: Add RemoteTextThread class · 72e3ec7b
      jp9000 提交于
      The RemoteTextThread class is a QThread that is used to get text
      remotely in a separate thread with libcurl.  This is intended to replace
      the Qt5Network classes because of their dependency on OpenSSL, which we
      can't distribute.
      72e3ec7b
    • J
      cmake: Add libcurl support · e3fe26d7
      jp9000 提交于
      e3fe26d7
  12. 22 5月, 2015 2 次提交
  13. 19 5月, 2015 1 次提交