2148 Commits

Author SHA1 Message Date
fryshorts
25f71fd71d Improved Documentation and Logging for update in v4l2 plugin.
This adds some documentation to the update function and also
improves the logging by adding some info and bumping errors
to LOG_ERROR.
2014-07-26 19:29:08 +02:00
fryshorts
b88fe5078c Remove the getwidth/getheight functions from v4l2 plugin.
Those functions are actually causing more problems than
helping out with the preview because the width/height is
updated immediately while the actual size of the frames
displayed changes later.
2014-07-26 19:29:08 +02:00
fryshorts
b629087513 Reorganized data struct and update function for v4l2 plugin.
Due to the plugin creating a thread to retrieve and output the
captured image data, care must taken to not modify data the
thread reads from the outside while the thread is running.

In previous revisions some settings accessed by the capture
thread were written to in the update function which could cause
image corruption and in the worst case crashes.

The members of the data struct are now split into two groups,
those that are used by the thread while it is running and must
not be changed from the outside, and those can be changed at any
time.
2014-07-26 19:29:08 +02:00
fryshorts
05ddbeb1fe Add function to prepare frame structure to v4l2 plugin.
This adds a function to prepare the source_frame struct for use
with obs_source_output_video. Since all of the values except for
the timestamp and data pointers are known in before it makes
little sense to compute them over and over again.

Due to the fact that v4l2 uses a single continuous memory segment
for multi planar formats we can also precompute memory offsets for
the planes.
2014-07-26 19:29:08 +02:00
fryshorts
a5e53d5a8d Fix handling of multiplanar pixelformats in v4l2 plugin.
The data provided by v4l2 for multiplanar formats is one
consecutive block that just needs to be splitted for obs.
2014-07-26 19:29:08 +02:00
fryshorts
a6bb42c367 Display emulated formats as such in v4l2 plugin.
Formats that are emulated by v4l2 are marked by appending
"(Emulated)" to them.
2014-07-26 19:29:08 +02:00
fryshorts
9a573bb456 Replace all system calls with there counterpart in libv4l2.
By using the wrapper functions supplied by libv4l2 we gain
support for formats not natively supported by obs.
The library intercepts certain system calls to transparently
enable recoding.
2014-07-26 19:29:08 +02:00
fryshorts
d6f65be966 Add libv4l2 as requirement for the v4l2 plugin.
In order to convert formats not natively supported by obs the
v4l2 userspace library is required. This patch adds a cmake
script to find the library.
2014-07-26 19:29:08 +02:00
benklett
4b2010aa4e Add 720x576 (DV-PAL) as another fallback v4l2 framesize 2014-07-25 15:46:38 +02:00
jp9000
c9e225d719 Prevent loading image files with null/empty paths 2014-07-24 00:25:59 -07:00
jp9000
6db316398b Fix x264 stdint.h message (it's already included) 2014-07-22 23:25:51 -07:00
Palana
263d4ec605 Remove unnecessary compiler flag 2014-07-21 04:49:16 +02:00
Jim
eeb6fc6e9c Merge pull request #180 from fryshorts/v4l2-input
Assorted fixes for the v4l2 plugin
2014-07-18 23:54:47 -07:00
BtbN
38c2fc87aa Move all data into the subdir it belongs to
Completely removes the build dir in favor of cmake based build layouting
2014-07-19 01:38:41 +02:00
BtbN
3b26db389d Fix Jansson dependency importing 2014-07-17 18:13:25 +02:00
jp9000
a01b59fb21 Reset blend state for image source
This is more of a temporary fix for the time being, it needs to handle
blend state changes better, perhaps via push/pop of state changes
2014-07-16 14:53:21 -07:00
fryshorts
87a527701a Use default color space in v4l2 plugin 2014-07-16 23:42:55 +02:00
fryshorts
ba3c093156 Add fallback sizes and framerates to v4l2 plugin.
Until a proper fix is found to support devices that use stepwise
or continuous values for framesize and framerate this adds fixed
values that can be selected.
For devices that support discrete values those are still queried
and used.
2014-07-16 23:42:55 +02:00
fryshorts
27297e7009 Add more logging to v4l2 plugin.
This adds some mostly user focused logging statements.
2014-07-16 23:42:55 +02:00
fryshorts
720f159274 Use macro for prefixing log messages in v4l2 plugin 2014-07-16 23:42:55 +02:00
fryshorts
d8f3761cad Fix a possibly left open file descriptor in v4l2 plugin 2014-07-16 23:42:55 +02:00
fryshorts
d03c94a000 Some minor code refactoring in v4l2 plugin
Small code changes to decrease indentation a little.
2014-07-16 23:42:55 +02:00
Palana
2920281e69 mac-avcapture: Remove debug code 2014-07-16 22:39:00 +02:00
Anry
07ac02e62b Localization correction for image plugin
Closes #181
2014-07-16 02:38:11 +02:00
jp9000
a3293c4cd6 Update libdshowcapture to the latest version 2014-07-15 08:20:47 -07:00
jp9000
4c539a427d Use OBS_CONFIG as version string for the FLV mux 2014-07-14 09:52:36 -07:00
Palana
902874e362 mac-avcapture: Fix logic error in preset list handling 2014-07-13 20:20:07 +02:00
Palana
082e1bff02 mac-avcapture: Remove default device name
No need to give it a name other than the empty string
2014-07-13 20:20:07 +02:00
jp9000
ea3e755427 Log fdk_aac module settings 2014-07-13 03:12:54 -07:00
jp9000
94d047bb69 Log FFmpeg AAC encoder settings 2014-07-13 03:10:16 -07:00
jp9000
c5667a9e46 Log x264 settings 2014-07-13 03:03:31 -07:00
jp9000
2956386109 Make x264 internal logging use the log macros 2014-07-13 03:03:07 -07:00
jp9000
2099ffc33b Fix bug where it would try to set a blank profile 2014-07-13 03:02:18 -07:00
jp9000
5b12a46d41 Use log macros for x264 2014-07-13 03:00:59 -07:00
jp9000
1188ad7561 Fix unreachable code warning 2014-07-12 12:00:12 -07:00
jp9000
f675c8029f Fix 'unused parameter' warnings on windows 2014-07-12 11:59:07 -07:00
jp9000
482791c5b6 Add locale for modules 2014-07-11 17:29:00 -07:00
jp9000
1e7a99eeb4 Rename mac display capture source file
Rename it from mac-screen-capture.m to mac-display-capture.m to be a bit
more consistent
2014-07-11 17:25:53 -07:00
fryshorts
1cf19d06f9 Fix infinite loop in v4l2 plugin
With no device present the capability callbacks would cause an
infinite loop.
2014-07-11 17:48:12 +02:00
jp9000
3394ac6488 Move mac display capture to mac-capture module
It was kind of silly that it was residing within the test-input module.
2014-07-10 21:55:46 -07:00
Jim
83c041e14f Merge pull request #152 from BtbN/cmake_fixes
Cmake fixes
2014-07-10 20:43:23 -07:00
BtbN
d09f6dae1f Don't hardcode include directory for plugins 2014-07-10 14:38:46 +02:00
Timo R
f7b1bfa0a8 Reverse swap red&blue logic 2014-07-10 14:35:03 +02:00
jp9000
8355e8c848 Separate x264 parameters by space
Some x264 parameters actually use the ':' character for their
parameters, so I feel like space would probably be a bit more ideal.
2014-07-09 13:57:52 -07:00
Palana
23a83054b5 Remove AV_REV_FOURCC macro from mac-avcapture 2014-07-08 14:33:29 +02:00
Palana
f57cc56268 Expand frame format support for mac-avcapture
Also add a fallback conversion via AVFoundation in case the native
format isn't supported
2014-07-08 14:31:04 +02:00
Palana
a5108e5fd9 Simplify timestamp handling for mac-avcapture 2014-07-08 14:31:04 +02:00
jp9000
0364672cbb rtmp-stream: Add statistics callbacks
Add callbacks for total bytes sent and number of dropped frames
2014-07-06 17:36:45 -07:00
jp9000
be2b0d1398 rtmp-stream: Change TEST_FRAMEDROPS to just sleep
Instead of making the send buffer size super small, just do a sleep when
sending data to simulate the inability to send out as much data as
desired.
2014-07-06 17:35:26 -07:00
jp9000
7dfb26eb31 Reset blend state to default after drawing 2014-07-03 14:12:48 -07:00