Commit Graph

998 Commits (c42f666b02ca8f51b90900b9fd4ab795152f1881)

Author SHA1 Message Date
jp9000 b7f64c7482 obs-outputs: Use atomic bool functions 2015-11-03 15:03:40 -08:00
jp9000 40250a62f0 obs-outputs: Remove unnecessary variable
The 'stopping' variable is superfluous due to the fact that 'stop_event'
accomplishes essentially the same exact thing.
2015-11-02 18:36:09 -08:00
jp9000 730132853a obs-outputs: Join with correct thread on destroy
If there was an attempt to destroy the rtmp-stream output while it was
already connecting and stopping at the same time, it would try to join
with the stop thread rather than with the connect thread.  The connect
thread would then continue past destruction.
2015-11-02 15:53:12 -08:00
jp9000 3dab1ebb0a obs-outputs: Send stop signal if no service assigned
The code assumed that the service was valid when that may not be the
case by the time it gets to the code.
2015-11-02 15:52:05 -08:00
jp9000 247c6526cf obs-outputs: Assign names to RTMP threads 2015-11-02 14:52:43 -08:00
jp9000 e350eb5a4c obs-outputs: Stop in thread to prevent locking UI
Sometimes stopping a connection can lock up due to data that still
remains to be sent, and this would lock up the thread requesting the
stop (typically the UI thread).  So instead of locking up the calling
thread, spawn a new thread specifically for stopping so the calling
thread can continue uninterrupted.  If the user attempts to reconnect,
it will wait for the stop thread to complete in the connect thread
before attempting to connect.
2015-11-02 14:50:34 -08:00
jp9000 a0e112ffd9 obs-outputs: Remove unused thread return variable 2015-11-02 14:02:27 -08:00
jp9000 a2a372c141 obs-outputs: Log remaining packets 2015-11-02 13:55:52 -08:00
jp9000 8756115f67 obs-outputs: Have a timeout for backed up packets
If packets get backed up for too long of a time, just disconnect instead
of trying to output them all.
2015-11-01 15:13:37 -08:00
jp9000 071222029b obs-outputs: Stop packet input if disconnected 2015-11-01 14:57:55 -08:00
jp9000 3b48817a7b obs-outputs: Fix race condition
It's possible that packets would still be coming in while the packets
were being freed.
2015-11-01 14:52:49 -08:00
jp9000 c9b9811ff2 rtmp-services: Add new service
Adds JOICASTER as a service selection.
2015-10-27 12:38:41 -07:00
jp9000 6ad8df8adb (API Change) libobs: Use single func for base effects
API removed:
--------------------
gs_effect_t *obs_get_default_effect(void);
gs_effect_t *obs_get_default_rect_effect(void);
gs_effect_t *obs_get_opaque_effect(void);
gs_effect_t *obs_get_solid_effect(void);
gs_effect_t *obs_get_bicubic_effect(void);
gs_effect_t *obs_get_lanczos_effect(void);
gs_effect_t *obs_get_bilinear_lowres_effect(void);

API added:
--------------------
gs_effect_t *obs_get_base_effect(enum obs_base_effect effect);

Summary:
--------------------
Combines multiple near-identical functions into a single function with
an enum parameter.
2015-10-19 00:52:45 -07:00
Gol-D-Ace 4b4a13bd17 rtmp-services: Update Twitch ingests 2015-10-17 15:56:58 +02:00
jp9000 6ba5e31d05 coreaudio-encoder: Use byte sequence for non-breaking spaces
Use explicit UTF-8 byte sequence for the "no-break space" character.

Prevents issues with certain editors, and fixes the following compiler
warning on Visual C++:

warning C4819: The file contains a character that cannot be represented
in the current code page (X). Save the file in Unicode format to prevent
data loss
2015-10-15 01:31:19 -07:00
Gol-D-Ace 5aca0a7563 rtmp-services: Remove unnecessary iNSTAGIB.tv entry
iNSTAGIB.tv and Vaughn Live share the same ingestion system. Having
this entry is therefore unnecessary.
2015-10-14 07:21:17 +02:00
jp9000 019f038dbe image-source: Remove unused variable 2015-10-13 19:21:54 -07:00
jp9000 c77544f546 decklink: Add option to select pixel format
This replaces the name-based detection of the 4K intensity pro, and
allows other devices to be able to use the BGRA pixel format, if the
user so chooses.
2015-10-13 19:08:01 -07:00
Gol-D-Ace 2e93772339 rtmp-services: Update Twitch ingests 2015-10-12 19:56:40 -07:00
Richard Stanway 6c15d814bf obs-filters: Null check filter->effect instead of filter
Detected by Coverity Scan (CID 12876, 12877, 12878, 12879)
2015-10-12 23:21:45 +02:00
Richard Stanway 55dd8f8726 obs-ffmpeg: Fix a race condition in create_or_fetch_log_context
Another thread could be manipulating the active_log_contexts array while the current thread is trying to read it, resulting in an uninitialized memory crash as the da_push_back call was not protected by the mutex.
2015-10-12 23:21:45 +02:00
Richard Stanway 7630946874 win-capture: Check return values on Windows API functions 2015-10-12 23:21:45 +02:00
Richard Stanway 8f2460525f win-capture: Fix buffer overrun in get_window_class
Detected by Coverity Scan (CID 12856)
2015-10-12 23:21:44 +02:00
Aarni Koskela 6bc7fc65b3 image-source: Check for file changes
Polls for file changes like the text plugin does.  This is an interim
solution; both the text plugin and image source should use a file
monitoring API, preferably implemented through libobs.

Closes jp9000/obs-studio#482
2015-10-08 03:20:29 -07:00
Richard Stanway d1fbacd784 text-freetype2: Fix loading from files with unicode names 2015-10-08 00:57:12 +02:00
jp9000 667768b96b text-freetype2: Fix garbled rendering if face changed
When using a text file with the source and the font face is changed, it
would cause it to fail to update the glyphs and text accordingly.  It
would trigger an error jump at line 392 of text-freetype2.c, ultimately
resulting in the text to render garbled after that.

How to reproduce:
Set the source to get text from a file, then just change the font face
(but not the size or anything else).
2015-10-05 16:31:35 -07:00
Copy Liu c4f5769df4 text-freetype2: Refresh glype cache after file update
When updating text from file periodically, newer glyphs that weren't
already cached would not end up being rendered.  This fixes the issue by
calling cache_glyphs after the file has been updated.

How to reproduce the original issue:
Set a text-freetype2 source to load an english-only text file.  Then
overwrite the text in the file with non-english characters.  The
non-english characters will then fail to render.

Reported at https://obsproject.com/mantis/view.php?id=336

Closes jp9000/obs-studio#481
2015-10-05 16:00:06 -07:00
jp9000 bdfb52410c text-freetype2: Fix serialized variable size
This variable needs to be the same size for both architectures.  size_t
is 8 on 64bit and 4 on 32bit.
2015-10-05 14:18:56 -07:00
jp9000 b4597218f0 win-capture: Use GetSytemDirectory instead of SH*
Instead of using shell functions to get the windows system directory,
use the kernel32 functions (GetSystemDirectory and
GetSystemWow64Directory).  Reduces a bit of unnecessary overhead.
2015-10-05 14:00:52 -07:00
jp9000 e91f5384b4 text-freetype2: Cache data to reduce load time
This caches the font list data to a file to minimize load times.  Font
data will be refreshed when any font files are added/removed, based upon
a checksum of the font file names and dates (if available).
2015-10-04 21:16:31 -07:00
jp9000 f29ac7770c win-capture: Cache data to reduce load time
Caches the D3D graphics offsets to file for the sake of improving module
load time.  If the D3D/DXGI DLL versions change, the data will be
refreshed.
2015-10-04 21:16:31 -07:00
jp9000 28947e96d7 win-wasapi: Remove resolved TODO comment 2015-10-04 21:15:54 -07:00
jp9000 18542461f2 win-wasapi: Use system timestamps by default for input
Microphones and other input devices can often have bad or erroneous
timestamps.  Although we handle bad timestamps much better in
obs-studio, there are still lingering issues that can crop up from time
to time with device QPC timestamps that leads to mic data not playing
back properly.  It's best if it be off by default rather than on, which
will now cause it to use system timestamps for input devices by default.
This changes it to the same handling as OBS1 for this case.
2015-10-04 21:15:48 -07:00
Jim 8bf95f1a23 Merge pull request #480 from Gol-D-Ace/vaughn-instagib-ingests
rtmp-services: Update vaughn / instagib ingests
2015-09-28 09:46:58 -07:00
Gol-D-Ace 3dc0f0843a rtmp-services: Update vaughn / instagib ingests 2015-09-28 18:42:51 +02:00
jp9000 ef4b826e97 win-dshow: Update to libdshowcapture 0.5.6
Adds LGP Lite capture support
2015-09-22 20:49:03 -07:00
dodgepong 76c18b079b Latest translations from CrowdIn 2015-09-22 23:33:29 -04:00
jp9000 e57aa3cab2 win-capture: Do not reset GL capture if cx/cy is 0
It is not necessary to reset the capture when cx or cy is at 0 because 0
means the application is minimized.
2015-09-22 18:08:20 -07:00
jp9000 7010edee9e win-capture: Fix crash with 64bit bounce hook
The new 'offset' value was not being passed back to the caller, which
caused the caller to continue to use the old value and thus would cause
an invalid hook and crash.
2015-09-22 18:07:50 -07:00
jp9000 12985d7493 win-mf: Don't call CoInitializeEx
The call to CoInitializeEx in the win-mf module caused some sort of
conflict with the decklink module, causing the decklink module to crash
on exit.  Instead, let libobs handle COM initialization.
2015-09-22 11:30:39 -07:00
jp9000 51c4480697 win-capture: Fix infinite GL reacquire loop
If the GL capture part of the game capture hook fails to initialized for
whatever reason, it will go in to an infinite reacquire loop.  If it
fails to initialize shared texture capture, try shared memory capture
instead.
2015-09-21 21:40:01 -07:00
jp9000 7c39eb4ea4 win-capture: Don't hook game if source not showing 2015-09-21 21:38:54 -07:00
jp9000 e10cf47e0d obs-ffmpeg: Fix 'possible loss of data' warnings
Fixes warning:
warning C4244: 'initializing' : conversion from 'int64_t' to 'int',
possible loss of data
2015-09-21 18:35:27 -07:00
jp9000 ec5059cee1 win-capture: Always have some capture FPS limit
For game capture, if a game is running at for example 800 FPS and limit
capture framerate is off, it would try to capture all 800 of those
frames, dramatically reducing performance more than what would ever be
necessary.

When limit capture framerate is off, instead of capturing all frames,
capture frames at an interval of twice the OBS FPS, identical to how
OBS1 works by default.  This should greatly increase performance under
that circumstance.
2015-09-19 09:42:29 -07:00
jp9000 ddcf2436c1 obs-x264: Adjust log message
Use the actual parameter from the x264 params for CRF, and also make
sure to specify that CRF is meant to be 0 if CBR is enabled.
2015-09-19 09:42:24 -07:00
jp9000 606a0fc695 obs-x264: Log CRF value 2015-09-19 08:20:18 -07:00
jp9000 e54118592b obs-ffmpeg: Set colorspace/range hints
Sets the color range/space for FFmpeg output encoders that support it.
2015-09-19 08:20:17 -07:00
jp9000 8d0edc1377 obs-ffmpeg: Send stop signal on unexpected stop
This also adds the ability to detect whether it stopped due to lack of
space or not -- particularly useful for the FFmpeg output due to
lossless file format support.
2015-09-19 08:20:07 -07:00
jp9000 b96f15a625 obs-ffmpeg: Do not require encoder ids to be set
For the FFmpeg output, the encoder ids are sort of superfluous.  They
really should be optional.  If they're not set, it should use the
encoder name string instead to determine the ids automatically.
2015-09-18 22:11:49 -07:00
jp9000 e077880ab5 win-mf: Clean up encoder logging 2015-09-17 17:41:03 -07:00
jp9000 8280dbc596 win-mf: Do not register encoder if it can't create
It seems that certain encoders (quicksync) do not have proper back-end
support in the windows media foundation libraries for certain CPUs.
Quicksync doesn't appear to support CPUs that are not haswell (4xxx) or
above.  It's really annoying, but there's not much we can do about it
until we implement our own custom quicksync implementation.

This check simply makes it attempt to spawn an encoder to check to see
whether the encoder can actually be created before registering an
encoder.
2015-09-17 16:52:53 -07:00
jp9000 c107181b9f obs-outputs: Stop output after joining send thread
The encoders were stopping before processing was completed, which could
cause the output to access data that's potentially invalidated.
2015-09-17 14:17:41 -07:00
jp9000 88996aef73 win-mf: Fix more issues on encoder shutdown
The previous commit (672378d20) was supposed to fix issues with the
encoder releasing while data was still being processed, but did not
account for when the encoder has never started up.  That was my fault.

Furthermore, the way in which it was waiting to drain events was
incorrect.  The encoder may still be active even though there aren't any
events queued.  The proper way to wait for an async encoder to finish up
is to process output samples until it requests more input samples.
2015-09-17 13:42:43 -07:00
jp9000 672378d202 win-mf: Drain events before releasing encoder
After I made it so that the encoder internal data gets destroyed when
all outputs stop using it (fa7286f8), the media foundation h264 encoder
started having crashes on shutdown.  After a lot of testing, I realized
that the reason it started happening is almost assuredly because active
encoding events had not yet been completed.

After making it wait on those events by calling DrainEvents(true), the
crashes stopped.  So asynchronous actions were clearly still occurring
and it was shutting down while data was still being processed, thus
leading to a crash.
2015-09-16 19:34:53 -07:00
Jim 7788ccdd86 Merge pull request #476 from bssteph/master
Clean up Intensity Pro 4K commit a bit
2015-09-16 17:48:36 -07:00
kc5nra 595f451eb7 mac-vth264: Add Apple H264 encoder
Adds a VideoToolbox based H264 encoder for OSX, which most notably
allows the use of hardware encoding (Quicksync).

NOTES:
- Hardware encoding is handled by Apple itself internally.  The plugin
  itself has little control over many details due to the way that Apple
  designed the VideoToolbox interface.  Generally however, quicksync is
  used if available on the CPU, and quicksync is almost always available
  due to the fact that macs are exclusively Intel.

- The VideoToolbox does not seem to implement CBR, so it won't be
  available.  These encoders are generally not recommended for
  streaming.
2015-09-16 16:43:53 -07:00
jp9000 afa2985f64 win-mf: Add media foundation h264 encoder
Implements hardware encoders through the Media Foundation interface
provided by Microsoft.

Supports:
- Quicksync (Intel)
- VCE (AMD)
- NVENC (NVIDIA, might only be supported through MF on Windows 10)

Notes:
- NVENC and VCE do not appear to have proper CBR implementations.  This
  isn't a fault of our code, but the Media Foundation libraries.
  Quicksync however appears to be fine.
2015-09-16 15:16:26 -07:00
jp9000 6285a47726 (API Change) libobs: Pass type data to get_name callbacks
API changed from:
obs_source_info::get_name(void)
obs_output_info::get_name(void)
obs_encoder_info::get_name(void)
obs_service_info::get_name(void)

API changed to:
obs_source_info::get_name(void *type_data)
obs_output_info::get_name(void *type_data)
obs_encoder_info::get_name(void *type_data)
obs_service_info::get_name(void *type_data)

This allows the type data to be used when getting the name of the
object (useful for plugin wrappers primarily).

NOTE: Though a parameter was added, this is backward-compatible with
older plugins due to calling convention.  The new parameter will simply
be ignored by older plugins, and the stack (if used) will be cleaned up
by the caller.
2015-09-16 09:21:12 -07:00
Palana 386ee73443 obs-ffmpeg: Add custom muxer settings
This allows changing e.g. the number of segments in a hls playlist and
its caching behavior with:
"hls_allow_cache=1 hls_list_size=0"
2015-09-16 10:47:58 +02:00
Palana d8723dbd40 obs-ffmpeg: Set FFmpeg AVFormatContext filename
This is used by some muxers that set AVFMT_NOFILE and doesn't seem to
hurt muxers that don't set it; notable this makes the hls muxer output
its m3u8 playlist with the proper filename in the proper directory
2015-09-16 10:27:35 +02:00
Brian S. Stephan ec9d2b42c4 decklink: detect BMDPixelFormat in instance constructor
cleaning up my previous commit a bit. we can just keep the
appropriate BMDPixelFormat as a data member and keep StartCapture() a
bit clearer.

this might also be helpful if (when?) the detection code needs to be
more robust or configurable
2015-09-15 22:48:00 -05:00
Brian S. Stephan 90a138ac13 decklink: capture in RGB for BMI Intensity Pro 4K
detect the device type when initializing the device instance and
determine whether to capture YUV or RGB. tested with a Blackmagic
Intensity Pro and a Blackmagic Intensity Pro 4K in the same machine,
capturing at the same time, on Linux
2015-09-14 23:38:38 -05:00
Mathias Panzenböck b266b563fa obs-ffmpeg: Fix compile error
This fixes the compile error: "'AVDISCARD_NONINTRA' undeclared" when
using a libavcodec version earlier than 55.67.100.

Closes jp9000/obs-studio#469
2015-09-12 22:14:24 -07:00
hwdro fc19d9d11b obs-filters: Fix noise-gate calculation errors
For both cases the cur_level calculations were "wrong". For one channel
case, I assume that was only an oversight, as for two channels case
cur_level "calculation", getting the level from downmixing to mono will
result in an attenuated level than expected. One solution is to use the
highest level of both channels to drive the gate.
2015-09-09 18:07:30 +03:00
Radzaquiel ee62910014 rtmp-services: Update Hitbox servers list
Added: EU-East (Vienna, Austria)
2015-09-05 18:07:29 +02:00
jp9000 13d22645e4 win-capture: Use correct variable for system modules
..This is rather embarrassing.  I used the parameter variable and the
actual variable that I wanted to used went completely unused.  Would
static analysis catch something like this, I wonder?  Would probably
have to be really good static analysis.
2015-08-29 21:03:54 -07:00
Gol-D-Ace 3cc98e734a rtmp-services: Add YouTube Gaming reference
YouTube Gaming is live since today (26 August 2015) and people will ask
for it.
This makes it a bit clearer that YouTube and YouTube Gaming
(which share the same ingestion system) work with OBS MP.
2015-08-26 21:15:50 +02:00
jp9000 657619e642 win-dshow: Update libdshowcapture to 0.5.5 2015-08-23 20:27:26 -07:00
jp9000 be5283bb51 rtmp-services: Fix warnings for updater 2015-08-19 17:47:25 -07:00
jp9000 1a842ecd15 rtmp-services: Automatically update services.json
Uses the file-updater utility library to update the services.json file.
If the remote version is incompatible or corrupted, will reject the
file.
2015-08-19 16:26:22 -07:00
jp9000 68d2dab6fd rtmp-services: Use cached services.json if present
This will use the services.json file present in the cache, or if it has
the wrong format version or is corrupted for whatever reason, uses the
local version instead.

Also a minor refactor, makes it so that you call the open_services_file
function to get the services array, rather than having to get the file
name each time.
2015-08-19 16:21:58 -07:00
jp9000 b5f1bbdd4c rtmp-services: Add format_version to services.json
The entire services file had to be restructured, but this allows us to
be able to change the format of the json file safely (if ever needed).
2015-08-19 16:19:03 -07:00
jp9000 d08701338f rtmp-services: Add get_int_val hepler function
This is just for accessing a json object.  I should be using obs_data_t
for this instead of json directly, but it doesn't really matter.
2015-08-19 15:46:28 -07:00
jp9000 d5ebe48180 Revert "win-capture: Use texture for actual source size"
This reverts commit 74354dc4cf.  I really
shouldn't have modified this, especially not in this way.  Was the wrong
approach.  The thing I was trying to fix was very rare as well.
2015-08-16 12:52:09 -07:00
jp9000 f6f7388599 rtmp-services: Fix warning
The return value is supposed to be a boolean value; not NULL.
2015-08-16 10:37:40 -07:00
Gökberk Yaltıraklı 8efbcc599a linux-capture: Try to reacquire lost windows
When a window being captured is closed, it never tries to reacquire.
This just searches for the window in video_tick and reacquires if the
currently set window is found again.

Closes jp9000/obs-studio#465
2015-08-16 09:35:10 -07:00
jp9000 3b8addba3e rtmp-services: Add streamup to services 2015-08-16 08:08:13 -07:00
jp9000 b373f82c9e rtmp-services: Add WatchPeopleCode to services 2015-08-16 08:08:13 -07:00
jp9000 a61758c701 rtmp-services: Add restream.io to service list 2015-08-16 08:08:13 -07:00
jp9000 4c724485ae rtmp-services: Rearrange services 2015-08-16 08:08:13 -07:00
jp9000 1f31fa803b rtmp-services: Remove gaminglive.tv
Apparently the site has been dissolved and/or bought out.  It seems it
will reform as something else later on in the future.
2015-08-16 08:08:13 -07:00
jp9000 9499ffc1d2 rtmp-services: Add rtmp URL lookup config file
This URL is set via cmake instead of being baked in to the actual source
code.
2015-08-16 08:08:13 -07:00
jp9000 1c5a071eb8 rtmp-services: Add "Show all services" option
I made the rather tough call of not showing all services by default; I
didn't want to have to do this, but too many services are asking to be
put in to the program, and any time I add a service in to the list, I
feel uncomfortable because I feel like I'm potentially advertising them,
and/or they're using our program to advertise as well.  Some of these
services are particularly bad at policing illegal/copyrighted content,
host content that I personally find distasteful or incredibly stupid
(what the heck is up with these "vaping" streams?), or are just fairly
terrible websites in general that I just feel uncomfortable with showing
by default.

However, I do not really want to reject anyone either, I want to let
their users be able to use our program with relative ease, but more than
anything I just simple don't want to be seen as "endorsing" some of
these websites (more than others in particular).  I know that a "show
all services" checkbox is probably pretty pointless/superfluous thing to
do, but I feel like it's at the very least a means of saying "hey, I
don't really endorse these guys," or "use at your own risk," or
"warning: this website is incredibly terrible."

Honestly, I couldn't really think of any better solution that would
 a.) still list all services without outright censoring them, and
 b.) prevent us from being seen as "endorsing" all services.

(Although maybe this whole thing feels a bit.. passive aggressive.  I
feel like I'm tipping over someone's garden gnome in the middle of the
night while they're sleeping.  Still, it's something.)

NOTE: This code is backward compatible; i.e., if you previously had a
service selected that's not common but don't have the "show all"
checkbox checked, it'll still show that service for convenience.
2015-08-16 08:08:13 -07:00
jp9000 61d86d938a rtmp-services: Always use CBR for all services
Services almost always recommend this be enabled, and I generally want
to make configuration easier for users; with CBR they don't have to set
things like the CRF value.
2015-08-16 06:43:43 -07:00
jp9000 1ca065b0f2 obs-outputs: Use name and version for encoder
My fault; should have realized that this would be better to do.  Uses
"obs-studio" as the name, and includes the version (same format as the
others)
2015-08-14 17:49:21 -07:00
Marc Chambers db6d9bb042 obs-outputs: Include encoder name in RTMP flashVer
This will help ensure the receiving end knows that OBS is being used.

Closes jp9000/obs-studio#464
2015-08-14 15:58:55 -07:00
kc5nra 34b95eff8a obs-ffmpeg: Sychronize logging on log context
Different logging can occur from different contexts.
This adds isolation for each context passed to the
AV log.
2015-08-14 07:53:52 -07:00
John Bradley 6e69b0f4f0 obs-ffmpeg: Move log callback up to plugin scope 2015-08-14 07:53:51 -07:00
John Bradley d04fbd7549 obs-ffmpeg: Log source info on update/create
Adds a log message whenever the source is created or updated
containing all the properties set to help debugging remote
users' problems.
2015-08-14 07:53:50 -07:00
John Bradley 78d5240e18 obs-ffmpeg: Add more informative logging to source 2015-08-14 07:53:48 -07:00
John Bradley 207203d104 obs-ffmpeg: Normalize ffmpeg source argument name 2015-08-14 07:53:47 -07:00
John Bradley 59482ec29b obs-ffmpeg: Normalize video frame method arguments 2015-08-14 07:53:46 -07:00
kc5nra 34cc2438c1 obs-ffmpeg: Output ffmpeg messages line by line 2015-08-14 07:53:45 -07:00
Palana 5727dc2a3b coreaudio-encoder: Add explicit initialization
Microsoft's C++ compiler doesn't initialize all members properly without
this
2015-08-12 19:15:21 +02:00
Palana 7ad7142bd3 coreaudio-encoder: Replace darray with std::vector
The single darray solution was potentially unsafe since you're not
allowed to modify the (encode) buffer between calls to
complex_input_data_proc which is potentially violated if the darray
had to be resized due to capacity being < 2 * in_bytes_required
2015-08-12 19:03:41 +02:00
Palana 13681e9b1c coreaudio-encoder: Fix registering non-existing functions 2015-08-12 15:47:38 +02:00
Haden F a14d242369 rtmp-services: Fix YouTube name capitalization
Closes jp9000/obs-studio#462
2015-08-10 18:20:41 -07:00
Palana fcfe891dcf coreaudio-encoder: Update bitrate property on sample rate modification 2015-08-10 16:35:04 +02:00
Palana eb5745a363 coreaudio-encoder: Add output sample rate setting/property 2015-08-10 16:35:04 +02:00
Palana 5172328ad9 coreaudio-encoder: Add AudioFormat property enumeration helpers 2015-08-10 16:35:04 +02:00
Palana 966b4d97e0 coreaudio-encoder: Make bitrate enumeration samplerate-aware 2015-08-10 16:35:04 +02:00
Palana 15a32530f0 coreaudio-encoder: Undef 'local' macro 2015-08-10 16:27:53 +02:00
Palana f786f89e35 coreaudio-encoder: Remove unused (obsolete) functions 2015-08-10 16:27:53 +02:00
Palana 6ad48ddb20 coreaudio-encoder: Update default bitrate matching/logging 2015-08-10 16:27:53 +02:00
Palana 27761f9b7a coreaudio-encoder: Update bitrate property enumeration/logging 2015-08-10 16:27:53 +02:00
Palana c55643c488 coreaudio-encoder: Refactor get_default_converter helper 2015-08-10 16:27:52 +02:00
Palana ecbe5988cd coreaudio-encoder: Make initialization logging less verbose 2015-08-10 16:27:52 +02:00
Palana 9b1095feb5 coreaudio-encoder: Add bitrate enumeration helper with better logging 2015-08-10 16:27:52 +02:00
Palana 5d2fa5685c coreaudio-encoder: Add more logging helpers 2015-08-10 15:55:34 +02:00
Palana d6b0a60327 coreaudio-encoder: Move to C++ 2015-08-10 15:54:31 +02:00
Palana 02a09fdee3 coreaudio-encoder: Fix whitespace/indentation 2015-08-10 15:54:31 +02:00
jp9000 96dc5f796e win-capture: Add more d3d9 exceptions for win 10
Adds exceptions for D3D9 version 10.0.10240.16412.
2015-08-07 21:27:35 -07:00
jp9000 05eef74891 mac-capture: Don't call CFRelease on null vars
CFRelease is not meant to be used with null variables.  Check the
variables before calling CFRelease.
2015-08-03 00:08:03 -07:00
jp9000 927a90cfa7 win-capture: Use get_win_ver (not GetVersionEx) 2015-08-01 14:51:24 -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 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
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 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 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
Gol-D-Ace e4d0b54a0d rtmp-services: Update twitch.tv ingests 2015-07-16 07:14:08 +02:00
Gol-D-Ace ca64755d9b rtmp-services: Update twitch.tv ingests 2015-07-14 02:12:50 +02: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
Jim 139832db11 Merge pull request #452 from chaironeko/fix-auth-streams
Fixes for Authenticated RTMP streams
2015-07-11 20:52:09 -07:00
Jess Mayo f1a6b37e8e obs-outputs: Add bounds checking to b64enc
This fixes "warning: unused parameter 'maxsize' [-Wunused-parameter]"
introduced when authentication was turned on.
2015-07-12 12:34:47 +09:00
jp9000 bf1d07f513 win-capture: Fix bad return type
This was casting the return type to bool, which caused any non-zero
return code be converted to 1.
2015-07-11 15:36:53 -07:00
jp9000 45ed0a39a8 win-capture: Don't mark string mem. as executable
This is writing a string which LoadLibraryW can read in the target
process; it's not being executed so there's no reason to mark it as
executable.
2015-07-11 15:35:31 -07:00
jp9000 0833651adc win-dshow: Update libdshowcapture to 0.5.4 2015-07-11 15:33:57 -07:00
jp9000 2bf764a721 win-mf: Remove unused variable 2015-07-11 14:26:53 -07:00
jp9000 bdc1a052fe win-dshow: Fix mingw compiler errors/warnings 2015-07-11 14:26:52 -07:00
jp9000 931f42dab1 win-capture: Fix mingw compiler warnings 2015-07-11 14:26:51 -07:00
jp9000 845a9d2f1a decklink: Fix mingw compiler warnings 2015-07-11 14:26:50 -07:00
jp9000 aa0e64b7c9 coreaudio-encoder: Fix mingw warnings 2015-07-11 14:26:49 -07:00
Taylor Blau 0cf68a16fb rtmp-services: enable CBR for beam.pro 2015-07-11 15:54:29 -04:00
Jess Mayo cec88d2897 obs-outputs: Fix stuck "Connecting" with no key
With no stream key, no streams were actually being created.
This is a crazy configuration anyway, but it resulted in OBS getting
stuck in the "Connecting" state with no way to cancel.
We now just use the blank key and hope for the best.
2015-07-11 14:01:11 +09:00
Jess Mayo 1682d77df3 obs-outputs: Fix rtmp authentication
Reinstate flag checks in RTMP_Close that were erroneously removed.

Clear out the Link state before we establish a new connection. There is
too much state carried around during authentication that has no good
place to clear it in librtmp, which assumes a clean structure when the
connection is initially established.
2015-07-11 13:53:07 +09:00
Taylor Blau fb4bee25df rtmp-services: Update Beam's recommended settings 2015-07-10 16:49:48 -04:00
jp9000 0b2e1d6a9c win-mf: Fix bug where 48khz wouldn't work
This bug corrupted the audio headers due to mis-use of operator
precedence.
2015-07-09 10:45:24 -07:00
jp9000 ad3d448f19 obs-ffmpeg: Use actual audio encoder sample rate
Uses the sample rate the audio encoder is running at for ffmpeg muxing
(in case the audio sample rate had to be changed by the encoder)
2015-07-09 10:44:24 -07:00
jp9000 50b47a6861 obs-outputs: Use actual audio encoder sample rate 2015-07-09 10:43:32 -07:00
jp9000 3ef3ce29e4 win-capture: Update d3d9 hooks for win10 preview 2015-07-08 12:50:27 -07:00
Jim fff323a0d5 Merge pull request #450 from dodgepong/latest-crowdin-translations
Add latest translations from CrowdIn
2015-07-08 12:04:30 -07:00
dodgepong fb679bdd02 Add latest translations from CrowdIn 2015-07-08 14:56:07 -04:00
Jim e28f2690dd Merge pull request #449 from chaironeko/mantis-163-quit-crash
obs-outputs: Fix crash with quit while connecting
2015-07-07 23:09:26 -07:00
John R. Bradley 3ae747dd50 win-mf: Add Media Foundation AAC Encoder
Adds Microsoft Media Foundation AAC Encoder that supports
96k to 192k bitrates.  This plugin is only enabled on Microsoft
Windows 8+ due to performance issues found on Windows 7.
2015-07-07 23:05:44 -07:00
Jess Mayo 9f0abd69d1 obs-outputs: Fix crash with quit while connecting
We need to stop the stream even if it hasn't finished opening yet,
to make sure threads are cleaned up properly.
2015-07-08 13:12:47 +09:00