121 Commits

Author SHA1 Message Date
palana
3a3eb810dd Fix crash with start recording button/hotkey and invalid encoder settings
In case the encoder failed to initialize (making Start call Stop)
StartRecording would try to access invalid objects (since Stop deleted
them)
2014-02-12 17:37:59 +01:00
palana
755a73ad2e Rename EnableProfileMenu to DisableMenusWhileStreaming
In case future modifications require more Menus to be disabled while
streaming
2014-02-09 08:13:46 +01:00
palana
6a46761c3c Add plugin events for start/stop streaming
These complement the new start/stop recording events as they are called
as soon as a network connection is initiated/severed regardless of
previous encoder state
2014-02-08 06:18:41 +01:00
palana
543b6d066b Add plugin events for start/stop recording 2014-02-07 01:25:08 +01:00
palana
e59312e905 Enable recording button even when not streaming with network mode 0 2014-02-04 21:51:51 +01:00
palana
a5f92b34b1 Extract streaming/record/test stream button UI calls 2014-02-04 21:35:27 +01:00
palana
a7f4bf655e Disable profile selection while streaming
This enforces the warning that settings will not be applied until
streaming is restarted from the settings dialog for all profile settings

Also fixes a bug that would prevent start streaming/recording buttons
from being properly enabled/disabled when switching from a
recording/streaming only profile to a streaming/recording only profile
on stream stop

Additionally, the microphone volume meter got disabled when switching
from a profile with microphone enabled to a profile with microphone
disabled while the microphone was still active
2014-02-04 19:04:45 +01:00
Richard Stanway
fbb554fcb3 Fix hotkey callbacks firing during ~DelayedPublisher 2014-02-01 17:10:10 +01:00
palana
bdc481ef7e Update "Stream Start/End" messages when only stream is started/stopped 2014-01-13 20:54:42 +01:00
palana
984095bef1 Update streaming status when network stream is stopped
Fixes duplicate "Stream End" message on exit after stream is stopped via
stop stream hotkey/button
2014-01-13 20:51:29 +01: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
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
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
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
c042ffc6ac Also account for user-specified delay
- Woops, don't use global audio time for sorting, use the latest audio
   timestamp from that specific device.

 - Also, made it so lastSentTimestamp is only done when data is actually
   used, accidentally put it in the wrong scope.
2014-01-05 17:23:27 -07:00
jp9000
327eda646d Merge branch 'master' of https://github.com/jp9000/OBS 2014-01-05 17:14:30 -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
palana
458ec4a420 Changed icon for encoder error message box and fixed another minor inconsitency 2014-01-05 07:11:13 +01:00
palana
13906eb934 Refactored encoder initialization, display errors instead of silently using x264
Added a bunch of (localized) error messages for QSV and NVENC
2014-01-04 01:41:23 +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
BtbN
3170c9fef5 Add nvenc encoder library loading functions 2014-01-01 22:04:11 +01: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
1f4bb46250 Change the idle description for the toggle recording button
Because it confused everyone. It's now just a grayed out "Start
recording" while it's disabled.
2013-12-31 09:22:03 +01:00
paibox
7178dbf96b Add file that didn't get included
GitHub's application for some reason didn't detect that any changes had
been made to this file.
2013-12-31 01:00:59 +01:00
paibox
45f8e8b374 Fixed toggle recording functionality
Hopefully. Made the recording wait for a keyframe before starting,
adjust the timestamps for the output file so they display the correct
video duration. Start AFKing in Orgrimmar, everyone!
2013-12-30 23:38:58 +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
paibox
da69a593fc DirectShow global source audio fix round 2
One more fix, because people sometimes apparently add the same global
video capture device source to the same scene twice.
2013-12-20 00:39:40 +01:00
palana
0d87d3977b Fixed DateTimeName for .flv output
Also works with directory names containing dots (see <http://obsproject.com/forum/viewtopic.php?f=6&t=8967>)
2013-12-19 15:13:29 +01:00
jp9000
36eb42119b force MP3 to always use 44.1khz to prevent transmission from breaking 2013-12-16 10:54:37 -07:00
jp9000
5a072eb506 Merge branch 'master' of https://github.com/jp9000/OBS 2013-12-05 17:22:36 -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
HomeWorld
d651ae4e16 Fixed an issue with stream to file output path 2013-11-21 12:26:51 +02:00
Richard Stanway
18320c562a Misc uninitialized variable fixes 2013-10-15 23:03:34 +02:00
jp9000
8f50853182 ...left tabs on, sorry about that, fixed 2013-09-28 13:37:09 -07:00
jp9000
25cdbe8b37 Allow overwriting of recorded files via ini 2013-09-28 13:36:02 -07:00
jp9000
5d90138f33 log buffering time and update version to 0.57.04 2013-09-27 19:56:55 -07:00
jp9000
f5a7ac4027 changed skip threshold to 1/4th of a second 2013-09-27 12:15:15 -07:00
jp9000
d455ec9e77 made frame skip threshold adjustable, and increased the base threshold 2013-09-25 16:41:53 -07:00
jp9000
9ef424ade8 merged original stable changes and fixed 700ms scene buffering offset default 2013-09-24 23:18:53 -07:00
Richard Stanway
0d2da94272 Added additional checks for known problematic DLLs 2013-09-16 13:32:18 +02:00
jp9000
fac041e0e6 Ensure proper termination of the video thread 2013-09-04 02:37:07 -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
1a5d3bc3b7 Fixed another potential race condition with the projector code 2013-09-02 21:26:10 -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
palana
f63a12ca72 Allow DateTimeName for flv files 2013-09-02 00:38:28 +02: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