111 Commits

Author SHA1 Message Date
Richard Stanway
82e31c2d1d Move bufferedVideo flushing to separate function, add logging 2014-08-13 23:01:26 +02:00
palana
079b545747 Pass pts of encoded picture to file streams 2014-08-13 00:37:22 +02:00
palana
5f1f3d40b3 Track pts of encoded pictures 2014-08-13 00:37:22 +02:00
Richard Stanway
aad0fcec5b Fix deadlock if encoder never received a picture 2014-08-01 03:27:45 +02: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
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
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
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
Richard Stanway
e7a0bc9ffb Remove unnecessary GetQPCTimeNS call from main loop 2014-03-13 22:39:46 +01:00
Richard Stanway
e89558b3f8 Add breakpoint trap for suspicious Sleep calls 2014-03-04 01:41:33 +01:00
HomeWorld
80142f180d Make sure we're throwing to log ugly stats stuff (division by zero case) 2014-02-09 13:18:51 +02:00
Richard Stanway
2e40d00049 Re-enable output profiler 2014-02-05 20:43:41 +01: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
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
Richard Stanway
8b2a8366f4 Remove streaminfo after congestionControl recovery
Don't run congestionControl for first 15 secs (TCP tuning time)
2013-12-11 21:57:38 +01:00
jp9000
d455ec9e77 made frame skip threshold adjustable, and increased the base threshold 2013-09-25 16:41:53 -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
ef9ca85047 made profiler log results a bit more clean 2013-09-22 15:11:23 -07:00
jp9000
53268a59d2 slight adjustment to message timing 2013-09-20 21:25:23 -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
b4b29251b5 made a fix for the encoder thread for CPUs that can't handle the load 2013-09-16 01:25:43 -07:00
jp9000
e1875a8c6b made capture timing more accurately timed with the new encoding thread code 2013-09-14 12:54:55 -07:00
palana
1095f3096e Updated profileParallelSegment macro 2013-09-11 00:43:59 +02:00
palana
2042e33b1d Removed Convert444Threads profiler section 2013-09-06 16:49:54 +02:00
palana
5eb23e0344 Added profiler sections to (threaded) chroma subsampling 2013-09-06 16:47:03 +02:00
palana
7806d11b7e Renamed Convert444to420 to Convert444toI420 2013-09-06 16:41:21 +02:00
jp9000
64c5c1d034 one more fix for frame timing 2013-09-04 02:19:04 -07:00
jp9000
f39bd21704 Adjust event placement so that threads ideally don't execute at the same time 2013-09-04 01:36:38 -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
1a5d3bc3b7 Fixed another potential race condition with the projector code 2013-09-02 21:26:10 -07:00
jp9000
753156fb82 Make projector stuff thread safe 2013-09-02 21:19:25 -07:00
jp9000
5875cf8831 make profiler thread-safe 2013-09-02 19:50:52 -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
3bdfe6753e Added EncodeThread profiler section 2013-09-01 22:50:54 +02:00
palana
23d900f117 Renamed variables for Convert444Threads profiler section 2013-09-01 22:50:53 +02:00
jp9000
05c92ce378 fixed late frame calculation 2013-08-31 17:02:35 -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
HomeWorld
61cd1b0c9c Revert "Log late frames profiling info only in test builds"
This reverts commit 0f879e94c9a68b0c10dbc721e3e7554eceeb365f.
2013-08-15 18:26:45 +03:00
HomeWorld
0f879e94c9 Log late frames profiling info only in test builds 2013-08-15 18:14:54 +03:00
Richard Stanway
b4fa6d55ff Add warning about opencl to DXGI device removed message 2013-08-03 16:43:22 -04:00
palana
81a6bbb0da Added VideoEncoder::HasBufferedFrames, changed semantics for GetBufferedFrames and updated x264 accordingly 2013-08-03 05:09:36 +02:00
jp9000
dc751280f9 fixed a cts offset crash on the flush at the end of the stream 2013-07-25 17:24:29 -07:00
jp9000
4603584e6b change wording of "lagged frames" to "late frames" 2013-07-25 12:52:48 -07:00
Richard Stanway
97eed8a209 Don't wait for buffers when stopping a preview 2013-07-25 10:02:08 -04:00