We truncated the diff of some files because they were too big.
If you want to see the full diff for every file, click here.
Changes of Revision 31
obs-studio.changes
Changed
x
1
2
-------------------------------------------------------------------
3
+Tue Jul 12 02:03:51 UTC 2016 - jimmy@boombatower.com
4
+
5
+- Update to 0.15.1 release.
6
+
7
+-------------------------------------------------------------------
8
Fri Jul 8 05:10:02 UTC 2016 - jimmy@boombatower.com
9
10
- Update to 0.15.0 release.
11
obs-studio.spec
Changed
8
1
2
Name: obs-studio
3
-Version: 0.15.0+git20160706.60c77d4
4
+Version: 0.15.1+git20160710.2732375
5
Release: 0
6
Summary: A recording/broadcasting program
7
8
_service
Changed
10
1
2
<services>
3
<service name="tar_scm" mode="disabled">
4
<param name="versionformat">@PARENT_TAG@+git%cd.%h</param>
5
- <param name="revision">refs/tags/0.15.0</param>
6
+ <param name="revision">refs/tags/0.15.1</param>
7
<param name="url">git://github.com/jp9000/obs-studio.git</param>
8
<param name="scm">git</param>
9
</service>
10
obs-studio-0.15.0+git20160706.60c77d4.tar.xz/libobs/obs-config.h -> obs-studio-0.15.1+git20160710.2732375.tar.xz/libobs/obs-config.h
Changed
10
1
2
*
3
* Reset to zero each major or minor version
4
*/
5
-#define LIBOBS_API_PATCH_VER 0
6
+#define LIBOBS_API_PATCH_VER 1
7
8
#define MAKE_SEMANTIC_VERSION(major, minor, patch) \
9
((major << 24) | \
10
obs-studio-0.15.0+git20160706.60c77d4.tar.xz/libobs/obs-data.c -> obs-studio-0.15.1+git20160710.2732375.tar.xz/libobs/obs-data.c
Changed
16
1
2
3
static inline obs_data_array_t *get_item_array(struct obs_data_item *item)
4
{
5
+ obs_data_array_t **array;
6
+
7
if (!item)
8
return NULL;
9
10
- return *(obs_data_array_t**)get_item_data(item);
11
+ array = (obs_data_array_t**)get_item_data(item);
12
+ return array ? *array : NULL;
13
}
14
15
static inline obs_data_array_t *get_item_default_array(
16
obs-studio-0.15.0+git20160706.60c77d4.tar.xz/libobs/obs-scene.c -> obs-studio-0.15.1+git20160710.2732375.tar.xz/libobs/obs-scene.c
Changed
10
1
2
uint8_t stack[128];
3
const char *command = select ? "item_select" : "item_deselect";
4
5
- if (!item || item->selected == select)
6
+ if (!item || item->selected == select || !item->parent)
7
return;
8
9
item->selected = select;
10
obs-studio-0.15.0+git20160706.60c77d4.tar.xz/obs/data/locale/uk-UA.ini -> obs-studio-0.15.1+git20160710.2732375.tar.xz/obs/data/locale/uk-UA.ini
Changed
201
1
2
Apply="Застосувати"
3
Cancel="Скасувати"
4
Close="Закрити"
5
-Save="зберегти"
6
+Save="Зберегти"
7
Discard="Відхилити"
8
+Disable="Вимкнено"
9
Yes="Так"
10
No="Ні"
11
Add="Додати"
12
13
Browse="Огляд"
14
Mono="Моно"
15
Stereo="Стерео"
16
+DroppedFrames="Пропущено кадрів %1 (%2%)"
17
+PreviewProjector="Повноекранний Проектор (вікно Перегляду)"
18
+SceneProjector="Повноекранний Проектор (Сцена)"
19
+SourceProjector="Повноекранний Проектор (Джерело)"
20
Clear="Очистити"
21
Revert="Відмінити"
22
Show="Показати"
23
24
New="Новий"
25
Duplicate="Дублювати"
26
Enable="Увімкнути"
27
-
28
-
29
-
30
+DisableOSXVSync="Вимкнути OSX V-Sync"
31
+ResetOSXVSyncOnExit="Відновити OSX V-Sync при виході"
32
+HighResourceUsage="Кодування перевантажено! Треба знизити вимоги до налаштування відео або спробувати швидші налаштування енкодера."
33
+Transition="Відео-перехід"
34
+QuickTransitions="Швидкі відео-переходи"
35
+Left="Зліва"
36
+Right="Зправа"
37
+Top="Зверху"
38
+Bottom="Знизу"
39
+
40
+QuickTransitions.SwapScenes="Поміняти місцями сцени Перегляд/Вивід після Відео-переходу"
41
+QuickTransitions.SwapScenesTT="Міняє місцями сцени Перегляд та Вивід після закінчення Відео-переходу (якщо сцена Вивід ще існує).\nЗміні внесені до обох сцен залишаються."
42
+QuickTransitions.DuplicateScene="Використовувати копію сцени"
43
+QuickTransitions.DuplicateSceneTT="Під час редагування поточної сцени дозволяє зберегти Вивід без змін.\nДля можливості редагувати властивості Джерел, увімкніть також 'Використовувати копію Джерел'.\nЗміна цієї опції призведе до оновлення поточної сцени, яка йде на Вивід (якщо вона ще існує)."
44
+QuickTransitions.EditProperties="Використовувати копію Джерел"
45
+QuickTransitions.EditPropertiesTT="Під час редагування поточної сцени, дозволяє редагувати властивості Джерел не змінюючи Вивід.\nЦя опція можлива якщо 'Використовувати копію сцени' вибрана.\nДеякі джерела (наприклад медіа або прилади захвату зображень) не підтримують копіювання, тобто не можна внести окремі зміни у джерело.\nЗміна властивостей таких джерел миттєво змінить Вивід (якщо він ще існує).\n\nУвага: Так як джерела внутрішньо копіюються, то це може призвести до додаткового навантаження на систему та використання відео ресурсів."
46
+QuickTransitions.HotkeyName="Швидкий відео-перехід: %1"
47
+
48
+Basic.AddTransition="Додати Відео-перехід що конфігурується"
49
+Basic.RemoveTransition="Видалити Відео-перехід що конфігурується"
50
+Basic.TransitionProperties="Властивості Відео-переходу"
51
+Basic.SceneTransitions="Відео-переходи між Сценами"
52
+Basic.TransitionDuration="Тривалість"
53
+Basic.TogglePreviewProgramMode="Режим Студії"
54
+
55
+TransitionNameDlg.Text="Будь ласка, введіть назву для Відео-переходу"
56
+TransitionNameDlg.Title="Назва Відео-переходу"
57
58
TitleBar.Profile="Профіль"
59
TitleBar.Scenes="Сцени"
60
61
NoNameEntered.Title="Невірно введено ім'я"
62
NoNameEntered.Text="Не можна використовувати порожні назви."
63
64
+ConfirmStart.Title="Почати трансляцію?"
65
+ConfirmStart.Text="Ви впевнені, що хочете почати трансляцію?"
66
67
+ConfirmStop.Title="Закінчити трансляцію?"
68
+ConfirmStop.Text="Ви впевнені, що хочете закінчити трансляцію?"
69
70
ConfirmExit.Title="Вийти з OBS?"
71
+ConfirmExit.Text="OBS ще працює. Всі розпочаті трансляції та записи буде припинено. Ви дійсно хочете вийти?"
72
73
ConfirmRemove.Title="Підтвердження видалення"
74
ConfirmRemove.Text="Ви дійсно бажаєте видалити \"$1\"?"
75
+ConfirmRemove.TextMultiple="Ви впевнені, що хочете видалити %1 елементів?"
76
77
Output.ConnectFail.Title="Не вдалося підключитися"
78
+Output.ConnectFail.BadPath="Шлях або URL-адреса недосяжні. Будь ласка, перевірте налаштування програмного забезпечення."
79
Output.ConnectFail.ConnectFailed="Не вдалося підключитися до сервера"
80
+Output.ConnectFail.InvalidStream="Немає доступу до вказаного каналу або до ключа трансляції, будь ласка перевірте свій ключ для трансляцій. Якщо він дійсний, то можливо є проблеми зв'язку з сервером."
81
+Output.ConnectFail.Error="Під час зв'язку з сервером відбулася несподівана помилка. Подробиці знаходяться у лог-файлі."
82
Output.ConnectFail.Disconnected="Від'єднаний від серверу."
83
84
Output.RecordFail.Title="Не вдалося розпочати запис"
85
+Output.RecordFail.Unsupported="Формат виводу на жаль не підтримується або форматом не підтримується більш однієї звукової доріжки. Будь ласка, перевірте налаштування та повторіть спробу."
86
+Output.RecordNoSpace.Title="Недостатньо простору на диску"
87
+Output.RecordNoSpace.Msg="На диску недостатньо простору для запису."
88
+Output.RecordError.Title="Помилка запису"
89
+Output.RecordError.Msg="Під час запису відбулася несподівана помилка."
90
91
+Output.BadPath.Title="Недійсний шлях до файлу"
92
+Output.BadPath.Text="Шлях вказаний для виводу файлу недійсний. Будь ласка, перевірте у налаштуваннях, що шлях було вказано вірно."
93
94
+LogReturnDialog="Лог успішно завантажено"
95
LogReturnDialog.CopyURL="Копіювати посилання"
96
LogReturnDialog.ErrorUploadingLog="Помилка завантаження файлу журналу"
97
98
+LicenseAgreement="Ліцензійна угода"
99
+LicenseAgreement.PleaseReview="Будь ласка, ознайомтеся з умовами ліцензії, перш ніж використовувати OBS. Використовуючи цю програму, ви підтверджуєте, що ви прочитали і згодні з умовами <a href='http://www.gnu.org/licenses/gpl-2.0.html'> GNU General Public License v 2.0</a>. Будь ласка, прокрутіть вниз, щоб побачити весь текст угоди."
100
+LicenseAgreement.ClickIAgreeToContinue="Якщо ви згодні з умовами угоди, натисніть кнопку Я згоден(-а), щоб продовжити. Ви повинні прийняти угоду для використання OBS."
101
+LicenseAgreement.IAgree="Я згоден(-а)"
102
LicenseAgreement.Exit="Вихід"
103
104
+Remux.SourceFile="OBS запис"
105
+Remux.TargetFile="Кінцевий файл"
106
+Remux.Remux="Ремультиплексація"
107
+Remux.OBSRecording="OBS запис"
108
+Remux.FinishedTitle="Ремультиплексацію завершено"
109
+Remux.Finished="Запис ремультиплексовано"
110
+Remux.FinishedError="Запис ремультиплексовано, але схоже файл неповний"
111
+Remux.SelectRecording="Виберіть OBS запис …"
112
+Remux.SelectTarget="Виберіть кінцевий файл …"
113
+Remux.FileExistsTitle="Кінцевий файл існує"
114
+Remux.FileExists="Кінцевий файл існує, ви хочете його замінити?"
115
+Remux.ExitUnfinishedTitle="Ремультиплексація триває"
116
+Remux.ExitUnfinished="Ремультиплексацію не завершено, якщо зупинити зараз, то файл може лишитись пошкодженим.\nВи впевнені, що хочете зупинити ремультиплексацію?"
117
118
+UpdateAvailable="Доступне оновлення"
119
+UpdateAvailable.Text="Доступна версія %1.%2.%3. <a href='%4'>Натисніть тут, щоб завантажити</a>"
120
121
122
Basic.Scene="Сцена"
123
+Basic.DisplayCapture="Захват екрану"
124
125
+Basic.Main.PreviewConextMenu.Enable="Увімкнути вікно Перегляду"
126
127
+ScaleFiltering="Фільтр масштабування"
128
+ScaleFiltering.Point="Ступінчастий"
129
+ScaleFiltering.Bilinear="Білінійний"
130
+ScaleFiltering.Bicubic="Бікубічний"
131
+ScaleFiltering.Lanczos="Ланцош"
132
133
+Deinterlacing="Деінтерлейсинг"
134
+Deinterlacing.Discard="Discard"
135
+Deinterlacing.Retro="Retro"
136
+Deinterlacing.Blend="Blend"
137
+Deinterlacing.Blend2x="Blend 2x"
138
+Deinterlacing.Linear="Linear"
139
+Deinterlacing.Linear2x="Linear 2x"
140
+Deinterlacing.Yadif="Yadif"
141
+Deinterlacing.Yadif2x="Yadif 2x"
142
+Deinterlacing.TopFieldFirst="Спочатку непарні рядки"
143
+Deinterlacing.BottomFieldFirst="Спочатку парні рядки"
144
145
+Basic.Main.AddSceneDlg.Title="Додати Сцену"
146
+Basic.Main.AddSceneDlg.Text="Будь ласка, введіть назву для Сцени"
147
148
+Basic.Main.DefaultSceneName.Text="Сцена %1"
149
150
+Basic.Main.AddSceneCollection.Title="Додати Набір Сцен"
151
+Basic.Main.AddSceneCollection.Text="Будь ласка, введіть назву для Набору Сцен"
152
153
+Basic.Main.RenameSceneCollection.Title="Перейменування Набору Сцен"
154
155
+AddProfile.Title="Додати Профіль"
156
+AddProfile.Text="Будь ласка, введіть назву для Профілю"
157
158
+RenameProfile.Title="Перейменування Профілю"
159
160
+Basic.Main.PreviewDisabled="Вікно Перегляду вимкнено"
161
162
+Basic.SourceSelect="Створити/Вибрати Джерело"
163
+Basic.SourceSelect.CreateNew="Створити нове"
164
+Basic.SourceSelect.AddExisting="Додати вже існуюче"
165
+Basic.SourceSelect.AddVisible="Зробити джерело видимим"
166
167
+Basic.PropertiesWindow="Властивості для '%1'"
168
+Basic.PropertiesWindow.SelectColor="Вибір кольору"
169
+Basic.PropertiesWindow.SelectFont="Вибір шрифту"
170
+Basic.PropertiesWindow.ConfirmTitle="Змінено налаштування"
171
+Basic.PropertiesWindow.Confirm="Зміни незбережені. Ви хочете їх зберегти?"
172
+Basic.PropertiesWindow.NoProperties="Немає доступних властивостей"
173
174
175
176
177
178
+Basic.TransformWindow.BoundsType="Тип рамки розміру"
179
+Basic.TransformWindow.BoundsAlignment="Вирівнювання у рамці розміру"
180
181
182
+Basic.TransformWindow.BoundsType.ScaleInner="Масштабувати до внутрішніх границь"
183
+Basic.TransformWindow.BoundsType.ScaleOuter="Масштабувати до зовнішніх границь"
184
+Basic.TransformWindow.BoundsType.ScaleToWidth="Масштабувати в ширину границь"
185
+Basic.TransformWindow.BoundsType.ScaleToHeight="Масштабувати в висоту границь"
186
+Basic.TransformWindow.BoundsType.Stretch="Розтягнути до границь"
187
188
189
+Basic.Main.Scenes="Сцени"
190
+Basic.Main.Sources="Джерела"
191
+Basic.Main.Connecting="З'єднання..."
192
+Basic.Main.StopRecording="Зупинити запис"
193
+Basic.Main.StoppingRecording="Запис зупиняється..."
194
+Basic.Main.StopStreaming="Закінчити трансляцію"
195
+Basic.Main.StoppingStreaming="Припинення трансляції..."
196
+Basic.Main.ForceStopStreaming="Закінчити трансляцію (миттєво)"
197
198
199
200
201
obs-studio-0.15.0+git20160706.60c77d4.tar.xz/obs/window-basic-main.cpp -> obs-studio-0.15.1+git20160710.2732375.tar.xz/obs/window-basic-main.cpp
Changed
23
1
2
3
void OBSBasic::RemoveSceneItem(OBSSceneItem item)
4
{
5
- obs_scene_t *scene = obs_sceneitem_get_scene(item);
6
+ for (int i = 0; i < ui->sources->count(); i++) {
7
+ QListWidgetItem *listItem = ui->sources->item(i);
8
9
- if (GetCurrentScene() == scene) {
10
- for (int i = 0; i < ui->sources->count(); i++) {
11
- QListWidgetItem *listItem = ui->sources->item(i);
12
-
13
- if (GetOBSRef<OBSSceneItem>(listItem) == item) {
14
- DeleteListItem(ui->sources, listItem);
15
- break;
16
- }
17
+ if (GetOBSRef<OBSSceneItem>(listItem) == item) {
18
+ DeleteListItem(ui->sources, listItem);
19
+ break;
20
}
21
}
22
23
obs-studio-0.15.0+git20160706.60c77d4.tar.xz/plugins/obs-filters/scroll-filter.c -> obs-studio-0.15.1+git20160710.2732375.tar.xz/plugins/obs-filters/scroll-filter.c
Changed
56
1
2
gs_effect_t *effect;
3
gs_eparam_t *param_add;
4
gs_eparam_t *param_mul;
5
+ gs_eparam_t *param_image;
6
7
struct vec2 scroll_speed;
8
+ gs_samplerstate_t *sampler;
9
bool limit_cx;
10
bool limit_cy;
11
uint32_t cx;
12
13
struct scroll_filter_data *filter = bzalloc(sizeof(*filter));
14
char *effect_path = obs_module_file("crop_filter.effect");
15
16
+ struct gs_sampler_info sampler_info = {
17
+ .filter = GS_FILTER_LINEAR,
18
+ .address_u = GS_ADDRESS_WRAP,
19
+ .address_v = GS_ADDRESS_WRAP
20
+ };
21
+
22
filter->context = context;
23
24
obs_enter_graphics();
25
filter->effect = gs_effect_create_from_file(effect_path, NULL);
26
+ filter->sampler = gs_samplerstate_create(&sampler_info);
27
obs_leave_graphics();
28
29
bfree(effect_path);
30
31
"add_val");
32
filter->param_mul = gs_effect_get_param_by_name(filter->effect,
33
"mul_val");
34
+ filter->param_image = gs_effect_get_param_by_name(filter->effect,
35
+ "image");
36
37
obs_source_update(context, settings);
38
return filter;
39
40
41
obs_enter_graphics();
42
gs_effect_destroy(filter->effect);
43
+ gs_samplerstate_destroy(filter->sampler);
44
obs_leave_graphics();
45
46
bfree(filter);
47
48
gs_effect_set_vec2(filter->param_add, &filter->offset);
49
gs_effect_set_vec2(filter->param_mul, &mul_val);
50
51
+ gs_effect_set_next_sampler(filter->param_image, filter->sampler);
52
+
53
obs_source_process_filter_end(filter->context, filter->effect, cx, cy);
54
55
UNUSED_PARAMETER(effect);
56
obs-studio-0.15.0+git20160706.60c77d4.tar.xz/plugins/rtmp-services/data/services.json -> obs-studio-0.15.1+git20160710.2732375.tar.xz/plugins/rtmp-services/data/services.json
Changed
10
1
2
"recommended": {
3
"keyint": 4,
4
"profile": "main",
5
- "max video bitrate": 9000,
6
+ "max video bitrate": 18000,
7
"max audio bitrate": 160
8
}
9
},
10
obs-studio-0.15.0+git20160706.60c77d4.tar.xz/plugins/win-capture/graphics-hook/gl-capture.c -> obs-studio-0.15.1+git20160710.2732375.tar.xz/plugins/win-capture/graphics-hook/gl-capture.c
Changed
90
1
2
static bool darkest_dungeon_fix = false;
3
4
struct gl_data {
5
- int swap_recurse;
6
HDC hdc;
7
uint32_t base_cx;
8
uint32_t base_cy;
9
10
}
11
}
12
13
-static inline void gl_swap_begin(HDC hdc)
14
-{
15
- if (data.swap_recurse++)
16
- return;
17
-
18
- if (!global_hook_info->capture_overlay)
19
- gl_capture(hdc);
20
-}
21
-
22
-static inline void gl_swap_end(HDC hdc)
23
-{
24
- if (--data.swap_recurse)
25
- return;
26
-
27
- if (global_hook_info->capture_overlay)
28
- gl_capture(hdc);
29
-}
30
-
31
static BOOL WINAPI hook_swap_buffers(HDC hdc)
32
{
33
BOOL ret;
34
35
- gl_swap_begin(hdc);
36
+ if (!global_hook_info->capture_overlay)
37
+ gl_capture(hdc);
38
39
unhook(&swap_buffers);
40
BOOL (WINAPI *call)(HDC) = swap_buffers.call_addr;
41
ret = call(hdc);
42
rehook(&swap_buffers);
43
44
- gl_swap_end(hdc);
45
+ if (global_hook_info->capture_overlay)
46
+ gl_capture(hdc);
47
48
return ret;
49
}
50
51
{
52
BOOL ret;
53
54
- gl_swap_begin(hdc);
55
+ if (!global_hook_info->capture_overlay)
56
+ gl_capture(hdc);
57
58
unhook(&wgl_swap_buffers);
59
-
60
BOOL (WINAPI *call)(HDC) = wgl_swap_buffers.call_addr;
61
ret = call(hdc);
62
rehook(&wgl_swap_buffers);
63
64
- gl_swap_end(hdc);
65
+ if (global_hook_info->capture_overlay)
66
+ gl_capture(hdc);
67
68
return ret;
69
}
70
71
{
72
BOOL ret;
73
74
- gl_swap_begin(hdc);
75
+ if (!global_hook_info->capture_overlay)
76
+ gl_capture(hdc);
77
78
unhook(&wgl_swap_layer_buffers);
79
-
80
BOOL (WINAPI *call)(HDC, UINT) = wgl_swap_layer_buffers.call_addr;
81
ret = call(hdc, planes);
82
rehook(&wgl_swap_layer_buffers);
83
84
- gl_swap_end(hdc);
85
+ if (global_hook_info->capture_overlay)
86
+ gl_capture(hdc);
87
88
return ret;
89
}
90