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
|
/*Version 0.3.5.1*/
* Corrected segmentation fault when recording non-fullscreen areas
(bug-report and solution to the problem provided Sander Jansen)
* Corrected incorrect allocation of queued sound buffers
(could cause segmentation faults in FreeBSD)
* Corrected dlopen lookup on *bsd (libc instead of libdl)
/*VERSION 0.3.5*/
*Corrected cursor top/left behavior, fixed xfixes cursor placing.
*Double buffered capturing on full-shots, to convert only changed pixels to yuv.
*Cache block information is now is more efficiently extracted from the damage list
(when using xdamage) and during the rgb2yuv conversion(when using full shots).
*Jack client uniquely named, to allow simultaneous recordings when using it.
*updated man page
*removed uneccesary calculation of the alpha component when
calculating average pixel value for the u and v planes
*Ub,Vr replaced with UvBr
*changed scope of image buffer to be local in GetFrame
/*VERSION 0.3.4*/
*Fixed configure script to exit when zlib is not found.
*Fixed behavior of the program when using both the MIT-Shm and Xdamage extensions.
As a result, less memory is now required and all options related to conditional usage of
shared memory are gone. Shared memory is now on by default and the --with-shared
option is substituted by --no-shared.
*The --drop-frames option has been removed.
*The dummy cursor has been updated to look better.
/*VERSION 0.3.3.1*/
*Fixed ring buffer size, to be independant of the
size that jack uses internally
(small buffer sizes could create sound distrortion problems).
/*VERSION 0.3.3*/
*Improved cache format. Blocks are now cached at 16x16 for y plane
and 8x8 for u,v planes.
*Added support for compiltion with OSS instead of alsa.
(Minor other changes to make compilation on FreeBSD possible)
*Added support for recording audio through Jack.
*Many other bugfixes.
/*VERSION 0.3.2*/
*Added support for displays with 16bpp color depth.
*A bug has been fixed, that caused the Xfixes cursor to appear
distorted on amd64.
*A lot of code refactoring and cleanups of duplicated parts.
/*VERSION 0.3.1*/
*Added Added custom X error handler, to avoid BadWindow on
XGetWindowAttributes, with XQueryTree.
*Fixed sound_buffer initialization, which could cause segfault in startup.
*Corrected buffer size in sound recoding.
(Added new option to specify buffer size).
*Corrected interleaving of audio and video streams.
*Fixed missing end-of-stream in generated files.
*Applied patch submitted by Andreas Zwinkau,
correcting program crash/segfault, when run under
window managers that don't conform
to the FreeDesktop specification.
/*VERSION 0.3.0r2*/
*Minor corrections on the inclusion of the include/ directory in the project.
/*VERSION 0.3.0r1*/
*Fixed paused function, which was broken in 0.3.0
/*VERSION 0.3.0*/
*Implemented cache functionality
(Encoding by default happens right after the recording)
*Better damage event handling.
*Saving under the same file-name,no longer deletes the previous one,
instead it saves under a number postfixed file.
*Opening the sound device doesn't block anymore.
*A few new options were added related to caching.
*Program now checks if it is run uder a known 3d compositing window manager
and set behavior accordingly, to reduce the need for extra options at launch.
*documented all fuctions in header.
*Removed unneeded casts that bloated the code.
*Updated man page.
*Corrected X11 library checking during configuration.
*Removed uneeded bitmap screenshot function.
/*VERSION 0.2.6*/
*Behavior on stream desync has been changed.
Now, instead of dropping sound buffers, image
capturing speeds up. That is, waiting for timer to
expire is disabled until sync is achieved.
When not recording sound, this does not apply.
*Theora return values are now properly checked,
to avoid inserting corrupt packages into the stream.
*Major memory leaks have been fixed. These were related
to the rectangle insertion algorithm and discarding of
used sound buffers,
*Segmentation fault on seemingly random occasions has been
found and is now fixed. Reason was lack of thread safety over
libogg calls.
/*VERSION 0.2.5*/
*Drawing of the correct cursor is now supported through
the Xfixes extension.
*Change of behavior on lack of any Xserver extension and
failure to open sound device. The program now exits and informs
instead of continuing with a different configuration.
*Exit status also indicates the nature of any error that occured.
*Documentation has been updated with exit status explanations.
*Subsampling of the chroma planes is made by averaging, while
pixel discarding is an option(used to be otherwise).
/*VERSION 0.2.4*/
*Behavior on lack of $DISPLAY evironment
variable has been corrected.
*Size adjustment is now quantized at 16 pixels,
in order to avoid complete image distortion,
present at certain resolutions, when using shared memory
(conditional or not).
*Some other minor bugfixes, related mostly to default
values of options.
/*VERSION 0.2.3*/
*Problems on big-endian architectures, corrected
(thanks to Marcel Unbehaun for bringing up the problem
and providing the neccessary feedback to resolve it).
*Failure to respect change in channels number, while
opening soundcard, which resulted in crashes, segfaults
and repeated error-messages has been fixed.
*other minor bugfixes
/*VERSION 0.2.2*/
*Changes to the configure script.
*BGR to YUV convertion corrected.
/*VERSION 0.2.1*/
*Unupdated lines bug fixed.
*Fuzzy cursor at border bug fixed.
*Incorrect display of windows that
extended beyond recording height fixed.
*Size adjustement that resulted in extra
or missing pixels at borders has been corrected.
New adjustment is 8 pixels max,split evenly if possible.
*The option to drop frames has been added.
*The option to do better subsampling has been added.
*Default behavior now is to use shared memory when
size of image gets over 75% of total (or a user set threshold).
*Many other minor bugfixes.
|