Commit Graph

2424 Commits (f04be51947ff922a9a197ead7316db2870cb5c92)

Author SHA1 Message Date
jp9000 ffc7b3c666 libobs: Fix multi. video encoder sync issues
When using multiple video encoders together with a single audio encoder,
the audio wouldn't be in sync.

The reason why this occurred is because the dts_usec variable of the
encoder packet (which is based on system time) would always be reset to
a value based upon the dts (which is not guaranteed to be based on
system time) in the apply_interleaved_packet_offset function.  This
would then in turn cause it to miscalculate the starting audio/video
offsets, which are required to calculate sync.

So instead of calling that function unnecessarily, separate the check
for whether audio/video has been received in to a new function, and only
start applying the interleaved offsets after audio and video have
actually started up and the starting offsets have been calculated.
2015-02-10 22:10:41 -08:00
jp9000 c2832b8b1c UI: Add "enforce streaming service settings"
Add a checkbox named "Enforce streaming service encoder settings"
checkbox to advanced output.  Disabling this checkbox allows the user to
optionally disable the enforcement of streaming service encoder
settings.  I had a user complain that they didn't want to always have
the service's preferred encoder settings forced on them.
2015-02-10 22:10:40 -08:00
jp9000 fc574a0d7b UI: Fix custom encoder settings not applying
Somehow the code to hook this particular widget was deleted, so add it
back in.
2015-02-10 22:10:39 -08:00
jp9000 943f89b873 UI: Apply service encoder settings (simple output)
Ensures that the current service's encoder settings are applied to the
encoders used with the simple output.  This is always on for simple
output so users don't have to mess with it themselves.
2015-02-10 22:10:39 -08:00
jp9000 3ca57fbb3e UI: Set simple mode reconnect signal to toggled()
clicked() is the wrong signal to use, it only activates on actual user
click, not when the value is changed.  toggle() activates whenever the
value itself is changed.
2015-02-10 22:10:38 -08:00
jp9000 368f04727c UI: Set simple output mode bufsize minimum to 0 2015-02-10 22:10:07 -08:00
jp9000 2149817af7 obs-x264: Set lower buffer size limit to 0
0 is a common value used for recording.
2015-02-10 19:32:35 -08:00
jp9000 a05ed355f5 libobs: Fix 64bit -> 32bit conversion warnings 2015-02-10 19:31:25 -08:00
jp9000 5a4a9befd2 rtmp-services: Add encoder settings callback
Swaps out the old initialize callback code that applied encoder settings
to the new apply_encoder_settings callback
2015-02-10 19:27:37 -08:00
jp9000 4eacb5f3e9 libobs: Add API to apply service encoder settings
Instead of having services automatically apply encoder settings on
initialization (whether the output wants to or not), instead make it
something that must be explicitly called by the developer.  There are
cases where the developer may not wish to apply the service-specific
settings, or may wish to override them for whatever reason.
2015-02-10 19:23:36 -08:00
jp9000 fe849ec482 libobs: Update to 0.8.1 2015-02-09 19:32:40 -08:00
jp9000 ac72e0392d Revert "obs-outputs: Update to latest librtmp version"
This reverts commit 36666c6712.
2015-02-09 19:30:11 -08:00
Jim 778dd44258 Merge pull request #359 from dodgepong/latest-crowdin-translations
Update Ubuntu ffmpeg PPA in INSTALL file
2015-02-09 19:08:43 -08:00
dodgepong 8265c2eadd Update Ubuntu ffmpeg PPA in INSTALL file 2015-02-09 22:04:53 -05:00
Jim 1819de0431 Merge pull request #358 from dodgepong/latest-crowdin-translations
Add latest translations from CrowdIn
2015-02-09 17:03:20 -08:00
dodgepong eb918d01b4 Add latest translations from CrowdIn 2015-02-09 19:26:17 -05:00
jp9000 268f8daf2e libobs: Update version to 0.8.0 2015-02-09 16:25:59 -08:00
Jimmy Berry 6158a7418e Allow OBS_VERSION_OVERRIDE to assist in packaging.
If OBS_VERSION_OVERRIDE is set, it will set the main OBS_VERSION
variable to its value.

(modified by Jim)
2015-02-09 08:32:01 -08:00
Bl00drav3n 74042fff96 win-capture: Implement D3D8 game capture support 2015-02-09 05:02:48 -08:00
jp9000 bc57e5b2c2 win-dshow: Update libdshowcapture to 0.4.3 2015-02-09 03:56:14 -08:00
jp9000 fb414e8988 win/test: Fix string format specifier
bnum_allocs returns a long (%ld), not an unsigned long long (%llu).
2015-02-09 03:56:14 -08:00
jp9000 4ba293a6d9 text-freetype2: Fix wrong parameter type
These functions expect char*, where as the string is stored as a
unsigned char* (FT_Byte*).
2015-02-09 03:56:13 -08:00
jp9000 3812393472 libobs-d3d11: Fix uint -> HWND casting
HWND is considered a pointer, so when casting you must cast to a
pointer-sized integer before attempting to cast to a pointer.
2015-02-09 03:56:12 -08:00
jp9000 86563ea1cd libobs-d3d11: Fix vertical alignment
Someone's going to yell at me about this, but fix vertical alignment for
certain member variables in the main header.

For future reference, if you must use vertical alignment, always give it
plenty of space for the type names to grow in case you need to
add/change variables in the future; don't just align to the 'longest'
value, give it an extra 8-16 spaces for potential future variables.
This is done to prevent having to make commits like this in the future
that sort of pollute the history.
2015-02-09 03:56:12 -08:00
jp9000 3af33b26ac libobs-d3d11: Use integer type with switch
DXGI_FORMAT has too many values we don't need/use, so the value for this
switch should be an integer instead of an enum to prevent warnings.
2015-02-09 03:56:11 -08:00
jp9000 e7cca4edd1 libobs-d3d11: Fix incorrect format specifier 2015-02-09 03:56:10 -08:00
jp9000 73c6dca1b5 libobs-d3d11: Fix potentially uninitialized vars 2015-02-09 03:56:10 -08:00
jp9000 7650df5525 libobs-d3d11: Fill out switch enum values
When using an enumeration value with a switch, it needs to be filled out
with all possible values to prevent compiler warnings.  This warning is
used to prevent the developer from unintentionally forgetting to add new
enum values to any switches the enum is used on later on.  Sadly, only
good compilers actually have this warning (mingw).
2015-02-09 03:56:09 -08:00
jp9000 1b2c3a6176 libobs-d3d11: Fix initializer list ordering
Microsoft's compiler doesn't seem to care about warning about things
like initializer list ordering.  Mingw actually reports on this to
prevent potential confusion about ordering.
2015-02-09 03:56:09 -08:00
jp9000 f4406e71f4 libobs-d3d11: Use member initialization
Instead of using initializer lists, use member initialization to clean
up the default values for member variables
2015-02-09 03:56:08 -08:00
jp9000 8943ccc1d6 win-dshow: Use member initialization
Instead of using initializer list to set variables to null/false, use
C++11 member initialization
2015-02-09 03:56:07 -08:00
jp9000 02065f10af win-dshow: Remove deprecated FFmpeg functions 2015-02-09 03:56:07 -08:00
jp9000 731930af50 win-capture: Fix parameter type warning
Parameter expects uint8_t*, was using char*, so just cast to fix it.
2015-02-09 03:56:06 -08:00
jp9000 883d93e84c win-dshow: Remove unnecessarily inline define
This is already defined when including libobs headers
2015-02-09 03:55:31 -08:00
jp9000 372a23de68 win-capture: Use inline define with VC only
mingw already supports the regular inline keyword in C; VC does not.
2015-02-09 03:55:17 -08:00
jp9000 12a000cae5 win-capture: Refactor inline functions
Apparently someone dumb (aka me) neglected to properly handle the inline
graphics hook API functions.  You're not supposed to 'extern' inline
functions, they need to be defined for each file when ever they're used.
2015-02-09 03:51:08 -08:00
jp9000 91b33908d9 win-capture: Remove unused static variables 2015-02-09 03:50:50 -08:00
jp9000 fce3cf6bdb win-capture: static keyword comes before const 2015-02-09 03:49:48 -08:00
jp9000 f8c7df2616 win-capture: Fix bug initializing via d3d9 swap
Apparently neglected to use the reference operator.  I think this may
partially be one of the reasons why many developers still choose to use
pointers instead of references, but fortunately an actual GOOD compiler
warns about this (aka anything but vc)
2015-02-09 03:49:47 -08:00
jp9000 fbf881ecdd win-capture: Fix enum switch warnings
The enum switch warning is used to signify when you are missing
enum values.
2015-02-09 03:49:46 -08:00
jp9000 253989bd72 win-capture: Mark unused parameters 2015-02-09 03:49:45 -08:00
jp9000 04c54162b2 win-capture: Fix ptr -> int cast warnings (mingw) 2015-02-09 03:49:44 -08:00
jp9000 2301a6f578 win-capture: Clarify if statement via inline func
Clears up a warning (to prevent && and || confusion), and clarifies what
specifically the if statement is trying to accomplish (check to see if
the capture is valid)
2015-02-09 03:49:43 -08:00
jp9000 e2ee8adf77 win-capture: Fix potentially uninitialized vars 2015-02-09 03:49:20 -08:00
jp9000 aa3bdd9845 win-capture: Fix incorrect parameter type warning
Was using const char** when the parameter expects const uint8_t**
2015-02-09 03:49:19 -08:00
jp9000 6b38fa35b0 Use _MSC_VER for MSVC-specific pragmas
These aren't used on mingw so they need to be surrounded by #ifdef
_MSC_VER
2015-02-09 03:49:18 -08:00
jp9000 73d3be9311 obs-outputs: Use INVALID_SOCKET instead of -1
On windows, for whatever reason sockets use the SOCKET type which is not
a signed integer.  Still, even though it's not a signed integer, -1 is
used to indicate an invalid socket, but the way you use it is via
microsoft's fabulously dumb little INVALID_SOCKET define, so we have to
make librtmp use that instead.
2015-02-09 03:49:17 -08:00
jp9000 e26dec916e libobs: Use windows wide <-> UTF8 conversion
If on windows, use the windows UTF conversion functions due to the fact
that the existing utf code is meant for 32bit wide characters, while the
windows conversion functions will properly handle 16bit wide characters.
2015-02-09 03:49:16 -08:00
jp9000 0c30dca526 libobs: Update to latest version of ComPtr.hpp 2015-02-09 03:49:15 -08:00
jp9000 5dfecab15c Fix windows printf format warnings (from mingw) 2015-02-09 03:49:14 -08:00