192 Commits

Author SHA1 Message Date
jp9000
d99be83fb7 Fix resolution issue for elgato 1.x.x filter
If using the elgato 1.x.x filter it would not properly set resolution
changes due to intermediary filters.  Change to direct connect to
prevent that issue from occurring.
2014-09-16 13:18:31 -07:00
jp9000
a77c286bd3 Add elgato resolution change support
Managed to make it so that the elgatos can change resolutions without
necessarily having to replace the entire subsystem.  I almost didn't
think this was doable but I made a workaround to be able to do so.
2014-09-14 21:07:48 -07:00
jp9000
8a1d7b8cb4 Update to 0.633 2014-09-13 13:52:44 -07:00
jp9000
f5d93330c0 Update to 0.632 2014-09-10 20:31:09 -07:00
jp9000
8ed8c5e26d Update to 0.631b 2014-09-07 22:53:34 -07:00
jp9000
e68381441b Update to 0.63b (release) 2014-09-06 22:09:34 -07:00
jp9000
e2a9076e05 Update version to 0.63 test 3 2014-08-21 15:00:19 -07:00
jp9000
a56be95eb9 Update to test build 2 2014-08-14 21:37:49 -07:00
jp9000
5bbbe8fd21 Update to 0.63b test build 1 2014-08-02 03:33:12 -07:00
jp9000
379004a21b Update to 0.63 (test build) 2014-07-24 11:47:54 -07:00
jp9000
744c7167a1 Update to version 0.625b 2014-06-19 12:39:58 -07:00
jp9000
ae0fd664d6 Revert bad commit e04b481 for further testing 2014-05-21 07:19:35 -07:00
jp9000
e182193a9d Update version to 0.623b 2014-05-21 02:15:18 -07:00
jp9000
8fe24f103a Update to 0.622b
THE RIDE NEVER ENDS
2014-04-24 23:35:30 -07:00
jp9000
6d46d7cb26 Update to 0.621b 2014-04-23 21:06:50 -07:00
jp9000
779bada57c Update version to 0.62b 2014-04-23 08:44:32 -07:00
jp9000
7cca8663a2 Game capture: Add anti-cheat compatibility
- Add an option in game capture to use SetWindowsHookEx instead of
   CreateRemoteThread to inject the library.

 - Add logging of what process game capture is trying to capture.

 - Rename "audio time offset" where it was used to "audio sync offset"

 - Adde logging for audio sync offsets

 - Update version to 0.62b test 1
2014-04-09 00:10:33 -07:00
jp9000
6ba6f8b584 Fix AAC mono output
The entire mono situation is my fault.  I did test it and it seemed
like it was working at first when I got the pull request so I said "hey
okay looks good."  Unfortunately I was mistaken, so I'm fixing the code
myself.

AAC was taking in stereo audio and was not calculating the timestamps
correctly.  Internally OBS still gets data in the form of stereo, so
because this is OBS1 I'm just going to put in this workaround code that
downmixes stereo to mono in to the AAC encoder buffer.
2014-03-14 13:00:02 -07:00
jp9000
6a4f15f08f Update to version 0.613b 2014-03-07 20:38:50 -07:00
jp9000
8430e8571d Update to version 0.612b 2014-02-18 17:48:58 -07:00
jp9000
a190a57e42 Fix elgato bug (surprise) (0.611b)
Also add QSVHelper to OSB.sln
2014-02-16 15:04:07 -07:00
jp9000
78b32a764b Woops, formatted the version number wrong (0.61b) 2014-02-16 12:52:25 -07:00
jp9000
529dec34c4 Updated to version 0.61b 2014-02-15 20:35:07 -07:00
palana
7b3beebe1b Fix #53 "Openable log window while application is active"
@jp9000
Implement log window

Also made it so that the log window position/size is saved.  Defaults to
600x500, centered to the main monitor if no configuration found.

@palana
Log system integration and callback behavior
2014-02-14 00:21:44 +01:00
jp9000
edf57656cb Update to version 0.60
Also, made is so that non-monotonic timestamp values automatically get
clamped to the last time value.
2014-02-02 19:50:51 -07:00
jp9000
027fc33396 More adjustment to new audio code
Changed it so that timestamps do not "reset" if under the expected
value.  Seems that doing this prevent a lot of timestamp "jumps" and
allows data to flow far more smoothly, as long as it's within the
expected broundries.

Had to make a ridiculous hack to get more usable variables in the class
without breaking API.  It's a totally disgusting hack, but it works.
Replaced the AudioSource::resampler variable to be a pointer to newer
variables.  The reason this hack had to be done in the first place is
because I directly exposed data in the base class instead of using a
forward.  Forward pointers are always far more safe and prevent API
breakage.  This is one thing I really dislike about C++, you modify the
class what so ever and it will break API.  I just don't like C++ when
used for libraries, but again I could have avoided it by simply handling
it better, so it was really my fault for having been so careless with it
in the first place.
2014-01-18 21:45:34 -07:00
jp9000
50055a80b5 Update version to 0.60 test 8 2014-01-17 17:08:13 -07:00
jp9000
fd86aa1b96 Update test build to test 7
- Removed "Mic sync fix hack" because the new burst compensation code
   should properly fix the issue that was causing that option to be
   necessary.
2014-01-10 00:32:09 -07:00
jp9000
85d40f9252 More adjustments to audio burst compensation hack
- Made is so the burst compensation occurs only when the desktop buffer
   has been fully emptied, otherwise it would mess up the timing.
2014-01-08 08:35:57 -07:00
jp9000
75c6d10aa0 Added audio burst compensation (fix sync)
- Fixed an issue where audio data that came in bursts would cause
   desyncs.  Basically, if data came in too late, it would continue to
   buffer little by little, causing progressive desync with certain
   microphones and capture devices (avermedia stream engine for the live
   gamer portable especially).  Also seemed to happen with HDMI data
   from the newer game consoles, like xbox one apparently, though I
   can't be too sure.

   Now, it queries the mic and auxilary sound sources until sound
   buffers are depleted.  After doing so, it then "sorts" the audio
   packets timestamps backwards from the most recent packet to the
   oldest audio packet.  By doing this, it compensates for burst, and
   ensures that all audio data is seamless.  New burst data coming in
   will then line up properly with the older data via the sort function.

   NOTE: This needs testing
2014-01-05 16:58:54 -07:00
jp9000
7cf22d53e3 changed version to 0.60 instead of 0.6 2014-01-04 14:03:52 -07:00
jp9000
a0ad58deb6 Fixed break in String API export
String::operator!=, String::operator==, and String::Compare functions
were all originally functions that returned BOOL.  I changed them to
return native 'bool' instead without realizing that it would break the
API.  So, sadly, I have to change them back to BOOL to prevent
incompatibilities with existing plugins.
2014-01-04 13:19:21 -07:00
jp9000
7b58170d22 updated version to 0.6 (test) 2014-01-04 07:44:58 -07:00
jp9000
fb2e10cd74 updated version to 0.592 2013-12-28 20:05:04 -07:00
jp9000
0a86eb1071 updated version to 0.591 2013-12-14 10:40:41 -07:00
jp9000
d971553a78 update x264 to latest x264-devel build 2013-12-11 09:13:48 -07:00
jp9000
49241dc400 Added ability to use input devices for desktop audio, added a 'point filtering' option to text output source 2013-12-05 17:22:24 -07:00
jp9000
a0cb1dd493 update version to 0.584 2013-11-15 04:39:44 -07:00
jp9000
6e82cb201c 0.583 - fixed a tiny bug for mic audio time offset, made a minor tweak to an audio coefficient, and added a new string 2013-10-24 08:00:43 -07:00
jp9000
e93c809df3 directshow, if unable to find an appropriate resolution, use 'recommended' resolution, or just use whatever's available, if any (this mainly seems to happen only with the elgato) 2013-10-20 22:21:40 -07:00
jp9000
59c31fff6f updated to version 0.582b 2013-10-19 21:22:22 -07:00
jp9000
c0793a456d updated version to 0.581b 2013-10-17 15:38:27 -07:00
jp9000
1e1907fcc0 update to v0.58b and disable test build flag 2013-10-16 12:43:46 -07:00
jp9000
632585b77b add 'show connected audio devices only' checkbox to audio settings 2013-10-09 15:32:19 -07:00
jp9000
d4f54a3c5f add a 'stream up on startup' command line option, (-start) 2013-10-05 10:23:09 -07:00
jp9000
5d90138f33 log buffering time and update version to 0.57.04 2013-09-27 19:56:55 -07:00
jp9000
a5bf16ec03 updated version to 0.57.03 2013-09-27 11:56:57 -07:00
jp9000
d9ff578253 updated version to 0.57.01 quicksync test build 2013-09-25 16:41:05 -07:00
jp9000
3d62f3889f added an 'x264 encoding profile' option box in advanced, changed version to 0.57 2013-09-24 19:02:33 -07:00
jp9000
dd5d2656c3 fixed a bug with the new automatic build generation 2013-09-14 12:58:21 -07:00