17 Commits

Author SHA1 Message Date
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
c397784885 Fix broken API QueryAudio
- I needed to change the parameter for my hack, so I'm just going to
   create a new function instead, QueryAudio2.  C++ mangling and API
   breakage makes me most displeased.
2014-01-05 20:26:38 -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
139a1119fd apply timestamp smoothing to all devices to prevent stuttering/hiccupts 2013-04-18 09:06:15 -07:00
jp9000
78501dacc4 yet more (and hopefully final) audio subsystem fixes 2013-04-16 19:41:55 -07:00
jp9000
eb676b5b6a 0.48.013 - Fixed a few more issues with the audio subsystem 2013-04-10 22:18:52 -07:00
jp9000
8d95a1e7ac Made a significant number of adjustments to the audio subsystem that should ensure all extra audio streams play back properly and on time 2013-04-05 16:56:02 -07:00
jp9000
abfef72d85 0.48.007 - removed circular list usage until I can verify it's 100% safe to use, removed a potential memory leak from directshow sources, other minor checks and tweaks 2013-03-31 05:47:11 -07:00
jp9000
97fdfa4b05 Added a "circular list" to optimize some data usage accross the application. don't stare into the code directly, you'll go insane. (but worth it) 2013-03-27 07:07:50 -07:00
jp9000
291aa13319 removed inline api refs 2013-03-06 03:07:52 -07:00
jp9000
675d0c6d6c added an audio filter API 2013-03-03 18:20:38 -07:00
jp9000
672333fa6a Added volume bar to directshow source,
moved the volume controls to OBSApi,
made some minor tweaks to mic audio
2013-02-21 01:42:35 -07:00
jp9000
e2ea43ca93 merging develepment branch. don't kill me! 2013-01-24 20:30:22 -07:00
jp9000
31a7fe5957 Fixed some bugs
Made is so you can adjust mic/device audio time while streaming
updated installer script
updated some locale
got rid of audio time calculation completely
2013-01-02 21:29:26 -07:00
jp9000
645f9c49ef added capture card audio fully
added mic/capture card audio time offset controls
fixed a memory leak with gifs
don't show fonts that GDI+ can't render
2013-01-02 01:14:30 -07:00
jp9000
ab859da2aa fixed some mic sync issues
fixed some potential desktop sync issues
fixed some bad names
fixed more json issues
fixed mp4 file syncing
2012-12-30 14:30:08 -07:00
jp9000
efe771565f capture card audio stuff, audio system adjustments, audio thread adjustments 2012-12-25 09:34:07 -07:00