Commit Graph

2886 Commits (ff0c58e963245c705c00f9bfbab50c3e45b00735)

Author SHA1 Message Date
kc5nra ff0c58e963 deps-libff: Adjust start_pts if invalid pts found
If the first guessed pts is less than the start_pts, it could
lead to a negative PTS being returned.

Change the behavior so that the first frame's pts, if zero, is
set to the start_pts.  If more than one frame is less than the
start_pts, the start_pts is determined invalid and set to 0.

Valid start_pts example:
  start_pts = 500

  first frame (pts = 0)
    pts = 500 (< start_pts)
    pts -= 500 (offset by start_pts)

    ret 0

  second frame (pts = 700)
    pts = 700 (no change, > start_pts)
    pts -= 500 (offset by start_pts)

    ret 200

Invalid start_pts example:
  start_pts = 500

  first frame (pts = 0)
    pts = 500 (< start_pts)
    pts -= 500 (offset by start_pts)

    ret 0
  second frame (pts = 300)
    pts = 300 (< start_pts, start_pts set to 0)
    pts -= 0 (start_pts is now 0)

    ret 300
2015-08-02 15:54:35 -05:00
kc5nra 3b2b7f2f37 libobs: Remove flag check when resetting timestamp
Removes obsolete check when resetting a timestamp as some sources
can register for Audio/Video async yet only output audio frames.
2015-08-02 15:54:10 -05:00
jp9000 927a90cfa7 win-capture: Use get_win_ver (not GetVersionEx) 2015-08-01 14:51:24 -07:00
jp9000 2526910eb9 UI: Use get_win_ver (not GetVersionEx) 2015-08-01 14:51:23 -07:00
jp9000 278fd03a66 libobs-d3d11: Use get_win_ver (not GetVersionEx) 2015-08-01 14:51:23 -07:00
jp9000 0fb79a4733 libobs: Use get_win_ver (not GetVersionEx) 2015-08-01 14:51:22 -07:00
jp9000 ef332ab8b6 libobs: Add function to get the windows version
Microsoft basically deprecated GetVersion/GetVersionEx, so now you have
to query the file version of kernel32.dll in order to get the actual
windows version.  Because of the steps involved in getting the windows
version are fairly complicated, this is an exported libobs helper
function that can be used to get the windows version if needed.
(Microsoft does have its own set of helper functions for this but the
API feels a bit..  awkward, and you can't actually get the real windows
version with them)
2015-08-01 14:51:21 -07:00
jp9000 9a93e4b859 libobs: Add platform-specific headers to cmake 2015-08-01 14:51:20 -07:00
jp9000 74354dc4cf win-capture: Use texture for actual source size 2015-08-01 14:51:19 -07:00
Gol-D-Ace bdda2b0b23 rtmp-services: Update twitch.tv ingests 2015-08-01 21:24:09 +02:00
Palana 255e9d6848 coreaudio-encoder: Fix potential memory leak
Found via clang-3.7 static analysis
2015-08-01 08:59:39 +02:00
jp9000 df2242b6aa libobs: Add OBSContext class to obs.hpp
This is just a data-less class that simply calls
obs_startup/obs_shutdown automatically.
2015-07-30 18:49:06 -07:00
jp9000 ec69bcb15e libobs-opengl: Add X11 error handler (for logging) 2015-07-30 18:41:46 -07:00
jp9000 05a191618f libobs-opengl: Only flush if no active swap on OSX
glFlush is somewhat implementation-specific; on OSX for example, it is
additionally used to draw to a view.  However, we're already using the
Objective-C function flushBuffer, which apparently calls glFlush
internally anyway to draw to views.  That means that we're superfluously
calling glFlush most of the time if there's an active swap chain.  So
instead, only call glFlush when there are no active swap chains on OSX.
2015-07-30 17:59:34 -07:00
jp9000 de65407ac4 libobs-opengl: Make sure current swap is valid 2015-07-30 17:28:40 -07:00
jp9000 cedd894fe7 libobs-d3d11: Make sure current swap is valid 2015-07-30 17:16:24 -07:00
jp9000 378b46b7b7 libobs: Update version to 0.11.2 2015-07-27 16:08:44 -07:00
jp9000 595de46e9d decklink: Fix crash (null pointer dereference)
This is my fault; I made an idiotic assumption about the data and it
ended up causing the plugin to crash.  This is definitely one of my more
embarrassing moments.
2015-07-25 09:51:30 -07:00
Anthony Catel ffb3ca4595 libobs: Use one copy for RGBA output when possible
A minor optimization: in copy_rgbx_frame (used when libobs is set to
output RGBA frames instead of YUV frames), if the line sizes for the
source and destination match, just use a single memcpy call for all of
the data instead of multiple memcpy calls.
2015-07-24 10:42:44 -07:00
Jim b22bc8127e Merge pull request #457 from Radzaquiel/patch-7
obs-x264: Change string for translation
2015-07-22 08:34:07 -07:00
jp9000 66f7330a58 UI: Remove properties window UI file (not needed)
The properties window UI file has no point at this time.  It's just a
window with a widget inside of it.
2015-07-20 19:11:35 -07:00
Palana 4001767355 UI: Add missing override specifier
Found via clang-3.6, actual warning:
window-basic-main.hpp:406:14: warning: 'GetProfilePath' overrides
a member function but is not marked 'override'
[-Winconsistent-missing-override]
2015-07-19 06:30:35 +02:00
Palana 4a22f314d6 libobs/graphics: Fix printf format warning
Added cast to unsigned and the assert because microsoft's compiler
doesn't support "%zu"

Actual warning:
libobs/graphics/effect-parser.c:1387:4: warning: format specifies type
'unsigned int' but the argument has type 'size_t' (aka 'unsigned long')
[-Wformat]
2015-07-19 06:30:35 +02:00
Palana 95e19cb7ba libobs/util: Reduce allocations in dstr_vcatf 2015-07-19 06:30:35 +02:00
Palana 14b27a4cc7 libobs/util: Add format string diagnostics for dstr_(cat|print)f 2015-07-19 06:30:34 +02:00
Palana 36ad777b8a UI: Add milliseconds to log timestamp when available 2015-07-19 06:30:11 +02:00
jp9000 4ed1e2f03c cmake: Allow external plugins to share libobs deps
This addition allows external cmake modules to include the same modules
that are commonly distributed with the main obs-studio repo: things like
FFmpeg, curl, etc.
2015-07-18 16:41:03 -07:00
jp9000 c87d3b1f12 cmake: Rename FindFFMpeg to FindFFmpeg
This was sort of driving me crazy: The 'm' in FFmpeg isn't supposed to
be capitalized.
2015-07-18 16:32:26 -07:00
Radzaquiel 16be021c5b obs-x264: Change string for translation
Adding the acronym "VFR" & keeping it this way in the string could be a good thing as the acronym is used worldwide in video encoding.
2015-07-18 14:38:51 +02:00
jp9000 fbf771620a cmake: Fix external plugin cmake module comments 2015-07-18 01:29:11 -07:00
jp9000 f9b9bfa9b6 cmake: Change search for "Libobs" instead of "obs" 2015-07-16 17:20:10 -07:00
jp9000 7226fc7b53 cmake: Rename FindObs.cmake to FindLibobs.cmake
Mostly done to prevent confusion between UI and libobs.
2015-07-16 17:11:52 -07:00
jp9000 6ab8d75da0 cmake: Add helper to include -isystem directories
This is mostly just a helper to prevent warnings with system includes in
XCode.
2015-07-16 16:05:08 -07:00
jp9000 bbe9a96228 cmake: Add FindObs helper for external plugin use
This is meant to be copied and used by external plugin projects for the
sake of finding and depending on OBS.
2015-07-16 15:45:34 -07:00
jp9000 6eb214b531 cmake: Add cmake module for external plugin use
This cmake module adds various cmake functions used for generating obs
plugins.  This currently may not fully support linux; this may require
more changes on linux due to the nature of the file structure linux
uses.
2015-07-16 15:45:34 -07:00
jp9000 77b7a83249 win-capture: Add D3D9 exceptions for win10 RTM 2015-07-16 15:45:33 -07:00
jp9000 c8d5058f1d obs-x264: Add option to use variable framerate
This just changes the x264 encoder settings; it doesn't actually change
the framerate of OBS.  OBS will always output at a constant framerate
regardless of whether this option is on or off; this just changes how
the encoder encodes the data.
2015-07-16 15:45:33 -07:00
jp9000 c53f4f2f45 libobs: Fix bug with a win8 log message
I unintentionally stored the windows version in a 16bit format rather
than an 8bit format.
2015-07-16 15:45:20 -07:00
jp9000 d7d44a92ff libobs/util: Load win. module deps from same dir
Certain plugins/modules that are loaded on windows may be dependent on
libraries that are located in the same directory as the module in
question.  This makes is so that LoadLibrary will also search for
dependent libraries for that module in the module's directory.
2015-07-16 13:33:34 -07:00
jp9000 5c0f4546ea libobs/util: Add functions to get/set the cwd
Adds functions to get or set the current working directory.
2015-07-16 01:32:16 -07:00
jp9000 7bd5147074 libobs: Fix module search to ignore . and ..
When globbing for modules, the intent was to ignore the . and ..
directories that might also be included in the glob search.  It was
mistakenly doing a string compare on the 'path' variable which contains
the full path, rather than the 'file' variable which just contains the
found file itself, so the string compare always failed.
2015-07-16 01:32:15 -07:00
jp9000 1f1f03d920 UI: Make plugin search path use arch. bits in name
If on windows/linux, make the plugin search path also include the
architecture bits for its binary search path.
2015-07-16 01:32:14 -07:00
jp9000 5d33c777c2 libobs/util: Add macro to specify arch. bits 2015-07-16 01:32:13 -07:00
Jim 1a822f9a1e Merge pull request #456 from Gol-D-Ace/twitch-ingests
rtmp-services: Update twitch.tv ingests
2015-07-15 22:53:16 -07:00
Gol-D-Ace e4d0b54a0d rtmp-services: Update twitch.tv ingests 2015-07-16 07:14:08 +02:00
Jim 40d06ffb87 Merge pull request #455 from Gol-D-Ace/twitch-ingests
rtmp-services: Update twitch.tv ingests
2015-07-13 17:17:11 -07:00
Gol-D-Ace ca64755d9b rtmp-services: Update twitch.tv ingests 2015-07-14 02:12:50 +02:00
jp9000 8b5caeca10 cmake: Fix dependency cmake search paths
Fixes issues using DepsPath(32|64), was using ${lib_suffix} instead of
${_lib_suffix} so 32/64-sepcific directories wouldn't work properly.
Also the DepsPath environment/cmake variable wasn't specified for the
library search.

Also added the same dependency search paths for libfdk (if someone wants
to use it on windows for whatever reason)
2015-07-13 14:39:03 -07:00
Jim 9c0aaed4d1 Merge pull request #454 from Gol-D-Ace/twitch-ingests
rtmp-services: Update twitch.tv ingests
2015-07-12 10:28:35 -07:00
Gol-D-Ace 938ef67553 rtmp-services: Update twitch.tv ingests 2015-07-12 13:15:15 +02:00