1. 07 7月, 2015 1 次提交
    • P
      UI: Clean up sourceSceneRefs when removing scenes · 7bb430ef
      Palana 提交于
      Previously the sourceSceneRefs were being cleaned up in
      OBSBasic::SceneItemRemoved; due to changes in
      e8201857 the signal handler that called
      OBSBasic::SceneItemRemoved is now being removed before the scene
      triggers its item_remove signals
      7bb430ef
  2. 06 7月, 2015 5 次提交
    • P
      UI: Fix memory leak when saving stream settings · 9f2566fe
      Palana 提交于
      SetService started using addref in
      71abed38, so we have to release
      the extra reference here
      9f2566fe
    • P
      UI: Toggle password "Show" button text when clicked · 99db4d75
      Palana 提交于
      99db4d75
    • J
      ipc-util: Fix access rights issue with IPC pipe · 8ae0cd24
      jp9000 提交于
      This was the reason why game capture could not hook when the hook was
      run at administrator level and the game/target was below administrator
      level: it was because the plugin created a pipe, and the hook tried to
      connect to that pipe, but because the pipe was created as administrator
      with default access rights, the pipe did not allow write access for
      anything below administrator level, therefor the hook could not connect
      to the plugin, and the hook would always fail as a result.
      
      This fixes the issue by creating the pipe with full access rights to
      everyone instead of default access rights.
      8ae0cd24
    • J
      win-capture: Add direct hooking and use by default · f4d0da4e
      jp9000 提交于
      I've come to realize that it's probably not wise to deviate from the
      original version's functionality due to the fact that the original
      version works without issues.  I'm wondering if some of the capture
      problems have been due to the fact that the direct hook method (via
      CreateRemoteThread) was removed, so I put it back in, made it default,
      and added an option to use anti-cheat compatibility just like in the
      original version.
      f4d0da4e
    • J
      win-capture: Add inject library files · b0570c46
      jp9000 提交于
      This is intended to separate the library injection code so that both the
      inject helper process and the plugin itself can inject directly if they
      wish.
      b0570c46
  3. 05 7月, 2015 4 次提交
    • P
      coreaudio-encoder: Reduce log level for some non-fatal errors · f3473901
      Palana 提交于
      This should reduce debug breaks due to LOG_ERROR on windows when running
      with debugger attached
      f3473901
    • P
      coreaudio-encoder: Add log level parameter to log_osstatus · f7ee1cf7
      Palana 提交于
      f7ee1cf7
    • J
      deps-libff: Fix starting timestamp bug · 6ed694f6
      jp9000 提交于
      Certain input streams (such as remote streams that are already active)
      can start up mid-stream with a very high initial timestamp values.
      Because of this, it would cause the libff timer to delay for that
      initial timestamp, which often would cause it to not render at all
      because it was stuck waiting.
      
      To fix the problem, we should ignore the timestamp difference of the
      first frame when it's above a certain threshold.
      6ed694f6
    • J
      deps-libff: Offset start of stream by start pts · 171f0e3d
      jp9000 提交于
      Now that we're using the timestamps from the stream for playback,
      certain types of streams and certain file formats will not start from a
      pts of 0.  This causes the start of the playback to be delayed.  This
      code simply ensures that there's no delay on startup.  This is basically
      the same code as used in FFmpeg itself for handling this situation.
      171f0e3d
  4. 04 7月, 2015 24 次提交
  5. 03 7月, 2015 6 次提交
    • J
      UI: Do not delete via takeItem in ClearListItems · 815b916b
      jp9000 提交于
      Apparently some raw lingering pointers to the item widgets may be
      present inside of the QListView if you delete the item widgets directly,
      and the only way to ensure those pointers are properly cleared is to
      call ->clear() on the list widget instead of deleting each item
      individually.
      
      We were deleting each item individually because we thought that
      ->deleteLater might be also be called on other data within, but after
      some testing, that turned out to not be the case, so it's safe to call
      ->clear() on the list widget.
      
      As a note, deleting item widgets directly is dangerous due to the
      potential for lingering raw internal pointers, and our case is unique
      where we can get away with it; do not delete list item widgets directly
      unless you intend on calling ->clear() or ->takeItem on the specific
      item you do it to after.
      
      Again, the reason why we are deleting list widget items manually is due
      to the fact that Qt will always use ->deleteLater() on them if they are
      not deleted manually, which puts their deletion on the queue.  Only
      problem is they cannot be removed from the queue once added, so
      lingering references to sources will persist until the queue processes
      them, which causes major problems if we need those objects deleted right
      away.
      815b916b
    • J
      UI: Log when output starts/stops · 44afc716
      jp9000 提交于
      44afc716
    • J
      UI: Save project only on new changes · da358da9
      jp9000 提交于
      da358da9
    • J
      UI: Do not save at intervals · 4b93b42d
      jp9000 提交于
      Saving at intervals is a poor way to handle saving issues in general.
      Best to just save when something has been modified instead.
      4b93b42d
    • J
      UI: Add OBSBasic::ClearHotkeys function · c9f85f16
      jp9000 提交于
      Add a function to clear basic window hotkeys to reduces potential code
      duplication
      c9f85f16
    • J
      UI: Make shortcut filter not filter dialog keys · 412fbfce
      jp9000 提交于
      With dialog boxes, the keys Enter and Escape are important for
      accepting/rejecting the dialog.
      412fbfce