1. 26 6月, 2017 2 次提交
  2. 25 6月, 2017 2 次提交
    • J
      vlc-video: Add network caching property · 31c67d83
      John Cheng 提交于
      Allows having a bit more buffering for network-based video to prevent
      things such as artifacting.
      
      Closes jp9000/obs-studio#786
      31c67d83
    • J
      UI: Fix potential crash with unsupported video cards · 36394ab0
      jp9000 提交于
      If a video card is unsupported, it will attempt to initialize the stats
      window, querying values from a video subsystem that doesn't exist, and
      crash instead of alerting the user that their hardware is unsupported.
      36394ab0
  3. 24 6月, 2017 1 次提交
    • J
      libobs-d3d11: Fix potential issue rebuilding shared texture · aafe08db
      jp9000 提交于
      Sometimes when rebuilding a texture, it often has to fall back and
      create a temporary texture, but it'll fail when trying to create a
      shader resource for it.  The suspicion is because it's due to not having
      the proper shader binding flag when creating that temporary texture, so
      this fixes that possible loophole.
      aafe08db
  4. 23 6月, 2017 1 次提交
  5. 22 6月, 2017 3 次提交
    • J
      obs-ffmpeg: Remove "Buffering (MS)" property · d295ad3e
      jp9000 提交于
      There's no need to display this property at the moment, the default
      amount is more than sufficient for most cases.  That and most people
      wouldn't know what to do with it anyway.
      d295ad3e
    • J
      Merge pull request #928 from Xaymar/feature-enc-amf · 71e3cce3
      Jim 提交于
      enc-amf: Version 2.1.6
      71e3cce3
    • M
      enc-amf: Version 2.1.6 · e4e11451
      Michael Fabian Dirks 提交于
      This version fixes the code applying the streaming services settings, which would incorrectly always be applied due to left over obs_data_set_* lines. It also adds a safety check into SetIDRPeriod for H264 that fixes being able to set an IDR Period of 0 which is simply not supported (we would never be able to stop streaming or recording).
      e4e11451
  6. 21 6月, 2017 8 次提交
  7. 20 6月, 2017 4 次提交
    • J
      obs-ffmpeg: Do not precache if set to close when inactive · b787c796
      jp9000 提交于
      In the media source, do not pre-cache frames if the source is set to
      close the file when inactive because that setting is designed to allow
      the file to be replaced by the user.  If it's replaced, it can
      unintentionally keep the old precache frame, playing the frame from the
      older video when it starts up.
      b787c796
    • J
      win-capture: Use PROCESS_QUERY_INFORMATION for game capture · 603825ee
      jp9000 提交于
      PROCESS_QUERY_LIMITED_INFORMATION might be a bit insufficient for what
      we need to do.
      603825ee
    • J
      win-capture: Add IDXGISwapChain1::Present1 hook support · 1ca9f887
      jp9000 提交于
      Allows capturing games/programs that may be using Present1 instead of
      the regular Present call for rendering.
      1ca9f887
    • J
      UI: Initialize Stats window values after OBSInit/reset · 96f746ce
      jp9000 提交于
      When the statistics window starts up for the first time, it reset values
      at that very moment so that stray lagged frames due to OBS' startup
      wouldn't be displayed.  However, that's really a bad place to reset
      those values because the user could want to view the stats window after
      a long stream, and having those values reset when he/she views the
      window for the first time would sort of make the point of viewing your
      stats moot.
      
      Instead, reset the values only when applicable, such as after OBSInit or
      when video is reset.
      96f746ce
  8. 16 6月, 2017 1 次提交
  9. 15 6月, 2017 1 次提交
    • J
      win-capture/graphics-hook: Fix D3D10/D3D11 detection · c4036b18
      jp9000 提交于
      When hooking DXGI-based graphics programs in the hook, the first hook
      point is IDXGISwapChain::Present.  To be able to initiate a capture, a
      pointer to the device context that created the swap chain is required,
      which can be retrieved via IDXGISwapChain::GetDevice.  Determining
      whether the device context was D3D10 or D3D11 has always been somewhat
      of an issue due to D3D10 and D3D11 being nearly identical, as well as
      their interoperability/interchangeability.  The GetDevice function would
      first be called with the UUID of ID3D10Device, then if that failed,
      the UUID of ID3D11Device.
      
      However, with certain specific D3D11 games, GetDevice would for some
      unknown reason succeed with the UUID of ID3D10Device, which would cause
      capture to fail.  (Conversely, attempting to call GetDevice with the
      UUID of ID3D11Device on a device that's actually ID3D10Device would
      always succeed, so reversing the order of the test was not an option).
      There were originally three known D3D11 games that would erroneously
      succeed when querying a D3D10 device interface:  Call of Duty: Ghosts,
      Just Cause 3, and theHunter: Call of the Wild.  All other known D3D11
      games would work correctly.  Because it was only these three games, a
      hack was originally implemented in the form of an executable exception
      list that would force them to capture D3D11.
      
      Unfortunately, Oculus games are now failing under the same circumstance
      as well, so a simple hack will no longer work.  To fix this, a more
      reliable method of detecting which context it is had to be discovered:
      simply check the feature level using ID3D11Device::GetFeatureLevel.  If
      the feature level is D3D_FEATURE_LEVEL_11_0 or D3D_FEATURE_LEVEL_11_1,
      the device is definitely a D3D11 device.  Otherwise, continue the tests
      as they were before.  Successfully tested with many D3D10 games, many
      D3D11 games, and especially those three D3D11 games that previously were
      detected as D3D10 erroneously.
      c4036b18
  10. 14 6月, 2017 4 次提交
    • J
      obs-ffmpeg: Don't preload media frames if set to pause on end · 054148a0
      jp9000 提交于
      Preloading is designed to overwrite the current internal render texture
      of the source so it'll be ready to play the first frame right when the
      source is first displayed.
      
      However, When the media source is set to pause on the last frame, it
      keeps that current render texture visible, so preloading it with the
      first frame will essentially overwrite the current render, causing it to
      inadvertently show and pause on the first frame rather than the last
      frame.  So instead, just disable preloading when the user has it set to
      pause on the last frame.
      054148a0
    • J
      deps/media-playback: Fix playback reset fail after stop · d5adfff9
      jp9000 提交于
      The recent changes in 88ae9aff causes av_read_frame to check for
      m->stopping, and fail with AVERROR_EXIT if true, which would happen
      after each reset.  Moving mp_media_prepare_frames to a line after
      m->stopping is reset to false fixes the issue.
      d5adfff9
    • J
      deps/media-playback: Fix AV_NOPTS_VALUE being used as timestamp · 3f5920ae
      jp9000 提交于
      With certain media files (wmv in particular), the very last frame will
      have a timestamp of AV_NOPTS_VALUE.  This could cause the media to stick
      on that frame indefinitely.  Instead, use the estimated next timestamp
      that was calculated in the previous frame.
      3f5920ae
    • J
      deps/media-playback: Add timeout when waiting for frames · c1cf44fd
      jp9000 提交于
      Media files that have a very low framerate or very long interval between
      frames would cause the media playback to stall indefinitely until the
      next frame is played.  This adds a 200ms timeout to ensure that the
      media can be destroyed without being forced to wait indefinitely for the
      next frame.
      c1cf44fd
  11. 12 6月, 2017 1 次提交
  12. 09 6月, 2017 2 次提交
  13. 05 6月, 2017 1 次提交
  14. 04 6月, 2017 1 次提交
    • J
      deps/media-playback: Fix lockup issues · 88ae9aff
      jp9000 提交于
      Certain functions such as avformat_open_input and av_read_frame can
      block, causing the program to someone wait very long periods of time
      when a network URL is used with the media source.  The
      interrupt_callback member variable in AVFormatContext allows safely
      canceling IO operations when trying to shut down or stop the
      media-playback interface.
      88ae9aff
  15. 30 5月, 2017 8 次提交