127 Commits

Author SHA1 Message Date
Richard Stanway
9f0503a24b Basic support for IPv6 2015-01-21 23:07:39 +01:00
palana
e7804fcef0 Initialize RTMPPublisher encoder data before spawning threads 2014-09-24 15:20:25 +02:00
palana
edfbea5ba0 Add support for 3rd party service.xconfigs
3rd party service.xconfigs are located in %AppDataPath%/services
(e.g. %APPDATA%/OBS/services in non-portable mode) and have the same
format as a single service definition in services.xconfig without the id
field, e.g.:

"My Service" : {
  servers : {
    Primary : "rtmp://live.example.org/live"
    Secondary : "rtmp://live.example.com/live"
  }
  recommended : {
    "max bitrate" : 1337
  }
}
2014-09-12 21:23:50 +02:00
Richard Stanway
5c6cd4aa3d Log additional information when shutting down RTMP
This should help diagnose the freezes that occur at the end of streams for some users.
2014-08-31 15:34:56 +02:00
Richard Stanway
2c249964ad Log message when using a non-default IP binding 2014-08-20 20:03:09 +02:00
Richard Stanway
905041058f Use absolute paths for opening files where possible
Works around various 3rd party nasties that change the working directory and don't set it back properly.
2014-08-19 01:16:09 +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
Richard Stanway
dc15b6a8f4 Don't inform the main thread of errors during ~RTMPPublisher 2014-04-23 01:12:32 +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
Richard Stanway
7a25945a3e Fix incorrect log messages when changing TCP buffer sizes 2014-04-21 18:10:24 +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
palana
1b93554034 Initialize variable for all goto paths in RTMPPublisher
Fixes "Run-Time Check Failure"s for debug mode binaries in case the service
selection in RTMPPublisher::CreateConnectionThread fails
2014-04-03 14:39:22 +02:00
Richard Stanway
aeb4062e91 I fixed it! 2014-01-29 00:08:10 +01:00
Richard Stanway
a4ae3c2d4c Refactor RTMP initialization slightly
This allows a clean shutdown during a blocking connnect(),
recv() or send() call during RTMP initialization. Previously
OBS would completely block, waiting on the socket to respond.
2014-01-29 00:07:17 +01:00
Richard Stanway
fe62c35f72 Show grey box in status bar when not connected 2014-01-06 01:04:39 +01:00
palana
285b80dd37 Fixed divide by 0 in frame drop percentage calculation 2014-01-04 01:14:36 +01:00
Richard Stanway
9ffb1ca075 Fix 10038 errors / buffer loss from premature socket close 2013-12-30 14:30:00 +01:00
Richard Stanway
bdf27c1cfc Close RTMP socket before waiting on CreateConnectionThread 2013-12-23 01:33:31 +01:00
Richard Stanway
026cc1ac1a Add ini setting to disable use of SIO_IDEAL_SEND_BACKLOG_CHANGE 2013-12-10 22:58:02 +01:00
Richard Stanway
53b60d8d24 Fix LSP crashes when ending a stream 2013-10-15 23:03:34 +02:00
Richard Stanway
0aad967854 We're a SocketLoop not a SendLoop 2013-09-27 18:57:32 +02:00
Richard Stanway
8a5247af89 More RTMP logging stuff 2013-09-24 20:23:05 +02:00
Richard Stanway
f8ea9d6b25 Log last send time during FD_CLOSE shutdown 2013-09-23 12:06:14 +02:00
Richard Stanway
da1249ab88 Log send stalls 2013-09-23 11:00:32 +02:00
jp9000
0f7a114b69 fixed a bad formatted string 2013-09-21 19:20:48 -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
Richard Stanway
e32d598cd9 Better fix for bufferedPackets memory leak 2013-09-18 23:29:47 +02:00
jp9000
f67f86c13a fixed the memory leak 2013-09-18 11:34:18 -07:00
Richard Stanway
0764f52b77 Use QWORD for byte counter 2013-09-18 00:29:04 +02:00
Richard Stanway
20b26b412e Fix division by zero 2013-09-18 00:14:53 +02:00
Richard Stanway
3f9fa06608 Log some send() stats 2013-09-17 18:50:08 +02:00
Andrew Cook
7e151641e4 Enable swfUrl 2013-09-15 19:45:59 +10:00
palana
66798dba88 Use reference instead of copy 2013-09-10 02:19:25 +02:00
Richard Stanway
0befa5b7b3 Timeout network flush after 50 seconds rather than crashing 2013-08-23 16:46:52 -04:00
HomeWorld
ac13002d3d Corrected an error message text in RTMPPublisher 2013-08-17 16:53:36 +03:00
Richard Stanway
1116fd106f Fix possible race condition during unexpected RTMP shutdown 2013-08-14 01:05:12 -04:00
jp9000
6f4ea535bd fixed two minor warnings 2013-08-04 12:33:48 -07:00
Richard Stanway
1594ba0cf3 Add RTMP auth to librtmp without using a 3rd party crypto lib 2013-07-31 10:07:07 -04:00
Richard Stanway
9e28da6c48 Add support for quick keyframe on connect
Account for audio timestamp offset when deciding whether to framedrop
Use 128k minimum data buffer size
2013-07-30 00:10:26 -04:00
Richard Stanway
3a422da395 Flush bufferedPackets respecting original timestamps, fix bug in blocking socket code. 2013-07-25 09:12:03 -04:00
Richard Stanway
fb3fa52a65 Add graceful socket shutdown to RTMPPublisher and fix a few bugs 2013-07-25 05:32:04 -04:00
Richard Stanway
1dc66f2f9a Fix crash if shutdown attempted before connected 2013-07-22 21:06:43 -04:00
Richard Stanway
dcedbe9573 Further netcode improvements:
Handle socket errors properly
Ignore multiple stop requests (and subsequent auto reconnects)
Use event polling for ideal send backlog (TCP buffer size)
2013-07-22 21:02:11 -04:00
Richard Stanway
b46899d069 Major netcode refactoring (needs lots of testing!):
Shutdown is now orderly, triggered via ~RTMPPublisher
All pending frames / buffered data are properly sent before closing
Network loop processing improved to avoid late FD_READ events
Downside, 'Stop Stream' now takes a few seconds longer
2013-07-21 09:06:59 -04:00
Richard Stanway
1b7d01985e Actually resolve the hostname before logging interface info 2013-07-21 03:58:24 -04:00
Richard Stanway
fe2aa5e04c Fix improper String usage 2013-07-21 03:51:16 -04:00
Richard Stanway
b9af69fd3b Log network interface type 2013-07-21 03:49:09 -04:00
Richard Stanway
68eab3311b Improved librtmp error messages 2013-05-07 22:28:22 -04:00
jp9000
010503a0df increased the frame drop thresholds ever so slightly because people with poor connections seem to have drop issues with it 2013-05-06 14:24:40 -07:00