1246 Commits

Author SHA1 Message Date
jp9000
7dfb26eb31 Reset blend state to default after drawing 2014-07-03 14:12:48 -07:00
jp9000
57cfd4f991 Implement function to reset blend state
I was implementing a pushing/popping attributes function like with GL,
but I realized that for our particular purposes (and actually for most
purposes) its usage was somewhat..  niche.  I may still implement
pushing/popping of attributes in the future, though right now I feel
using a function to reset the state is sufficient for our purposes.
2014-07-03 14:11:30 -07:00
Jim
e4772a50b0 Merge pull request #135 from palana/dshow-property-data-changes
Implement recent property and data changes for win-dshow
2014-07-03 12:02:24 -07:00
Jim
423cbf7e82 Merge pull request #136 from doctorluk/patch-1
Update de.txt
2014-07-03 10:50:56 -07:00
Lukas Monka
3f47e3b4a6 Update de.txt
Fixed some typos and missing commas.
2014-07-03 18:01:19 +02:00
jp9000
d4cf9db638 Remove unnecessary context initialization code
There was no need to call the context free function in the
initialization function, and it's safer to just initialize the memory to
0 before using (which also negates the need for da_init)
2014-07-02 21:05:46 -07:00
jp9000
87475cdf89 Add rename cache for thread safety
This just ensures that if an obs object is renamed that the pointer to
older names will still be valid.  Prevents renames from causing any
invalid memory access.

When the obs object is destroyed, so are the cached names.
2014-07-02 20:58:30 -07:00
jp9000
4f2a731acf Implement reconnecting
The core itself now provides reconnection options (enabled by default, 2
second timeout between reconnects, 20 retries max until actual
disconnection occurs).  This will make things easier for both module
developers and UI developers.

Reconnecting treats the stream as though it were still active, and
signals are sent when reconnecting and upon successful reconnection.

Need to implement user interface information for reconnections.
2014-07-02 20:39:39 -07:00
jp9000
8dd4e7d5a2 Increase warning level to 4 for VS project files 2014-07-02 11:37:27 -07:00
Palana
d79b28e9ba Add FPS entries "Highest" and "Match OBS FPS" for win-dshow 2014-07-02 19:37:50 +02:00
Palana
45d42af46c Add name for VideoFormat::Any 2014-07-02 19:37:50 +02:00
Palana
1052590aa5 Implement frame rate autoselection for win-dshow device update 2014-07-02 19:37:49 +02:00
Palana
2bf0163aa5 Update config modified callbacks with disable/autoselection semantics
Autoselection is only implemented for frame rate as it doesn't make
sense to autoselect the video format (Any fills the role of library
supplied autoselection) or the resolution (it may make sense to
implement resolution matching based on the current transformation
settings in the future though)
2014-07-02 19:37:43 +02:00
Palana
2702259c75 Add DecodeDeviceId helper with DStr targets 2014-07-02 19:31:53 +02:00
Palana
fdc2ebf980 Add FPS/VideoFormat to name conversion helpers 2014-07-02 19:31:52 +02:00
Palana
453a8b21cd Add device caps matching helpers 2014-07-02 18:22:03 +02:00
Palana
f854ac7b78 Remove user config modifying code 2014-07-02 17:55:05 +02:00
Palana
765d2e89f4 Use <limits> instead of constant 2014-07-02 17:42:20 +02:00
Palana
a7cc60ec11 Refactor resolution, frame rate, and video format matching in win-dshow 2014-07-02 17:40:55 +02:00
jp9000
0b398cfad9 rtmp-stream: Log when user stops the stream 2014-07-02 00:24:55 -07:00
jp9000
697acbb4d5 rtmp-stream: Use helper log macros
Use warn/info/debug helper macro functions to output
warnings/information/debug log data that's preformatted to include the
module and the current output name.
2014-07-02 00:20:50 -07:00
jp9000
267af930ab Add obs_output_getname
This will get the user-defined name of the output (if any)
2014-07-01 16:29:38 -07:00
jp9000
de478d3295 Change drop threshold to macro, use milliseconds
Like with other plugins, a macro is ideal for preventing typos and
misspellings of the setting.  Also, add a property for drop threshold.
2014-07-01 15:08:01 -07:00
jp9000
a527f30b94 rtmp-output: Remove unused properties 2014-07-01 15:05:15 -07:00
jp9000
058f3ca7b0 Remove FILE_TEST macro from rtmp-stream.c 2014-07-01 13:41:55 -07:00
jp9000
5c5f63e8b8 Output version/commit to RTMP stream metadata
Might come in useful for debugging issues later on.
2014-07-01 13:41:32 -07:00
jp9000
c7bb73fe07 Implement high encoder CPU usage handling
This implements the 'frame skipping' mechanism to forcibly cause frames
to be duplicated in order to reduce encoder complexity so the encoder
can catch up to the video, otherwise it will continue to be
progressively behind and will cause a desync of the video.

Typically, if a user gets this issue, they should turn down their
settings.  For the love of god do not tell them that 'frames are
skipping', just tell them that CPU usage is high, and that they should
consider turning down their settings.
2014-07-01 11:01:22 -07:00
Jim
52f2afa115 Merge pull request #134 from Arkkis/patch-2
Update fi.txt
2014-07-01 10:56:35 -07:00
Arkkis
f022bd4ab4 Update fi.txt 2014-07-01 13:28:09 +03:00
jp9000
18966a9ca0 Implement 'Order' menu
Contains Move Up, Move Down, Move to Top, Move to Bottom.  Also assigns
Ctrl-Up, Ctrl-Down, Ctrl-Home, Ctrl-End to each action.

This was also added to the right-click context menu popup for sources.
2014-06-30 19:47:06 -07:00
jp9000
0b52828086 Remove 'remove item' action, clean up code
The removeItemAction just for a keyboard shortcut was unnecessary.
Instead, use the toolbar button to associate a shortcut with, and remove
the removeItemAction object.
2014-06-30 18:21:40 -07:00
jp9000
c48ec48765 Implement 'scenes' list context menu 2014-06-30 16:03:12 -07:00
jp9000
66c3c862e4 Make 'remove' toolbar buttons query for removal 2014-06-30 13:47:51 -07:00
Jim
476fa6b757 Merge pull request #133 from BtbN/cmake_magick
Require correct cmake version everywhere
2014-06-30 10:19:56 -07:00
BtbN
b4982a5822 Require correct cmake version everywhere 2014-06-30 18:37:09 +02:00
jp9000
ff2a2cceb3 Implement context menu on 'sources' box 2014-06-30 01:13:32 -07:00
jp9000
67440b92b5 Fix renaming bugs, deny if empty, and simplify
I screwed it up a bit originally, using && instead of ||.

Use 'trimmed' function to prevent sources with leading or trailing
whitespace.

Also, do not allow an empty value.
2014-06-30 01:08:12 -07:00
jp9000
68c8fa3e17 Do not rename items if the name is the same 2014-06-30 00:40:51 -07:00
jp9000
11a7b57cd8 Implement renaming of scenes/sources 2014-06-30 00:18:44 -07:00
jp9000
dc27cb2051 Add signal for renaming sources 2014-06-30 00:05:35 -07:00
jp9000
25780b3ce0 Fix renderer listbox to be a global config setting
The current renderer should be a global config setting, not a local
setting.
2014-06-29 20:23:40 -07:00
jp9000
269a91f522 Give the 'add source' popup the 'Add' title
This allows the popup to be appended directly as an item for other
popups.
2014-06-29 18:43:54 -07:00
jp9000
3f262b8a4a Use signal/slot when creating a source via popup
I realized that there's no other way to share the menu if I want to add
it as a sub-menu somewhere else.
2014-06-29 17:33:40 -07:00
jp9000
d098087b06 Set default blend function to srcalpa/invsrcalpha 2014-06-29 11:43:52 -07:00
jp9000
7e06af1aa8 Don't use swscale if format is supported 2014-06-29 10:57:20 -07:00
jp9000
f313aaa5a6 Fix bug magickcore file loading freeze
This seemed to happen if the 'file' variable was NULL.  For some reason,
magickcore would just totally freeze.
2014-06-28 18:52:13 -07:00
jp9000
f61de450d1 Add '.directory' to .gitignore 2014-06-28 18:51:38 -07:00
Jim
3a3cf43e46 Merge pull request #132 from BtbN/cmake_magick
cmake support for ImageMagic vs. libavcodec
2014-06-28 12:03:15 -07:00
BtbN
8b14aa8f4a Add missing header to CMakeLists.txt 2014-06-28 20:54:14 +02:00
BtbN
17a9fcaafb Use propper ffmpeg compatiblity instead of relying on deprecated functions 2014-06-28 20:54:14 +02:00