Commit Graph

700 Commits (b620bb13b58cf9aa5bc5dd0e5d3966539e1686a5)

Author SHA1 Message Date
fryshorts 64fae808d6 linux-jack: Add include directory to cmake
Add the include directories found by cmake to the jack plugin.
This allows for the plugin to compile when the jack headers were
found in a directory that is not normally in the search path of the
compiler (e.g. /usr/local/include)
2015-05-04 22:37:17 +02:00
fryshorts 4bdb45a8ac linux-v4l2: Add include directory to cmake
Add the include directories found by cmake to the v4l2 plugin.
This allows for the plugin to compile when the vl42 headers were
found in a directory that is not normally in the search path of the
compiler (e.g. /usr/local/include)
2015-05-04 22:37:17 +02:00
fryshorts 5983b506e9 linux-pulseaudio: Add include directory to cmake
Add the include directories found by cmake to the pulseaudio plugin.
This allows for the plugin to compile when the pulseaudio headers were
found in a directory that is not normally in the search path of the
compiler (e.g. /usr/local/include)
2015-05-04 22:37:17 +02:00
Kris Moore cef95722f9 linux-v4l2: Fix device enumeration on FreeBSD
Add platform specific code to enumerate v4l2 devices on FreeBSD.
2015-05-04 22:37:17 +02:00
Kris Moore 88abdf7e51 cmake: Enable plugins on FreeBSD
Add a list of plugins to cmake that should be build when on FreeBSD.
2015-05-04 22:37:17 +02:00
fryshorts 4497ab31c2 linux-v4l2: Fix build errors for older api
Fix build errors for older versions of the api where
VIDIOC_ENUM_DV_TIMINGS was defined but V4L2_IN_CAP_DV_TIMINGS was not.
I was under the impression that they were added at the same time, but
apparently i was wrong there.

Thanks to kmoore@FreeBSD.org for spotting this on FreeBSD.
2015-05-02 15:05:38 +02:00
jp9000 5d75d88ccd win-capture: Fix compatibility bug for window cap.
The compatibility mode setting wasn't being set when an update occurred.
2015-05-01 02:07:19 -07:00
jp9000 6e98fb89f4 obs-filters: Add sharpen filter 2015-05-01 02:07:18 -07:00
kc5nra 5b97cfbbdd obs-ffmpeg: Only set codec ids if format non-null
In the settings if you select default container then the
format becomes null.  If null then audio/video codec ids should
not be set on the output format as they will both be
AV_CODEC_ID_NONE causing a context with no streams specified
to be created (error).
2015-04-26 17:31:21 -05:00
fryshorts 4bf7a7b61e linux-v4l2: Replace custom udev callbacks
Use the signal system provided by obs instead of the custom callback
implementation. This reduces the amount of code and complexity.
2015-04-23 21:50:36 +02:00
fryshorts 34c3be43d1 linux-v4l2: Fix build when missing ENUM_DV_TIMINGS
Add compatibility with older versions of the api by not failing to
build when the VIDIOC_ENUM_DV_TIMINGS is missing. In older versions
of the api there was a different system to get dv-timing presets, which
was replaced by the current enumeration system with Linux 3.4.
This will allow for the plugin to be built against older versions of the
api by disabling the enumeration support, thus reducing the
functionality for some devices.
2015-04-22 20:09:18 +02:00
fryshorts 85518e7cca linux-v4l2: Fix build when missing CAP_DEVICE_CAPS
Improve compatibility with older versions of the api by not requiring
V4L2_CAP_DEVICE_CAPS. If we don't have this, we fall back to using the
capabilities member for the whole device instead of the device_caps
member for the currently selected subdevice. Just like we would do if
the device would not support this.
The new device_caps field was introduced with Linux 3.3.
2015-04-22 20:07:35 +02:00
fryshorts 161552beb8 linux-v4l2: Fix compile error for missing formats
Add ifdefs around the video format definitions in order to allow for
compilation with older kernel headers that don't yet have those defined.
2015-04-20 20:53:30 +02:00
fryshorts 3f4174a8c0 linux-v4l2: Add additional video formats
Add BGRX and BGRA as supported video formats, since obs can handle them
directly. I unfortunately missed those when i initially wrote this
mapping due to my webcam not offering those formats.
2015-04-20 20:09:14 +02:00
jp9000 63b3cfb5b2 obs-outputs: Reset frame drop variables on start
These variables should be reset when a stream is restarted.
2015-04-18 00:47:00 -07:00
jp9000 c33384fe7a obs-ffmpeg: Add support for YUV 4:4:4
Add support for YUV 4:4:4 output (if supported by the encoder currently
in use by FFmpeg)
2015-04-18 00:03:14 -07:00
jp9000 62b2d60580 obs-x264: Call video info func to get format
Call the video information function to determine the video format that
needs to be used to prevent having to use the same code in the update
function.
2015-04-17 20:17:45 -07:00
jp9000 f7f79cc689 obs-x264: Add support for YUV 4:4:4 encoding 2015-04-17 20:17:44 -07:00
jp9000 4d002f588b (API Change) Remove encoder callback boilerplate
API Changed (in struct obs_encoder_info):
----------------------------------------
bool (*get_audio_info)(void *data, struct audio_convert_info *info);
bool (*get_video_info)(void *data, struct video_scale_info *info);

To:
----------------------------------------
void (*get_audio_info)(void *data, struct audio_convert_info *info);
void (*get_video_info)(void *data, struct video_scale_info *info);

The encoder video/audio information callbacks no longer need to manually
query the libobs video/audio information, that information is now passed
via the parameter, which the callbacks can modify.

The refactor that reduces boilerplate in the encoder video/audio
information callbacks also removes the need for their return values, so
change the return types to void.
2015-04-17 20:17:43 -07:00
jp9000 908a165d62 Add planar YUV 4:4:4 format support
Adds the ability to natively output with planar YUV 4:4:4.
2015-04-17 20:16:40 -07:00
GoaLitiuM d23c217237 win-wasapi: Fix capture during silence 2015-04-15 19:42:37 +03:00
jp9000 13051da0e8 win-dshow: Add option to allow vertical flip
I'm putting this option in due to the fact that there are legitimate
cases where a device may flip the output unexpectedly (such as the
Datapath VisionDVI-DL running in RGB video format), and that a user may
want to be able to view the source in a projector or source properties
without the image being inverted.

My original line of thinking was that they can just use a transform to
flip the image, but I felt this problem impacts rendering everywhere,
such as in the projector and in the source properties, so having it as
an option in the source itself feels like the best way to ensure that a
user can get it to render everywhere properly.
2015-04-13 15:13:45 -07:00
vividnightmare f29f286402 obs-ffmpeg: Only set x264 opts if actually x264
Check the actual name of the codec before applying an x264-specific
preset so we don't encounter an "Invalid argument" error when using
other h264 encoders in FFmpeg (such as NVEnc).

Closes jp9000/obs-studio#412
2015-04-11 06:06:04 -07:00
Jim 3fb00756c1 Merge pull request #413 from fryshorts/doc-fixes
Documentation fixes
2015-04-11 05:45:18 -07:00
Palana a5f78e6f92 win-dshow: Update libdshowcapture to 0.5.0
Changes:
- Prevent concurrent calls to EnumDevices (resolves a crash with
  some device filters (like the XCAPTURE-1) with multiple active
  dshow sources)
2015-04-10 22:33:43 +02:00
jp9000 d18a164c78 win-dshow: Update libdshowcapture to 0.4.4
Adds the following changes:
- Prioritize YUV formats over non-YUV formats for performance and to
  prevent intermediary filters
- Directly connect filters when possible to avoid intermediary filters
2015-04-10 07:27:31 -07:00
jp9000 21deb26557 win-dshow: Ensure autoselected FPS updates formats
Fix an issue where if the FPS property is set to "Match Output FPS" it
will not show all the available video formats.
2015-04-10 07:27:30 -07:00
jp9000 75bc7d3153 win-wasapi: Fix timeout bug
The WaitForSignal message is supposed to return return true if the
handle was signaled, not if the wait timed out.
2015-04-10 07:27:29 -07:00
jp9000 1143b1d631 win-wasapi: Prevent repeating connect fail message
Fixes an issue where if the device can't be connected, it will
continually repeat the connection failure message.
2015-04-10 07:27:29 -07:00
jp9000 f3069e3ea5 text-freetype2: Prevent potential null dereference 2015-04-10 07:27:28 -07:00
jp9000 0e2a5d2de2 obs-outputs: Do not drop I-frames
When frames were dropped, it would also drop I-frames, which can mess
with the keyframe calculation of certain services that depend on
I-frames in their output protocol (such as HLS).
2015-04-10 07:27:27 -07:00
fryshorts cee8c6efa6 linux-capture: Fix documentation
Fix argument name in the documentation to match the code.
2015-04-08 23:02:58 +02:00
fryshorts 9734c6a49d linux-v4l2: Fix documentation
Change argument name in documentation to match the code.
2015-04-08 23:02:58 +02:00
fryshorts 707047a31e linux-v4l2: Fix documentation
Remove argument in documentation that does not exist in the code.
2015-04-08 23:02:58 +02:00
Jim 8b472dc3a0 Merge pull request #408 from flibitijibibo/master
Buildfix for older FFmpeg versions (F20 RPMFusion)
2015-04-05 18:20:05 -07:00
jp9000 35a4acede0 mac-capture: Get cursor visible setting on create
When display capture is created, the hide_cursor variable is not
initialized, so just initialize it to the setting in the create
function.
2015-04-02 17:48:22 -07:00
jp9000 a892fa9e33 mac-capture: Fix display capture cursor bug
The kCGDisplayStreamShowCursor option used with the dictionary does not
work if you assign @true or @false to it.  After some testing, it needs
to point to the id cast of either kCFBooleanTrue or kCFBooleanFalse in
order for it to work properly.

If it doesn't use either of those values, the display stream seems to
use its internal default, which on 10.8 and 10.9 is visible, and 10.10+
is invisible, which would explain why people on 10.10 couldn't get the
cursor to capture.
2015-04-02 17:47:53 -07:00
Ethan Lee fd4f2e29aa Buildfix for older FFmpeg versions (F20 RPMFusion) 2015-04-01 06:50:22 -04:00
kc5nra f04be51947 obs-ffmpeg: Set channel layout to avoid warning 2015-03-30 17:58:44 -05:00
kc5nra aa82340a1e obs-ffmpeg: Set stream time_base to avoid warnings 2015-03-30 17:58:44 -05:00
kc5nra c53f8cbed8 obs-ffmpeg: Add format and codec id support
Allow specification of specific codec ids and container
format to muxing.
2015-03-30 17:58:37 -05:00
John Bradley 4c570826c2 obs-ffmpeg: Workaround for a64 encoder bug
the Commodore A64 codecs seem to deref the video frame
too many times causing a crash.  For now just skip if this
codec.
2015-03-30 17:30:38 -05:00
kc5nra f128283655 obs-ffmpeg: Fix outputs without both video/audio
Fixes a crash in formats that don't support both video and audio
streams.
2015-03-30 17:30:38 -05:00
John Bradley fc596f6141 obs-ffmpeg: Fix spurious bad channel layout
Some formats (like WMV) would send out audio packets that
had channels set but did not specify a channel layout.
Solution is to no longer rely on channel layout to get the
channels and just get the channel count directly off the
FFmpeg audio frame.
2015-03-30 10:59:59 -05:00
Jim 1ab1a97b30 Merge pull request #404 from dodgepong/latest-crowdin-translations
UI: Add latest translations from CrowdIn
2015-03-25 18:03:26 -07:00
dodgepong a04548070c UI: Add latest translations from CrowdIn 2015-03-25 20:51:25 -04:00
Jim fc5d335cb6 Merge pull request #403 from Gol-D-Ace/ingest-servers-Vaughn-Live-iNSTAGIB
rtmp-services: Update Vaughn Live / iNSTAGIB.tv ingests
2015-03-25 17:43:18 -07:00
John Bradley 54fdd6555e mac-syphon: Fix NSURL selector compatibility 10.8
Use NSURL path.fileSystemRepresentation to be
compatibile with the 10.8 SDK. This appears to be
a convenience selector and should operate the same.
2015-03-25 19:01:47 -05:00
jp9000 96353332f3 win-capture: Fix game capture acquiring issue
If capture starts too quickly, the file mapping will return 2, which
means file not found, and it would then reset the capture and try again.
Sometimes this would result in long intervals where it wouldn't capture.
This fixes the issue by simply making game capture retry if file mapping
returns error number 2.
2015-03-25 14:14:43 -07:00
jp9000 2f6ba39b41 obs-filters: Add color key filter
Masks out a specific color range in RGB color space.  Commonly used with
solid image data or animated video rather than live video.
2015-03-25 14:14:39 -07:00