1. 17 12月, 2016 9 次提交
  2. 16 12月, 2016 8 次提交
    • J
      win-capture: Use wide strings for named objects · b5f216ef
      jp9000 提交于
      Prevents from having to mix ansi/wide string usage for opening UWP
      programs.
      b5f216ef
    • J
      win-capture: Remove redundant function · c63bb17b
      jp9000 提交于
      This function now already exists elsewhere -- open_event_plus_id.
      c63bb17b
    • J
      win-capture: Don't use "Local\" for game capture shared mem · ec4c05f4
      jp9000 提交于
      The "Local\" prefix effectively does nothing.
      ec4c05f4
    • J
      win-capture: Create all named objects within hook · ab9bda52
      jp9000 提交于
      All named objects (including file mapped shared memory) need to be
      created within the hook itself due to the fact that UWP programs cannot
      access named objects outside of the UWP process.
      
      Because shared memory needs to be created within the hook, the capture
      loop cannot start until the shared memory has been filled with valid
      data.  Creating an additional "initialize" event fixes this issue.
      
      Additionally, changed the way that named kernel objects are
      opened/created.  Before, there were functions that would first try to
      open named objects and then implicitly create them if opening failed
      (assuming that if the hook didn't create it first, game capture would),
      now it's been changed so that you can only either explicitly open or
      create.
      ab9bda52
    • J
      win-capture: Use window for keepalive check · d1934244
      jp9000 提交于
      To check to make sure game capture is still active in the capture
      program, it currently uses a named event, and then it checks to see if
      that named event exists.  However with UWP programs, you can't open a
      named event outside of the UWP process.  FindWindow on the other hand
      does work, so instead of checking to see if a named kernel object
      exists, create a window and check to see if that window exists.
      d1934244
    • J
      win-capture: Fix getting proper UWP window handles · 1e48b522
      jp9000 提交于
      The "main" windows detected for UWP programs are basically to help
      sandbox the programs -- they run in the ApplicationFrameHost process and
      help reduce the possibility of other programs trying to access the
      actual process window, which is a child window.
      
      To bypass this, go through the list of child windows for the
      ApplicationFrameHost window, and then find the one that's attached to
      a different process; that different process will always be the target,
      and will allows us to open the actual process of the UWP program.
      1e48b522
    • J
      win-capture: Do not require pipe/mutex within hook · 4ec10337
      jp9000 提交于
      Named pipes cannot be used within UWP programs, so make them optional.
      4ec10337
    • J
      win-capture: Always use minimal access rights within hook · 746061fb
      jp9000 提交于
      This prevents issues with opening handles to objects within UWP
      programs, which have increased security limitations.
      746061fb
  3. 13 12月, 2016 1 次提交
  4. 12 12月, 2016 1 次提交
  5. 10 12月, 2016 3 次提交
    • J
      UI: Add file prefix/suffix options for replay buffer · ec60ab9b
      jp9000 提交于
      Adds the ability to use a specific prefix and/or suffix on replay buffer
      filenames to distinguish them from normal recordings.  Defaults to
      having the prefix "Replay".
      ec60ab9b
    • J
      UI: Separate replay buffer from recording · f790d0fe
      jp9000 提交于
      Replay buffer and recording should be separate in case the user wants to
      start recording from a specific point rather being forced to reconfigure
      for regular recording.
      
      Creates a new button on the main window below the recording button for
      turning on/off the replay buffer.
      f790d0fe
    • J
      UI: Clarify replay buf. hotkey error message · 8f36d122
      jp9000 提交于
      It should specify that the user specifically needs to set the "save"
      hotkey, not just "the replay buffer hotkey".
      8f36d122
  6. 08 12月, 2016 10 次提交
    • J
      UI: Add replay buffer options to simple output mode · 752c118f
      jp9000 提交于
      752c118f
    • J
      UI: Disable simple output rec. settings when active · 47fe89b9
      jp9000 提交于
      47fe89b9
    • J
      obs-ffmpeg: Add replay buffer output · f2e85b83
      jp9000 提交于
      This output allows buffering the encoded data, and then muxing the
      current buffer to a file on the spot via a hotkey the user sets.
      f2e85b83
    • J
      libobs: Use reference counting for encoder packets · 7d6e6eee
      jp9000 提交于
      Prevents reallocation of encoded packet data.
      
      Deprecates:
      obs_duplicate_encoder_packet
      obs_free_encoder_packet
      
      Replaces those functions with:
      obs_encoder_packet_ref
      obs_encoder_packet_release
      7d6e6eee
    • J
      libobs/util: Do not ignore deprecation on windows · eb6d8e10
      jp9000 提交于
      On MSVC, deprecated types/functions were being completely ignored by the
      compiler due to this pragma.  Any plugins/programs that depended on this
      would also have this warning disabled due to it being in this file.
      This pragma was most likely originally done due to the MSVC warnings for
      C-standard functions, which are now ignored via _CRT_SECURE_NO_WARNINGS
      on all projects instead.
      eb6d8e10
    • J
      libobs: Fix deprecated macro · b29d8a44
      jp9000 提交于
      There's no need to have two separate macros to declare something as
      deprecated.
      b29d8a44
    • J
      cmake: Add _CRT_SECURE_NO_WARNINGS to all projects · ca607f8b
      jp9000 提交于
      This prevents issues with using standard C functions, where microsoft
      would otherwise spit out pointless warnings to encourage using
      microsoft-specific functions instead.
      ca607f8b
    • J
      libobs: Fix bug where outputs cannot initialize hotkeys · ec4317dd
      jp9000 提交于
      When an output's context data is being created, it cannot register any
      hotkeys because the output has not initialized its reference counting
      capability.  This is due to the fact that when a hotkey is registered,
      it creates a weak reference to the source/output/service/encoder.
      
      The solution to this is to make sure the output's reference counter data
      is created before calling the create callback.
      ec4317dd
    • J
      libobs/util: Add function to generate formatted filenames · b277000f
      jp9000 提交于
      (Note: This commit also modifies the UI)
      
      Being able to generate file names based upon a specification is useful
      for more than just the UI; it can also be useful for things such as the
      replay buffer where file names need to be generated on the fly.
      b277000f
    • J
      libobs/util: Add function to get circlebuf data offset · 3aa6b50f
      jp9000 提交于
      Allows getting pointer to an offset at a specific index within the
      circlebuf data.  Useful for iterating through circlebuf data.
      3aa6b50f
  7. 01 12月, 2016 1 次提交
  8. 26 11月, 2016 6 次提交
  9. 25 11月, 2016 1 次提交
    • L
      libobs-opengl: Add xcb message poll to empty out the queue · ebd837d6
      Lasse Dalegaard 提交于
      The xcb message queue is not currently emptied.  If errors are generated
      by any void requests the message queue will simply fill up and messages
      will never be deleted.
      
      Due to a (currently unknown) other problem this happens for me, and
      results in OBS using up all memory with a queue that will never be
      emptied.
      
      Here we add a poll loop that will empty the xcb message queue and
      discard the messages.  While this means that errors are still not
      handled, OBS wont end up crashing either.
      
      Closes jp9000/obs-studio#675
      ebd837d6