153 Commits

Author SHA1 Message Date
Richard Stanway
b5239f7ee7 Improved debug logging
Log if QPC timestamps go backwards
2014-01-20 21:46:08 +01:00
jp9000
3a8669dec8 Merge branch 'master' of https://github.com/jp9000/OBS 2014-01-10 20:15:24 -07:00
paibox
e5e5f2a6ed Adjust keep recording settings
Move the keep recording setting from global.ini to Broadcast Settings
(profile dependent), make it default to off, comment out the old
dashboard link code for now.
2014-01-11 04:15:12 +01:00
jp9000
f76e8bcaa4 Added a "Reinitialize" button for mics
If the mic device starts going crazy or needs to be reset for whatever
possible reason and you don't want to restart the stream, you can now
reset the mic by using the "Reinitialize" button in audio settings next
to the mic device drop-down.  This will shut down the mic, and then
reinitialize it one second later.

Shouldn't need to be used with the newer audio code, but is provided
just in case.
2014-01-10 20:13:02 -07:00
jp9000
25ffedf4d3 Fixed bug with double push-to-talk hotkeys
- When two push-to-talk hotkeys are in use at once, the first hotkey
   that was released would turn off push-to-talk.  Now, it makes sure
   that both hotkeys must be released before turning it off.
2014-01-08 09:03:10 -07:00
palana
c88638739b Fixed crashes with plugins not deinitializing properly
Added a parameter to OBS::Stop to override keep recording behaviour in
exceptional cases like shutting down and encoder initialization problems
2014-01-07 00:04:55 +01: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
palana
65d9c25441 Allow settings dialogs to cancel applying settings 2014-01-04 01:14:36 +01:00
jp9000
71b3830b64 Make record button primary when set to record only
When the user has set the mode to "record to file only", make it so
that the "Start/Stop Recording" button is enabled, and that the
"Start/Stop Streaming" button is disabled.  Having both buttons
enabled when in 'record only' mode is just a bit confusing.
2014-01-03 13:59:04 -07:00
jp9000
01df955967 Merged keep_recording branch
This branch fixes the issue of your recordings ending every time the
network stream is disconnection.

This commit is a squash of the following commits on the branch:

    tweak the button positions a little bit
    Added OnOBSStatus plugin callback
    Enables plugins to recreate the (LIVE + REC) display
    Skip ReportStreamStatus callbacks if there is no actual stream
    Fix the status bar for real this time
    Make the status bar keep updating when not live
    Fixed exit cleanup while streaming/recording
    Fix Stop() behavior and stream status message
    Continue recording even if the stream goes offline
    Requires setting KeepRecordingOnStopStreaming to 1 in global.ini to test
2014-01-03 09:23:46 -07:00
paibox
95aff276f8 Clean up the recording stuff a bit
Remove duplicate code and make it so the recording doesn't request a
second keyframe while everything is booting up.
2013-12-31 11:02:32 +01:00
paibox
808bc49c73 Add a button to toggle recording on/off
Like the description says. Currently nukes the Dashboard button, not
quite sure where to put it. Allows you to toggle recording while
streaming, to split up videos or turn it off while you AFK in Orgrimmar
for ten hours.
2013-12-29 22:40:02 +01: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
b146feb64f fixed push-to-talk delay hotkey (wasn't working because everything uses nanosecond timing rather than millisecond) 2013-10-19 21:22:02 -07:00
jp9000
632585b77b add 'show connected audio devices only' checkbox to audio settings 2013-10-09 15:32:19 -07:00
jp9000
d455ec9e77 made frame skip threshold adjustable, and increased the base threshold 2013-09-25 16:41:53 -07:00
jp9000
b95889d1b0 added a red message on the status bar if encoding is taking too long to process 2013-09-20 21:22:41 -07:00
jp9000
c447715ffd Fix video frame timing issues with new encoder code 2013-09-04 01:32:54 -07:00
jp9000
fd014bfe97 Allow selectable color space matrix outputs 2013-09-03 09:10:17 -07:00
jp9000
4475863468 fixed projector thread issues 2013-09-02 22:29:14 -07:00
jp9000
753156fb82 Make projector stuff thread safe 2013-09-02 21:19:25 -07:00
jp9000
0bcbc14fc0 Added UI stuff for projector 2013-09-02 19:38:03 -07:00
jp9000
3520b15ca4 Allow the option to select sample rate to stream at rather than have it hard coded to 48000hz 2013-09-02 18:40:15 -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
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
6d1a39f833 finally fixed monitor rotation for monitor capture on windows 8 (though it still baffles me beyond reason why anyone would use monitor capture at all with a portrait desktop) 2013-08-04 15:26:30 -07:00
palana
81a6bbb0da Added VideoEncoder::HasBufferedFrames, changed semantics for GetBufferedFrames and updated x264 accordingly 2013-08-03 05:09:36 +02:00
shousa
ebce28fc60 enable window width more compact
enable window width more compact
2013-07-28 20:51:49 +09:00
Richard Stanway
0c77456581 Flush BufferedVideo packets on stream end, fix some race condition crashes resulting from new flushing code. 2013-07-25 09:11:32 -04:00
Crehl
5bc55a6388 Correctly show/hide the dashboard button upon profile change, not just window resize. 2013-07-21 17:16:55 +01:00
Richard Stanway
5b6f99e72d Flush encoder before exiting video processing loop 2013-07-21 09:06:59 -04:00
foxx1337
5fd4a88eb4 fixed the header declaration for OBS::EnsureCropValid; the main window now shows <profilename> - <programname> (was <programname>), same for the notification area tooltip (was OBS) 2013-07-21 11:42:25 +02:00
Richard Stanway
d710b505b1 Fix some cropping stuff 2013-07-18 05:20:48 -04:00
Eric Bataille
ae285dd10b Moved config menu item to AppendModifyListbox 2013-07-17 17:33:41 +02:00
Eric Bataille
c246eff55d Added sources options to right click menu in render frame. 2013-07-16 21:43:43 +02:00
Eric Bataille
5b038e83f7 Symmetric cropping with shift modifier. 2013-07-14 15:30:12 +02:00
Eric Bataille
03150091fc Added a reset cropping option 2013-07-06 17:28:08 +02:00
Richard Stanway
a5be55217c Fix OBS destructor 2013-05-19 20:27:02 -04:00
palana
9d5661b50c Fixed propagation of x264 fallback in case QSV is selected 2013-05-11 06:32:59 +02:00
palana
0c43b3e31e Moved yuv buffer mutliplexing to QSV encoder and implemented a more asynchronous pipeline 2013-05-10 19:07:34 +02:00
jp9000
e3582d26ae Show disconnect failure on first connect if disconnect happens within the first 10 seconds rather than do a reconnect 2013-05-07 16:59:29 -07:00
jp9000
a8f22d6caf Added logging of module addresses and loaded plugins 2013-05-07 13:52:05 -07:00
paibox
e0cd754a5f Allow cropping to work on a basis similar to a sub region. 2013-05-06 03:57:21 +02:00
jp9000
1bd101c792 changed project settings to use SSE2 optimizations by default, and removed SSE2 checks from the app 2013-05-03 19:54:49 -07:00
jp9000
d2e7e2af6f added timestamping to all lines in log files 2013-05-01 17:58:42 -07:00
Eric
8192dc8911 Cropping from the corners support. 2013-04-30 00:09:06 +02:00
John R. Bradley
c3a66d0b8e Rudimentary crop gui support 2013-04-25 19:31:05 +09:00
jp9000
fccdc638aa Split up software capture into window and monitor capture. Put warnings on monitor capture for vista/7 and when aero is on 2013-04-19 10:50:16 -07:00
Eric
9efedb714d Add a separator between the builtin settings panes and the plugin settings panes. 2013-04-18 11:19:05 +02:00
jp9000
78501dacc4 yet more (and hopefully final) audio subsystem fixes 2013-04-16 19:41:55 -07:00