Commit graph

1689 commits

Author SHA1 Message Date
jp9000 0bd2e23d14 obs-transitions: Fix potential stinger divide by 0
If the transition point was above or equal to 1.0, it would cause a
divide by 0 error a few lines down.  This could cause audio data to
become corrupted with NAN audio data when mixing, which can cause
certain audio encoders (namely the FFmpeg AAC encoder) to fail.

It was possible for the transition point to be above or equal to 1.0 if
the stinger media file was no longer loadable for whatever reason.
2018-06-11 19:34:07 -07:00
Bjorn 958167c4f7 obs-x264: Specify x264 color space for BT.601
Back in an older commit, the default YUV colorspace was changed to 601
in order to ensure correct playback in video players that ignore the
contents of the H264 header.
x264's "undef" is unfortunately not what players that don't ignore the
header expect for BT.601, resulting in incorrect colors when played
back. Setting it to "bt470bg", similar to what is specified in ffmpeg
outputs, remedies this issue.
2018-06-08 14:40:13 +02:00
Jim d8a1398466
Merge pull request #1308 from RytoEX/fix-mkv-fps
obs-ffmpeg: Set average framerate in video stream
2018-06-06 15:52:12 -07:00
Zachary Lund 698e6418ba obs-filters: Use double-precision where viable
We're expecting a variable with double precision. Since we don't read
the value of these doubles with a particular precision, it can often
lead to unpredictable results where the value set isn't the one
intended due to the loss of precision from float->double conversion.
2018-05-30 14:52:39 -07:00
Ryan Foster 1f592d12aa obs-ffmpeg: Set average framerate in video stream
This commit fixes an issue where videos created with OBS will appear as
having 1000 FPS in some media players.
2018-05-27 00:45:05 -04:00
jp9000 e5f1a93f87 text-freetype2: Remove trailing whitespace 2018-05-08 09:39:04 -07:00
Yvo 43713098d6 text-freetype2: Add chat line count property
Allows the ability to choose the number of chat lines when using the
"Chat log mode" feature.

Closes obsproject/obs-studio#1280
2018-05-08 09:37:39 -07:00
SuslikV a75724d8a5 win-capture: Fix cursor draw size with certain cursors
When drawing cursor to window capture area - use actual resource width
and height instead of system metric values for icons.  Fixes an issue
where under rare circumstances, certain cursors would not draw at the
correct size.

Closes obsproject/obs-studio#1284
2018-05-06 11:38:49 -07:00
Ilya Melamed db06a1c12a win-dshow: Allow synchronous create/update
Allows the ability to (optionally) synchronously create/update a
directshow device source rather than always asynchronously update the
device.  This is useful if creating/destroying scenes/sources very
quickly, and helps minimize the risk of creating new directshow sources
that use the same device, yet may not activate because an existing
source may already exist.  To use, set "synchronous_activate" to true in
its settings when updating or creating.  Note that this setting will be
erased after it's used, and will not be saved to user settings, so it
must be set each time in order to be used.

Closes obsproject/obs-studio#1228
2018-05-05 11:44:14 -07:00
Richard Stanway 4df7914767
win-capture: Update D3D9 signature for Win10 April 2018 Update 2018-05-02 14:00:44 +02:00
jp9000 cf35f15042 obs-browser: Use BGRA textures instead of RGBA 2018-05-01 12:08:46 -07:00
Jim dcbad4af89
Merge pull request #1278 from computerquip-streamlabs/win-capture-shutdown-fix2
win-capture: Avoid obs functions in init_hooks
2018-04-26 15:46:11 -07:00
Andrew Surzhynskyi 174ad29466 rtmp-services: Update ingest list for Restream.io 2018-04-26 19:28:25 +03:00
Jim 273482dbe9
Merge pull request #1265 from comex/aframe
obs-ffmpeg: fill in more fields on audio frames
2018-04-25 05:57:44 -07:00
Zachary Lund 6475a1c000 win-capture: Avoid obs functions in init_hooks 2018-04-24 14:17:28 -07:00
Jim 2ebcd49b08
Merge pull request #1246 from pkviet/onMeta
obs-outputs/flv: Fix ECMA array size
2018-04-20 22:27:37 -07:00
Jim 14b7b4790c
Merge pull request #1213 from TheMuso/vth264-fixes
Vth264 fixes
2018-04-19 22:24:35 -07:00
comex c54cc0bf5b obs-ffmpeg: fill in more fields on audio frames
After you call av_frame_alloc(), ffmpeg expects you to fill in certain
fields on the frame, depending on whether it's an audio or video frame.
obs-ffmpeg did this in the two places where it allocates video frames,
but not where it allocates audio frames.  On my system, using trunk
ffmpeg and the Opus codec, this causes OBS to crash while calling
avcodec_send_frame, ultimately because av_frame_copy fails due to
'dst->format < 0' (as 'format' stays at the default of -1), causing a
null pointer to be added to a buffer queue, which later gets
dereferenced.

Oddly, the fields in question can just be copied directly from
corresponding fields in the AVCodecContext, but I don't see any ffmpeg
API to automatically copy all relevant fields, and all the examples I've
seen do it by hand.  So this patch does the same.
2018-04-18 13:13:48 -07:00
jp9000 30d967eafa obs-browser: Update to browser source refactor 2018-04-14 03:45:07 -07:00
Kilian von Pflugk 531d4cd2a4 rtmp-services: Update recommended parameters for Nood.tv 2018-03-28 20:43:32 +02:00
pkviet ce339ce613 obs-outputs/flv: Fix ECMA array size
Fixes the size of the ECMA array storing onMetadata in flv.
(from 14 to 20).
Fixes ticket 1204.
2018-03-23 19:43:48 +01:00
Colin Edwards 483be6e57c obs-browser: Update submodule to latest version 2018-03-18 14:40:01 -05:00
jp9000 a0cb1f256c obs-browser: Update submodule to latest version 2018-03-17 21:16:30 -07:00
Jim 6eae0b284e
Merge pull request #1236 from subzerobo/rtmp-services-aparat-com
rtmp-services: Update ingest list for Aparat.com
2018-03-17 17:07:51 -07:00
Michael Fabian 'Xaymar' Dirks 7f0576bac6 enc-amf: Version 2.3.3 2018-03-17 19:31:00 +01:00
Ali Kaviani 643c35aa1b rtmp-services: Update ingest list for Aparat.com 2018-03-17 11:43:52 +03:30
jp9000 215589755c mac-capture: Fix bug where audio device couldn't be changed
If the user selected the "default" device for audio capture on mac, it
would no longer be able to be switched to another device due to the
"default_device" variable being set.
2018-03-16 21:13:40 -07:00
Jim 55e1865a73
Merge pull request #1183 from Xaymar/plugin-enc-amf
enc-amf: Version 2.3.2
2018-03-16 19:13:43 -07:00
Kilian von Pflugk 66f3fa2f74 rtmp-services: Update ingest list for Nood.tv
Closes obsproject/obs-studio#1211
2018-03-15 19:02:41 -07:00
Jim 68a51b87e9
Merge pull request #1208 from Dead133/master
rtmp-services: Update ingest list for Restream.io
2018-03-15 18:05:30 -07:00
Jim 47043b2566
Merge pull request #1220 from admshao/opengl-color-info
Opengl color info
2018-03-15 16:36:31 -07:00
Gol-D-Ace 88282c168c Update translations from Crowdin 2018-03-15 09:00:28 +01:00
Shaolin b452338f62 linux-capture: Request at least 8 bits for alpha
10bpc support is under active development all over the linux stack
so while we wait for it to mature, request an alpha size of 8.
2018-03-12 22:36:50 -03:00
jp9000 4b54bde426 cmake, libobs, win-capture: Fix VS2017 warnings 2018-03-12 16:16:38 -07:00
Luke Yelavich 2667ae3fc5 mac-vth264: Fix video info set logic
In the vt_h264_video_info function, the format of the video to be encoded is
always being set to VIDEO_FORMAT_NV12, dispite the presence of code to set
the video format to VIDEO_FORMAT_I420 or VIDEO_FORMAT_I444. This commit fixes
that function to respect the video format choice of the user.

In addition, whilst testing this fix initially, I also discovered that the
4:4:4 colour format is not supported by the VideoToolbox H264 encoder.
Looking at the VideoToolbox code in ffmpeg as a reference, the ffmpeg code
errors out if a color format other than NV12 or I420 is set. Therefore, this
commit also logs a warning about I444 not being supported, and uses the NV12
default.
2018-03-07 14:20:14 +11:00
Luke Yelavich 24d2346a1c mac-vth264: Set the fullrange variable before calling vt_h264_video_info
The fullrange variable is used to set appropriate video format information in
vt_h264_video_info. Set fullrange first so the video format data is correct in
all cases.
2018-03-07 11:59:40 +11:00
Gol-D-Ace 7337b7ffb8 obs-ffmpeg: Fix locale typo 2018-03-01 22:44:43 +01:00
Andrew Surzhynskyi f971e5bf55 rtmp-services: Update ingest list for Restream.io 2018-02-28 11:07:07 +02:00
Jim f3551ff5fa
Merge pull request #1199 from mixer/ftl-update
obs-output: Update ftl-sdk version and ftl logging values
2018-02-27 06:11:00 -08:00
sorayuki e00e081111 image-source: Fade to transparency if slideshow list is cleared
Fixes a bug where the last image would be permanently shown if the user
clears the file list of a slideshow source.

Closes jp9000/obs-studio#1206
2018-02-27 05:51:31 -08:00
Ben Stahl b8402daa2f rtmp-services: Add Vimeo to services list
This commit adds Vimeo RTMP ingest to services.json.

Closes jp9000/obs-studio#1178
2018-02-27 05:41:10 -08:00
jp9000 aa58b9cf5f obs-ffmpeg: Use FFmpeg's "fast" AAC encoder by default
FFmpeg has recently made their "fast" AAC encoder the default, which
uses less CPU and sounds better at common bitrates.
2018-02-26 00:11:30 -08:00
jp9000 a89470d2ea obs-ffmpeg: Remove cutoff hack for AAC encoder
The cutoff hack was added many, many years ago as recommended by
Konverter.  Since then, there has been much work on the AAC encoder, so
this hack should no longer be necessary.
2018-02-25 23:50:09 -08:00
jp9000 26595b58b9 win-mf: Deprecate plugin
The windows media foundation H264 encoders have been deprecated for over
a year, and microsoft's media foundation AAC encoder has had a continued
issue with occasional random audio glitches.  The FFmpeg AAC encoder has
had recent development, and is more than sufficient to be able to handle
the task of encoding in terms of both quality and performance, so it's
better just to use the FFmpeg encoder from here on out.

As this plugin is no longer needed, for the next year or two it'll still
be compiled and included, but as a blank plugin that does nothing.  The
reason why it's still being included as a blank no-operation plugin is
to overwrite older versions of the plugin.  That way if a user installs
a newer OBS version over an older one, it won't load up the older win-mf
plugin where the encoders still were enabled.

This also fixes some rarely reported media foundation crashes that can
happen on startup.
2018-02-25 22:37:56 -08:00
jp9000 8a16fa8341 win-capture/graphics-hook: Fix memory offset calculation
Fixes an issue where align_pos could be smaller than
sizeof(struct shmem_data), potentially overwriting memory of the header.

References jp9000/obs-studio#1202
2018-02-24 21:48:50 -08:00
Shaolin 7f3a6844b5 obs-filters: Clear unused parameter warning
Closes jp9000/obs-studio#1188
2018-02-20 01:33:19 -08:00
astudios123 ef7a64228f rtmp-services: Add SermonAudio to services list
This commit adds SermonAudio RTMP ingest to services.json

Closes jp9000/obs-studio#1190
2018-02-19 20:03:25 -08:00
Quinn Damerell 90d3732247 obs-output: Update ftl-sdk version and ftl logging values 2018-02-15 16:11:23 -08:00
Exeldro 277b664001 obs-ffmpeg: Add speed percentage option
(Note: This commit also modifies the deps/media-playback module.)

Allows modifying the speed of local file playback.

Closes jp9000/obs-studio#1091
2018-02-15 15:18:13 -08:00
jp9000 dc0363d3e8 deps/media-playback: Use a struct for media init data
Instead of using countless parameters for the media initialization data,
use a structure.
2018-02-15 13:32:35 -08:00