1202 Commits

Author SHA1 Message Date
palana
e541c5207d Update recording logic to better reflect ConfigFile settings
ConfigFile doesn't distinguish between non-existent keys and keys with
an empty (string) value; therefore we default to treating an empty
SavePath as default save path (and warn the user when setting an empty
SavePath)

Recording is now always enabled (unless previewing)
2014-07-08 18:25:36 +02:00
Jim
2a668513f5 Merge pull request #342 from Glought/master
Disabled changing Scene Collections in Settings:General while streaming.
2014-07-03 10:50:35 -07:00
palana
d036faa33e Allow recording even when SaveToFile is disabled
This changes the semantics of SaveToFile from "disable all file output
when disabled" to "automatically save stream to file when enabled",
which allows the "Start Recording" button to be enabled even when
SaveToFile is disabled.

Having the "Start Recording" button enabled now depends on having a
non-empty SavePath
2014-07-03 16:22:40 +02:00
Glought
e990e2b1df Disabled changing scene collections in settings.
Disabled changing, adding , renaming, and removing scene collections in
Settings General while streaming.
2014-06-29 22:23:30 -07:00
jp9000
c532ffbd1e Remember 1:1 preview mode enabled/disable state 2014-06-29 16:27:58 -07:00
Richard Stanway
c9814c0a66 Don't allow runtime changing of scene collections as this leaves dangling XElement pointers in all the current SceneItems which causes crashes.
Refresh the Sources list when changing scene collections.
2014-06-27 19:11:44 +02:00
Richard Stanway
d824c3910d Fix crash when deleting a global source that didn't load 2014-06-27 17:43:45 +02:00
Glought
98d18ba4fe Added "Scene Collection" Menu
Now able to Switch between different Scene collections.
All Scene ".Xconfig" files now stored in the "sceneCollection" folder.
Changed "GetApplicationName()"  added "Profile: SceneCollection: " to the beginning of the app name.

Added "Scene Collection" Combo Box in Settings General

Can add/rename/remove new scenes collections in settings general.
Can add/rename/remove new scene collections while streaming.
Can change scenes Collections while streaming.
2014-06-25 22:16:06 -07:00
jp9000
6d8dc0828e Fix issues with BF4 and BF:HL borderless mode 2014-06-24 08:24:02 -07:00
jp9000
c150a39689 Use atomic pointer swapping for swapping frames
I can't help but wonder if this is causing some issues with frame
duplication, I suddenly realized the code wasn't particularly thread
safe so I threw this in as a precaution.
2014-06-23 12:06:23 -07:00
jp9000
744c7167a1 Update to version 0.625b 2014-06-19 12:39:58 -07:00
palana
c73c18e2fb Automatically select last recording when opening the recordings directory 2014-06-11 17:25:37 +02:00
palana
ea2faadbc6 Add "Open Recordings Folder" file menu item 2014-06-11 17:23:49 +02:00
palana
c8aac02025 Set default file save path if available 2014-06-10 18:20:45 +02:00
palana
777deeb1cc Fix compile issue 2014-06-10 18:20:44 +02:00
jp9000
3f6bd37308 Lock sound data mutex when accessing sound data 2014-06-10 08:07:11 -07:00
jp9000
0fb693524c Fix a bug with interleaving video/audio
This should finally fix the out-of-sync issues with hardware encoders.
The data was not always properly being interleaved, and this should fix
the issue (again).  (The previous time I attempted this it didn't quite
work out as I had wanted)
2014-06-10 06:27:03 -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
8dc7ecf037 Reset stream size if cancelling out of capture 2014-05-21 02:14:10 -07:00
palana
d2d57ee6d4 Move custom buffer size handling out of the settings dialog
BufferSize settings in the config files will be ignored as long as
the checkbox is unchecked (UseBufferSize is unset or 0), to make
the contents of the settings dialog reflect actual encoder behavior
2014-05-19 06:00:26 +02:00
jp9000
ad464d892c Keep unmuted volume values if volume muted
If a volume control was muted, the hidden 'unmute volume' value was not
saved to the configuration, meaning that if you exit while muted then
restart, it would unmute to 100% each time, causing annoyance for some
users.
2014-05-14 22:59:37 -07:00
jp9000
0da2d6a105 Readd 'set base resolution', add warning popup
This button was originally added as a convenience feature for users who
liked to stream certain windowed games (especially retro games) at a 1:1
pixel ratio without having to constantly fiddle with the settings or
figure out exactly what the window client rectangle size was for the
target.

However, some less knowledgable users would press this button without
knowing specifically what it does, causing some support issues.  I've
readded the button, but with a big warning box that will pop up warn the
user and ask for confirmation.

However, this problem will have to be solved better in the rewrite.
Having this in the software capture sources is not an adequate way of
dealing with the problem.  There needs to be some way to save custom
resolutions in the rewrite so you can easily switch between them.  There
also needs to be a way to copy the resolution of a window or window
client rectangle, and it really shouldn't be in the window capture
source properties I think.
2014-05-11 20:02:23 -07:00
jp9000
e04b481c52 Fix potential sync issue with hardware encoders
Instead of the video just buffer using the 'buffering time', make it
properly interleave and wait for audio data to come in before it sends
out data.
2014-05-11 15:45:02 -07:00
palana
7f4522f9b5 Fix an issue with OBS to QSV bitrate conversion
Also log a warning if (user) configured bitrate exceeds maximum QSV bitrate
(maximum QSV bitrate is 2**16-1 = 65535)
2014-05-09 04:44:14 +02:00
palana
a966964617 Use QSVHelper utilities in Encoder_QSV.cpp
Utilities.h will now also undefine min/max macros so std::min/std::max and
similar functions can be used
2014-05-09 04:44:13 +02:00
Richard Stanway
5a36ca9984 Warn user if they installed a wrong architecture plugin DLL 2014-05-02 21:21:42 +02:00
jp9000
8fe24f103a Update to 0.622b
THE RIDE NEVER ENDS
2014-04-24 23:35:30 -07:00
Richard Stanway
7368811cae Fix InputDevicesForDesktopSound 2014-04-24 19:16:19 +02:00
Richard Stanway
2b35f4386b Workaround for VS2013 AVX2 bug
http://connect.microsoft.com/VisualStudio/feedback/details/811093
2014-04-24 17:37:44 +02:00
Jim
017621db63 Merge pull request #324 from spangleb/master
Able to pull RTMP stream URL and path/key from web service.
2014-04-24 02:47:35 -07:00
jp9000
6d46d7cb26 Update to 0.621b 2014-04-23 21:06:50 -07:00
Richard Stanway
dbd4bae888 Fix crash when aborting delayed stream before it started 2014-04-23 23:04:59 +02:00
jp9000
3b5fdc08cf Prevent valid log check from reading too much
Also, fix a JSON parsing bug
2014-04-23 11:07:03 -07:00
jp9000
779bada57c Update version to 0.62b 2014-04-23 08:44:32 -07:00
Richard Stanway
902217e5ad \n at EOF 2014-04-23 01:13:49 +02:00
Richard Stanway
25af8712c4 Remove unnecessary braces 2014-04-23 01:13:36 +02:00
Richard Stanway
dc15b6a8f4 Don't inform the main thread of errors during ~RTMPPublisher 2014-04-23 01:12:32 +02:00
Richard Stanway
4693e916aa Merge branch 'origin/master' 2014-04-23 00:57:58 +02:00
Richard Stanway
26f9c88495 Allow RTMPPublisher to reconnect without full Stop / Start
Based on the "keep recording" hack. Not compatible with DelayedPublisher because DelayedPublisher is nasty >:(
2014-04-23 00:56:20 +02:00
jp9000
4fb34cf7d6 x264: Setlevel to 4.1 if using 'main' profile
Was requested due to compatibility issues with the default which appears
to be 4.2
2014-04-22 14:40:50 -07:00
Richard Stanway
1b8b8482bc Fix issues with 0 second reconnect timer 2014-04-21 19:13:05 +02:00
Richard Stanway
8b519302c8 Avoid clipping controls at default / smallest window width 2014-04-21 18:31:07 +02:00
Richard Stanway
7a25945a3e Fix incorrect log messages when changing TCP buffer sizes 2014-04-21 18:10:24 +02:00
jp9000
02d3c68350 Change minimum reconnect timout to 0 2014-04-17 18:51:53 -07:00
jp9000
e2ae54ffb3 Remove 'use inputs devices for desktop audio'
Caused us no end of pain.  Users clicked it so much that it made us all
snap.  Now, if a user really, REALLY wants to use it, they'll have to
manually set the ini file variable in their profile ini, under [Audio],
InputDevicesForDesktopSound=1
2014-04-11 21:40:27 -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
Richard Stanway
5d6cc218eb Some static analysis fixes via Coverity Scan 2014-04-09 00:47:39 +02:00
Richard Stanway
c1f702dc8f Small misc fixes 2014-04-09 00:46:37 +02:00
spangleb
f764a646d0 RTMPPublisher able to get stream ingestion URL and path/key from a web service. Any services.config file (broadcaster settings page) that has a http(s) URL for the stream is assumed to be pointing to a Web API that will return an actual RTMP ingestion URL and path/key. 2014-04-07 14:20:03 +01:00