- 28 2月, 2014 7 次提交
-
-
-
由 jp9000 提交于
Also, make it use 'veryfast' preset. Still testing this, might have to revise this later.
-
由 jp9000 提交于
The mutex must be unlocked regardless of what the return value is or it will be locked forever if the return value isn't 0.
-
-
由 jp9000 提交于
After a mac just boots up, it often takes about 700 milliseconds for audio devices to work on first use, so it would often have issues with the 700ms audio buffering time, and audio data would get cut off. Just increasing the buffering a little bit fixes the issue.
-
-
由 jp9000 提交于
-
- 27 2月, 2014 10 次提交
-
-
由 jp9000 提交于
Forgot to add a '!'.
-
由 jp9000 提交于
-
由 jp9000 提交于
-
由 jp9000 提交于
Actually, if initializing failed at all, it would never properly uninitialize because the 'initialized' variable was never set until the very end. Instead, set the "initialized" flag from the beginning to ensure initialization.
-
由 jp9000 提交于
If coreaudio_start failed, it wouldn't free the audio data properly. Fixed that issue.
-
-
由 jp9000 提交于
These address structures are very confusing and I wish apple designed better system APIs.
-
由 jp9000 提交于
Last commit was on mac so I was unable to incude the VS project files additions for threading-windows.c.
-
由 jp9000 提交于
Was pointing to a bad filename for the new threading stuff
-
由 jp9000 提交于
- Add CoreAudio device input capture for mac audio capturing. The code should cover just about everything for capturing mac input device audio. Because of the way mac audio is designed, users may have no choice but to obtain the open source soundflower software to capture their mac's desktop audio. It may be necessary for us to distribute it with the program as well. - Hide event backend - Use win32 events for windows - Allow timed waits for events - Fix a few warnings
-
- 24 2月, 2014 7 次提交
-
-
由 jp9000 提交于
-
由 jp9000 提交于
FFmpeg test output wasn't make any attempt to sync data before. Should be much more accurate now. Also, added a restart message to audio settings if base audio settings are changed.
-
由 jp9000 提交于
-
由 jp9000 提交于
the signals for scenes could have potentially conflicted with default source signals. "remove" should be used for source removal, for example. Changed the scene signals to "item-add" and "item-remove" for its items.
-
由 jp9000 提交于
Resetting audio while libobs is active is a real pain. I think I'm just going to do audio resetting later, or maybe just require restart regardless just because having to shut down audio streams/lines while there's sources currently active requires recreating all the audio lines for each audio source. Very painful. Video fortunately is no big deal, so at least there's that.
-
由 jp9000 提交于
Split off activate to activate and show callbacks, and split off deactivate to deactivate and hide callbacks. Sources didn't previously have a means to know whether it was actually being displayed in the main view or just happened to be visible somewhere. Now, for things like transition sources, they have a means of knowing when they have actually been "activated" so they can initiate their sequence. A source is now only considered "active" when it's being displayed by the main view. When a source is shown in the main view, the activate callback/signal is triggered. When it's no longer being displayed by the main view, deactivate callback/signal is triggered. When a source is just generally visible to see by any view, the show callback/signal is triggered. If it's no longer visible by any views, then the hide callback/signal is triggered. Presentation volume will now only be active when a source is active in the main view rather than also in auxilary views. Also fix a potential bug where parents wouldn't properly increment or decrement all the activation references of a child source when a child was added or removed.
-
由 jp9000 提交于
Implement a few audio options in to the user interface as well as a few inline audio functions in audio-io.h. Make it so ffmpeg plugin automatically converts to the desired format. Use regular interleaved float internally for audio instead of planar float.
-
- 23 2月, 2014 1 次提交
-
-
由 jp9000 提交于
This allows the changing of bideo settings without having to completely reset all graphics data. Will recreate internal output/conversion buffers and such and reset the main preview.
-
- 22 2月, 2014 4 次提交
-
-
由 jp9000 提交于
Make it so obs_data settings input in to *_update are applied to the existing settings rather than fully replace the existing settings. That way you can update with only certain specific settings, leaving other settings untouched. Of course if you're already using the original settings pointer in the first place then you've already done that, so it'll just ignore it because you've already applied them.
-
由 jp9000 提交于
Make sure audio multiplication is clamped, and also make sure that larger volume values can be safely used.
-
由 jp9000 提交于
- Remove obs_source::type because it became redundant now that the type is always stored in the obs_source::info variable. - Apply presentation volumes of 1.0 and 0.0 to sources when they activate/deactivate, respectively. It also applies that presentation volume to all sub-sources, with exception of transition sources. Transition sources must apply presentation volume manually to their sub-sources with the new transition functions below. - Add a "transition_volume" variable to obs_source structure, and add three functions for handling volume for transitions: * obs_transition_begin_frame * obs_source_set_transition_vol * obs_transition_end_frame Because the to/from targets of a transition source might both contain some of the same sources, handling the transitioning of volumes for that specific situation becomes an issue. So for transitions, instead of modifying the presentation volumes directly for both sets of sources, we do this: - First, call obs_transition_begin_frame at the beginning of each transition frame, which will reset transition volumes for all sub-sources to 0. Presentation volumes remain unchanged. - Call obs_source_set_transition_vol on each sub-source, which will then add the volume to the transition volume for each source in that source's tree. Presentation volumes still remain unchanged. - Then you call obs_trandition_end_frame when complete, which will then finally set the presentation volumes to the transition volumes. For example, let's say that there's one source that's within both the "transitioning from" sources and "transition to" sources. It would add both the fade in and fade out volumes to that source, and then when the frame is complete, it would set the presentation volume to the sum of those two values, rather than set the presentation volume for that same source twice which would cause weird volume jittering and also set the wrong values.
-
由 jp9000 提交于
-
- 21 2月, 2014 4 次提交
-
-
由 jp9000 提交于
Now sources will be properly activated and deactivated when they are in use or not in use. Had to figure out a way to handle child sources, and children of children, just ended up implementing simple functions that parents use to signal adding/removal to help with hierarchial activation and deactivation of child sources. To prevent the source activate/deactivate callbacks from being called more than once, added an activation reference counter. The first increment will call the activate callback, and the last decrement will call the deactivate callback. Added "source-activate" and "source-deactivate" signals to the main obs signal handler, and "activate" and "deactivate" to individual source signal handlers. Also, fixed the main window so it properly selects a source when the current active scene has been changed.
-
由 jp9000 提交于
-
由 jp9000 提交于
-
由 jp9000 提交于
Added a "master" volume for the entire audio subsystem. Also, added a "presentation" volume for both the master volume and for each invidiaul source. The presentation volume is used to control things like transitioning volumes, preventing sources from outputting any audio when they're inactive, as well as some other uses in the future.
-
- 19 2月, 2014 4 次提交
-
-
由 jp9000 提交于
If audio was under, it originally did a full reset of the audio timing. However, resetting the audio timing when this happens is kind of a bad thing. It's better just to clamp the value to the expected timestamp to ensure seamless audio output. Also, implement audio timestamp smoothing to ensure audio tries to be as seamless as possible.
-
由 jp9000 提交于
I actually did compile that last commit and misread the failed projects as 0. I'm just going to put the conversion stuff in video-io.h stuff because it requires it anyway, and video-scaler.h already depends on video-io.h for the video_format enum anyway.
-
由 jp9000 提交于
Had a bit of an include loop going on there which caused this issue to occur.
-
由 jp9000 提交于
Add a scaler interface (defaults to swscale), and if a separate output wants to use a different scale or format than the default output format, allow a scaler instance to be created automatically for that output, which will then receive the new scaled output.
-
- 18 2月, 2014 3 次提交
-
-
由 Palana 提交于
av_frame_alloc, av_frame_free, among others, live in libavutil
-
由 jp9000 提交于
If there are for example more than one audio outputs and they have different sample rates or channels and such, this will allow automatic conversion of that audio to the request formats/channels/rates (but only if requested).
-
由 jp9000 提交于
-