-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
345 lines (294 loc) · 12 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
0.5.8 (2009/07/20)
Fix potential crash in audio capturing code.
Fix time overflow in ~2000s.
Fix default output file not containing current path where
glc-capture is issued.
0.5.7 (2008/08/25)
Add better output filename format handling. Available
tags now include strings like application name or
current date.
Add support for switching to another stream file during
capturing. '<Shift>F9' works like regular capture button
but increments %capture% in filename and reopens file.
Added simple stream state tracker.
0.5.6 (2008/07/13)
Change stream on-disk format to reduce write() calls.
Disable forced synchronization by default.
Disable PBO by default.
Add LZJB compression support.
Add --version options to glc-capture and glc-play.
Generate version.h based on git HEAD.
Some minor scale bug fixes.
0.5.5 (2008/04/20)
Fixed glXCreateWindow() related crash.
Improved video playback code.
Better command line argument parsing in encode.sh.
Changed ALSA playback mode to blocking.
0.5.4 (2008/04/11)
Fixed audio duration calculations. Fixes pauses in audio when
exporting as WAV.
Added generic stream demuxer: copy.
0.5.3 (2008/04/04)
New stream format v3. Old v2 files aren't supported any more.
Fix 4GiB file size limit in 32-bit environment.
Use alsa_ prefix for all ALSA specific parts.
0.5.2 (2008/03/14)
Implement video playback using power-of-two textures when
GL_ARB_texture_non_power_of_two extension is not available.
Fix some X11 hooks related segfaults (wine crashing at winex11).
0.5.1 (2008/03/10)
New CMake build system.
Some minor bugfixes.
0.5.0 (2008/02/28)
Reorganized old core into core, util, state and log parts.
Filter configuration moved from core. Core now contains only core
settings and state.
Redesigned core & filters API.
glc-play, glc-capture and glc-hook separated from glc libraries.
glc library headers are now installed into /usr/include/glc.
Public API is now completely documented.
0.4.6 (2008/01/26)
Better multilib support in Makefile.
Add support for exporting frames into PNG images.
Don't truncate output file if it can't be locked.
Fix sonames.
0.4.5 (2007/12/27)
Use synchronous IO which removes lag spikes caused by glibc flushing
its output buffers to disk.
Lock stream file. It is now easier to detect when multiple programs
try to capture into same file.
ALSA playback device is now configurable (-d).
Stop playing when a video stream window is closed.
Handle frame drops better.
Lots of bugfixes and cleanups.
0.4.4 (2007/12/25)
Fixed wine audio system hang.
0.4.3 (2007/12/22)
Append current working directory into output file names if absolute
path is not specified. Fixes files appearing into different
directory when running glc-capture against some shell script
-wrapped applications.
Hook snd_pcm_mmap_writei() and snd_pcm_mmap_writen(). Fixes capturing
wine applications when "Hardware Acceleration" is not "Full".
Print out totals of each video and audio stream when extracting stream
information.
0.4.2 (2007/12/15)
Improved audio capture system:
Lots of threading bug fixes.
Performance improvement: use busy waiting only if the pcm is opened
in asynchronous mode.
Wine audio quality problems fixed.
Fixed large file support in 32-bit environment.
Rewritten signals/thread waiting framework: workaround possible
glibc bug.
A bunch of random bugfixes.
0.4.1 (2007/12/6)
Reimplemented elfhacks symbol handling, finding symbols should be
faster and binaries with DT_GNU_HASH are supported.
This fixes potential audio stream duplication issue and crashes
when ALSA/glibc is compiled with --hash-style=gnu.
Clean up log format and include message level information in log.
Added -s all (show complete file information) option to glc-play.
Some bugfixes (large file handling, alsa crashes).
0.4.0 (2007/11/25)
ALSA audio recording support (eg. record voice from mic).
Support for rescaling pictures to specified size (aspect ratio is
preserved) at playback/export.
Extend scale to support YCBCR_420JPEG.
Cleaned up source code layout.
Split libglc to libglc-core, libglc-capture, libglc-play, libglc-export
and libglc-hook.
Clean up glc-capture command line arguments and argument parsing.
0.3.11 (2007/11/10)
Color correction support; either use gamma values stored to stream
at capture time (XF86VidModeSetGamma) or set custom gamma, brightness
and contrast values at playback/export.
Parallel compression support.
Some bugfixes (double word -aligned image data).
0.3.10 (2007/10/29)
Support for -fvisibility=hidden
Fix crash/hooking when multiple hooks (eg. mumble overlay) is present.
Wrap __libc_dlsym()
0.3.9 (2007/10/28)
Logging framework: should help in debugging and testing.
Support for locking fps when capturing.
elfhacks: no more need to read data from filesystem, API change.
Some gl_capture cleanups (finally).
A bunch of bugfixes (PBO, handle EOF gracefully...).
0.3.8 (2007/10/26)
Changed some default values for capture:
Use GL_BGRA if ycbcr conversion or scaling is enabled.
Capture front buffer.
Disable indicator since it wont work when capturing front buffer.
Use 25MiB for unscaled and uncompressed buffer.
A few minor bugfixes (possible segfault at scaler and fix default
silence threshold).
0.3.7 (2007/10/23)
Fix lzo & quicklz decompression.
0.3.6 (2007/10/23)
Support for QuickLZ compression.
Use GL_PACK_ALIGNMENT 8 for faster readback.
Fullscreen playback support.
Made initialization thread-safe which fixes possible crash
when capturing multithreaded application.
0.3.5 (2007/10/21)
Scaler (both scale and ycbcr) bugfixes.
Added sample build script (glc-build.sh).
0.3.4 (2007/10/17)
Use 3D engine to draw frames instead of directly drawing pixels.
Much smoother scaling while playing.
More verbose IO error messages.
Fixed audio skip calculations. Seeking doesn't cause audio desync
any more.
Some build-related fixes.
0.3.3 (2007/10/15)
Reworked playback architecture. Should handle simultaneous audio
and video streams better.
Fix alsa async mode capture.
Properly kill glc at error.
0.3.2 (2007/10/14)
Hopefully fixed that crippling bash bug, glc-capture -s against
scripts should be perfectly safe now.
0.3.1 (2007/10/13)
Support for non-integer fps.
Cleaned up audio format message. Should be more extensible now.
Stream version bump (won't play old streams, sorry...).
Support for capturing only selected area (cropping).
Configurable audio silence threshold.
0.3.0 (2007/10/11)
Split gl to gl_capture and gl_play.
Split audio to audio_capture and audio_play
Fixed threading bugs in scale, ycbcr and rgb.
PBO timestamps should be accurate now.
Lots of glc-play fixes (properly kill both audio and gl at CANCEL,
CANCEL at WM_DELETE_WINDOW...)
Lots of minor cleanups.
0.2.9 (2007/10/08)
Use getopt_long() in glc-play, should make it much more accessible.
New glc-capture application which sets correct environment variables
based on nice list of command line arguments.
0.2.8 (2007/10/07)
some code documentation (will someone really dare to look at this
code...)
Worked around some signal problems by starting alsa & opengl when
capturing really starts.
0.2.7 (2007/10/07)
Y'CbCr -> BGR conversion (rgb.c)
Threading improvements, for example scale, ycbcr, rgb and unpack
create one thread per CPU. glc should now scale nicely up to n
CPUs.
0.2.6 (2007/10/05)
BGR -> Y'CbCr conversion target (ycbcr.c) with scaling support
Set GLC_COLORSPACE=420jpeg to convert to Y'CbCr 420jpeg at capture
time. Scaling is pretty cheap operation if colorspace conversion
is enabled and vice versa.
yuv4mpeg target
export as yuv4mpeg stream, also to stdout
f.ex. glc-play file.glc -o - -y 1 | mplayer -
export one audio/picture stream
export wav to stdout
f.ex. glc-play file.glc -o - -a 1 | mplayer -demuxer 35 -
new example script glc-play-mplayer
modified glc-encode script to take advantage of pipes and yuv4mpeg
export capability (mplayer's bgr24 -> yv12 is very ugly)
cleaned up img.c and wav.c
cleaned up glc-play, especially command line arguments
read fps from file and use it for exporting pictures/video
0.2.5 (2007/10/04)
initialize pack & file processors when recording is actually started
=> no more empty stream files
compression can be disabled by setting GLC_COMPRESS=0
some audio threading hacks
Hooked snd_pcm_...() calls shouldn't block anymore if target buffer
is not ready. Of course this results skipping in captured stream.
Setting GLC_AUDIO_SKIP=0 allows snd_pcm_...() calls to enter busy
waiting state and thus ensures high-quality audio capture.
use GL_ARB_pixel_buffer_object, if available, to asynchronously transfer
pictures from GPU
set GLC_TRY_PBO=0 to disable
GLC_CAPTURE_BGRA=1 enables capturing BGRA frames and converting them
to BGR in software at scale
0.2.4 (2007/10/03)
alsa hook bugfix
0.2.3 (2007/10/03)
reorganized wrapper library code
start capturing immediately (GLC_START=1) or when specific key combination
is pressed (GLC_HOTKEY="<Shift>F8")
draw simple indicator at upper left corner when recording
set GLC_INDICATOR=0 to disable
indicator is not included in the recorded stream
0.2.2 (2007/10/02)
unhook only alsa modules
audio playback support
improved source tree layout and Makefile
0.2.1 (2007/10/01)
ALSA capture redone, should be more compatible and much simplier
GLC_AUDIO=0 environment variable disables audio capture
custom signal handler to ensure that lib_close() is called at exit
set GLC_SIGHANDLER=0 to disable
non-interleaved audio stream support in (wav.c)
unhook all alsa libraries => no audio stream duplication
0.2.0 (2007/09/30)
ALSA audio capture support (audio.c)
needs ALSA file plugin
wav target (wav.c)
0.1.4 (2007/09/29)
thread.c cleanups, utilize the new and improved fake dma implementation in
packetstream 0.0.11
0.1.3 (2007/09/23)
stream format improvements
0.1.2 (2007/09/22)
generic stream processor thread (thread.c)
use the new thread model where possible
(gl_show, img, scale, info, pack, file)
=> much cleaner code and better error handling
img has now better multictx support
0.1.1 (2007/09/21)
improved info
support for applications that have multiple drawables,
even multithreaded
0.1.0 (2007/09/21)
architechture improvements (= another massive cleanup)
scaler has now its own thread (scale.c)
primitive info target (info.c)
deprecated environment variables:
GLC_STATS
GLC_UBUF
GLC_CBUF
new environment variables:
GLC_CAPTURED_BUFFER_SIZE
GLC_SCALED_BUFFER_SIZE
GLC_COMPRESSED_BUFFER_SIZE
0.0.10 (2007/09/20)
support for capturing at glFinish() (GLC_CAPTURE_GLFINISH)
for example compiz needs this
some additional cleanups
0.0.9 (2007/09/20)
massive cleanups (nuked globals where possible and
free memory at exit)
fixed scaler segfault at resize
0.0.8 (2007/09/20)
bilinear filtering support for scaling with ratio != 0.5
adjustable capture buffer (GLC_CAPTURE)
ajdustable uncompressed and compressed stream buffer
size (GLC_UBUF and GLC_CBUF)
0.0.7 (2007/09/18)
BMP bugfixes
0.0.6 (2007/09/17)
minilzo support
support for exporting frames as Win 3.x BGR BMP images
example encoder.sh script for encoding exported BMP images to
x264-encoded video
configurable stats (GLC_STATS)
0.0.5 (2007/09/15)
initial arbitrary ratio (< 1.0) scaler
use 'elfhacks' to hook dlsym()
0.0.4 (2007/09/14)
scaler improvements (GLC_SCALE)
use PS_PACKET_TRY, insufficient disk performance shouldn't affect
running application any more (unless it is also waiting for disk)
0.0.3 (2007/09/10)
adjustable capture fps and stream file (GLC_FILE and GLC_FPS)
initial scaling support (GLC_RESIZE)
0.0.2 (2007/09/10)
initial release