168 Commits

Author SHA1 Message Date
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
jp9000
e1875a8c6b made capture timing more accurately timed with the new encoding thread code 2013-09-14 12:54:55 -07:00
John R. Bradley
9cec07f205 Added version suffix for autobuild 2013-09-13 23:43:12 -05:00
Richard Stanway
89de3a6f70 Make 64 bit and 32 bit update check independent 2013-09-08 18:42:43 +02:00
jp9000
9ff9a374d5 update version to 0.56.03 2013-09-04 20:22:15 -07:00
jp9000
753156fb82 Make projector stuff thread safe 2013-09-02 21:19:25 -07:00
jp9000
8fd7282cb8 Added a "projector" mode to allow outputting the preview to a separate screen at the same time as the main window (differs from fullscreen preview in that you can do it to a separate monitor while still having the main OBS window open) 2013-09-02 17:34:36 -07:00
jp9000
1c8df6329a Updated version number for the test version and made CFR enabled by default because of the new encoding.. code. 2013-08-31 17:45:24 -07:00
jp9000
f17ddc84c6 Separated encoding to a separate thread to prevent constant framerate issues, and increased frame timing precision to nanosecond approximation 2013-08-31 13:13:50 -07:00
jp9000
3651f698ce update version to 0.553 2013-08-30 05:42:44 -07:00
palana
4c5a6242a4 Re-enable test builds 2013-08-20 19:14:08 +02:00
jp9000
96356a657f ...removed "bla version" from the version string 2013-08-17 12:01:22 -07:00
jp9000
5ed3d37087 updated main header to 0.552 2013-08-17 11:54:38 -07:00
jp9000
b064ddf493 remove test build flag 2013-08-16 17:38:56 -07:00
jp9000
40d1809746 Updated to version 0.551b 2013-08-16 17:25:32 -07:00
jp9000
fa53ade189 Also re-enable test builds 2013-08-15 20:40:26 -07:00
jp9000
78f00b5885 Actually changed version to 0.55b this time 2013-08-15 18:17:04 -07:00
jp9000
082f2bd6fa Updated to version 0.55b 2013-08-15 18:02:52 -07:00
jp9000
dca7f33a39 updated to 0.54.09 2013-08-10 01:49:26 -07:00
jp9000
14cdd9c17d updated version to 0.54.07 2013-08-03 22:28:13 -07:00
jp9000
9e6ea97181 added a flush to the interop code just for further testing 2013-07-26 15:33:31 -07:00
jp9000
5b67519dea update test build to 05 2013-07-25 13:06:20 -07:00
jp9000
20fa04accd allow negative audio offset for directshow devices to be up to 3 seconds 2013-07-23 05:58:57 -07:00
jp9000
7b4a8cfecf updated version and added a minor opengl capture tweak to test 2013-07-21 10:33:22 -07:00
jp9000
0f1b8c6b27 enabled test builds again post-0.542 2013-07-20 00:45:31 -07:00