summaryrefslogtreecommitdiff
path: root/HISTORY
blob: aa45ab90097b1bb5ae0b45555def97b7cc1cb8ef (plain)
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
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
VDR Plugin 'dxr3' Revision History
----------------------------------

2002-08-04: Version 0.0.1

- Initial revision.

2002-11-10: Version 0.1.0

- Rewritten Audio/Video-sync engine
- Changed OSD colors (but still limited to four colors)

2002-11-12: Version 0.1.1

- Changed Makefile (needed for vdr 1.1.15)
- The plugin should now work smoother under heavy system load
  (e.g. network traffic)

2002-12-23: Version 0.1.2
- Compiles now with gcc3.2.
- Fixed unsigned / signed bug in output thread (dxr3outputthread.c) which led
to sporadic resync (still frame and jump of about 1s).
- OSD is now as colorful as vdr with DVB-s
- OSD rescaling for channels with a lower horizontal resolution

2002-12-29: Version 0.1.3
- SPU write is now protected with a mutex by using the Dxr3AbstractionDevice.
- Fixed horizontal size detection.
- Added usleep call during still picture to reduce cpu load.
- Removed calls to WaitForSysClock in dxr3outputthread.c which led to problems
during replay on some systems (Thanks to Atte Manninen for reporting this).
- Did some minor changes to dxr3outputthread.c which hopefully will increase
reliability.
- Changed osd scale rule. Scaling now only happens if the horizontal size is
smaller than 700.

2003-01-05: Version 0.1.4
- Small bugfix in dxr3demuxdevice.c

2003-02-19: Version 0.1.5
- Support for MP3 plugin.
- Support for radio channels. Requested by Richard P. (???) who send me a
  sample code ... thanks.
- Some fixes to get along with corrupt pes data (which should actually be
  solved in a lower layer). Thanks to Teemu Rantanen.
- Changed sync buffer size during replay to reduce "jumps" in cutted streams.
  Thanks to Atte Manninen for the idea.
- Support for still frame handling. Now it is possible to move the editing
  marks with visible corresponding i-frames. Unfortunately this doesn't seem to
  work with finish dvb streams.
- Some tuning to reduce cpu load during replay.

2003-02-25: Version 0.1.6
- Added black frames between channel switches (which solves the frozen picture 
  'problem' when using the mp3-plugin, too).
- Increased thread priority of output threads which improves live stream
  quality on my system (K6II 350).

2003-03-23: Version 0.1.7
- Added unix domain server interface to close and reopen dxr3 devices without
  stopping vdr (see dxr3_ux_client.pl script on how to use this).
  Requested by Atte Manninen, thanks to him and Teemu Rantanen for testing
  and fixing some problems.
- Added support for external player mode.
- Some cosmetic changes.
- Some changes to reduce cpu load.
- Added workaround handling for osd crash (driver patch necessary; patch with
  em8300_patch.diff).
  Thanks to Teemu Rantanen and Malcolm Caldwell for testing this.
- Added buffered output for mp3-plugin audio data. This seems to improve audio
  quality significantly.
- Reduced count of audio errors (wrong data rate).
- Changed channel switch behavior (to remove audio disturbances => channel
  switching is a little bit slower now).
- Added exception handling for defect pes streams.
- Added more checks by introducing a new pes parsing class.
- Fixed buffer overrun problem. Because of the missing pll control a buffer
  overrun happens after staying for a long time on the same channel. In older
  versions the output stopped after a buffer overrun. Now the buffer will be
  cleared and the output will continue after about a second.
- New buffer handling in PlayVideo.

2003-03-23: Version 0.1.7a
- Bugfix in A/V-engine for audio output with less dropouts

2003-04-28: Version 0.1.8
- Added support for dvd-plugin (subtitles doesn't work properly so far).
- Added setup parameter to define the dxr3-card which shall be used  by vdr
  (thanks to Tobias Haustein).
- Added setup parameter to force letter box mode (for wrong aspect ratio coded
  in pes-stream). This parameter is not saved.
- Added support for video format setup parameter (no WSS support).
- Fixed external player support (thanks to Seppo Ingalsuo).
- Added volume support (thanks to Teemu Rantanen).
- Fixed I-Frame display problem (cutting and fast forward/backwards in some
  streams). Those who have problems with fast forward/backward might want to
  patch vdr (use vdr_iframe_patch.diff / for vdr-1.1.29).
- Reduced memory consumption.
- Fixed problem with digital output setup parameter.
- Fixed wrong bit error detection.
- Changed bit error handling.

2003-04-28: Version 0.1.8a
- Second trial to fix external player support (thanks to Jarkko Santala)

2003-05-07: Version 0.1.9
- Added support for AC3 streams (based on classes of
  the AC3overDVB Patch maintained by Stefan Huelswitt).
- Added DXR3 main menu entry. It's now possible to:
    - Reset DXR3-hardware.
    - Toggle Force LetterBox.
    - Switch to Digital Output.
    - Switch to AC3 Output (when already listening to digital output).
- Added short ac3 information text on channel switch.
- Reduced analog audio disturbances.
- Fixed audio initialization problem.

2003-05-07: Version 0.2.0
- Fixed compatibility problem with vdr version 1.1.31 and higher.
- Fixed analog audio problem (spurious disturbances).
- Added first cut mpeg1 support: It works quite good with vcd plugin. As far
  as I know this doesn't work reliable together with analog plugin. Thanks to
  Gavin Hamill for testing support and investigations with analog plugin.
  No osd scaling for mpeg1 at the moment.
- Changed channel switch behavior with respect to mpeg1 support (it doesn't
  seem to be possible to switch between mpeg1 and mpeg2 without closing and
  reopening the video device).
- Improved lib sync.

2003-08-10: Version 0.2.1
- Added setup entry to switch between ntsc and pal. This setting becomes active
  after restarting vdr and reseting the dxr3 card, respectively.
- Fixed uninitialized variable m_audioMode in dxr3abstractiondevice.c. Thanks 
  to Jon Burgess.
- Fixed incorrect ioctl-problem. Thanks to Jon Burgess.
- Fixed wrong scaled osd problem when starting vdr without live stream.
- Fixed external player problem when return to dxr3 output after using ac3
  output. Thanks to Jarkko Santala for reporting this one.
- Fixed wrong assert-call. Thanks to Andre Neumann.

2004-01-04: Version 0.2.2

- Some initialization fixes. Thanks to Jon Burgess.
- Added patch from Teemu Rantanen to emergency exit if
  the plugin is not able to recover from dxr3 driver crash.
- Fixed some osd problems (Elchi, Games, etc.).
- Changed Makefile to support vdr-1.3.0.

2004-06-22: Version 0.2.3-alpha1 (only for vdr-portal.de)

- we are using now <linux/em8300.h> instead of "em8300.h"
- updated multichannelaudio.h/c with newest AC3overDVB-Patch-Source (0.2.6)
- switched to new osd routines for vdr-1.3.7
- added dxr3singleton.h
- new interface to work with ffmpeg (chagned include to <avcodec.h>)
- added a lot of commments and cosmetic code cleanups
- using everywhere std::string - makes life nicer
- moved dxr3absdevice to dxr3interface
- rewritten some parts of dxr3interface
- added anti-glinsch-when-fast-forward-and-then-play-patch ;)
- killed DIAG and added a global logger, which is used only in
  a few functions and not in every like DIAG
- removed cDxr3StatusMonitor - i dont know why we need this
- cleaned out unneeded includes
- fixed memory leak in cDxr3Interface::UploadMicroCode:
  If uploading of the microcode failed, the allocated memory wasn't
  freed.
- If we are changing the audiooutput now the plugin will call an overworked
  AudioRepoen function, which does not shutdown the whole card.
- Things like VIDEOMODE and AUDIOMODE are now set only ONCE on plugin start!
- added check if memory in cDxr3SyncBuffer is allocated correct
- introced a 'ToDo-System'.
  in every *.c file there can be something like this at the top of the file:
  /*
	ToDo:
		- cDxr3SyncBuffer::Push: XXX This is only a workaround until
                  a sufficient control algorithm is implemented
  */

  So it is easier to keep track of stuff, which needs more work.
- some small changes in dxr3colormanger.h/c
- some small changes in dxr3pesframe.h/c
- some small changes in spuenc.h/c
- killed spu_dump in spuenc.h/c
- renamed spuenc.h/c to dxr3interface_spu_encoder.h/c
- changed dxr3audiodecoder to support the new ffmpeg interface
- renamed dxr3absspu/dxr3absspulist to dxr3interace_spu/dxr3interace_spu_list
- volume control logarithmic instead of linear. 
  This is a more natural sounding way of controlling the 
  volume. Thanks to Jon Burgess <mplayer@jburgess.uklinux.net>
- added patch for DVD subtitles. Thanks to Stuart Daines <s.daines@ntlworld.com>
- fixed memory leak in dxr3osd.c - Thanks to Miika Pekkarinen <miipekk@ihme.org>
- added Tools namespace, which has a fixed Rgb2YCrCb function in it
  (dxr3tools.h)
- kicked out Cmd in dxr3osd.h/c
- added dxr3i18n.h/c
- added Portuguese language support - thanks to Paulo Lopes <pmml@netvita.pt>
- added Finnish language support - thanks to Hannu Savolainen
  <hannu@opensound.com>
- added Swedish language support - thanks to Tomas Prybil <tomas@prybil.se>
NOTE: I havent found time to include all of the languages, will be done in pre2
- kicked out - i hope - some unneeded usleeps
- rewrote cSPUEncoder: Now we imitate the Cmd funtion form the dvb drivers. So
  we can use now the normal osd functions form dvbosd.c :)
- added support for vdr-1.3.11
- added videomode pal 60


2004-07-29: Version 0.2.3-pre2 (now aviable on SourceForge)

- fixed audio and video problems
- works now with vdr < 1.3.7
- added YUV2Rgb int dxr3tools.h (for dxr3spudecoder)
- added some more debug infos in dxr3outputthread.c
- added const keyword in dxr3configdata.h
- added EM8300 include define in Makefile
- added debuglevels, so we can define how much we want to log
- assimilated spudecoder from vdr's dvbspu.c/h -> nice nav in dvds
- kicked out cDxr3InterfaceSpu from dxr3interface.c/h
- a little fix for cDxr3Interface::ResampleVolume
- kicked out dxr3interface_spu.c/h and dxr3interface_spu_list.c/h, because
  the new spudecoder dont need it anymore.
- added dxr3cpu.c/h to get some infos about the cpu
- added dxr3memcpy.c/h to get a little speedup - i hope
- maybe a little audiofix: lastHeader in cDxr3AudioDecoder will now set to 0
  with the constr. and not via Init()-function. So there should be less audio
  scratches now.
- osd works now on every resolution (viva, viva plus,...)
- added main-menu-entry
- added in some parts some memory allocation tests
- added fix for Makefile from vdr-portal.de -> should compile on more machines
- added Tools::WriteInfoToOsd(...) - now some info like "Releasing devices"
  are shown on the osd again
- fixed dxr3osd_subpicutre.c - thanks to Paavo Hartikainen <pahartik@sci.fi>


2005-08-07: Version 0.2.3

- fixed output of anamorphic video when tv aspect is configured to 16:9 in
  DVB setup menu (Seppo Ingalsuo)
- rewrote i18n support, improved Finnish translation and other bits
  (Christian Gmeiner, Ville Skyttä)
- fixed void cDxr3Interface::SetAudioDigitalPCM() (Stephan Skrodzki)
- added many comments into source (Christian Gmeiner)
- using doxygen for docs (Christian Gmeiner)
- made path to microcode configurable in Makefile (Sascha Volkenandt)
- better default directories in Makefile (Christian Gmeiner, vdr-wiki.de folks)
- use std:: instead of namespace std
  (bug #1044069, Christian Gmeiner, Ville Skyttä)
- fixed #includes: moved #include "dxr3osd.h" from dxr3interface.h to
  dxr3interface.c, removed not needed #includes (Christian Gmeiner)
- added support for VDR 1.3.13 and later (Luca Olivetti, Peter Dittmann)
- fixed checking of return falues when opening the em8300-* fifos
  (Christian Gmeiner, Ville Skyttä)
- removed explicit linking with zlib (Christian Gmeiner)
- compiles now with 3.4.x gcc's (Christian Gmeiner, Ville Skyttä)
- use $CXX for generating dependencies instead of hardcoded g++ (Ville Skyttä)
- added descriptions to audio and video output threads
  (#1112673, Ville Skyttä)
- fixed audio and video thread deletion in demux device destructor
  (#1112674, Ville Skyttä)
- made "all" the default target in Makefile (Ville Skyttä)
- avoid hang in pause mode with VDR >= 1.3.18 (Luca Olivetti)
- avoid high CPU usage in pause mode (Luca Olivetti, Klaus Schmidinger)
- improved GetSTC(): fixes DVB subtitles sync problems (Mikko Tuumanen)
- limit OSD flush rate: prevents OSD from going berserk due to being
  refreshed too often, see plugin settings (Luca Olivetti, Ville Skyttä)
- borrow better OSD scaling routines from the Xine plugin (Luca Olivetti)
- improve original OSD scaler for small resolutions (#1014339, Luca Olivetti)
- improve error checking, eliminate some compiler warnings (Ville Skyttä)
- fix OSD going pink after returning from the MPlayer plugin; while at it,
  remove dxr3palettemanager.* and use VDR's cPalette
  (Ville Skyttä, Martin Cap, Luca Olivetti)
- remove unused dxr3unixserversocket.* from 0.2.x (Ville Skyttä)
- fix sound with the MP3 plugin and VDR >= 1.3.18 (Antti Järvinen)
- set aspect ratio and audio mode to unknown when releasing devices, fixes
  the setup eg. after returning from the MPlayer plugin
  (Luca Olivetti, Kimmo Vuorinen)
- rework OSD color management, fixes eg. color "bleeding"
  (Luca Olivetti, Thomas Husterer)
- sync SPU decoder with VDR 1.3.23 (Ville Skyttä)
- register only needed ffmpeg codec(s) (Marco Schlüßler)
- fix crash at exit (Marco Schlüßler)
- add support for mandatory subtitles (Marco Schlüßler)
- avoid crashing with some corrupted streams (Jon Burgess)
- remove optimized memcpy routines and related stuff, just use the glibc
  one (Ville Skyttä)
- clean up dead code for old VDR versions that hasn't worked for some time
  anyway, VDR >= 1.3.11 is now required (Ville Skyttä)
- improve recovery and avoid lockups caused by bad streams (Jon Burgess)
- use VDR's facilities for logging (no more dxr3plugin.log), make it less
  noisy (Ville Skyttä, Christian Gmeiner)
- add setup option for hiding the main menu entry (Ville Skyttä)
- implement stereo/left/right audio channel switching (Malcolm Caldwell)
- limit card number to sane values in config (Ville Skyttä)
- added Italian, Spanish and Catalan translations (Luca Olivetti)
- don't override OSD's {Save,Restore}Region with dummies (Luca Olivetti)

2005-08-27: Version 0.2.4

- don't abort with lpcm frames containing an odd number of bytes, drop
  the frame instead (Ville Skyttä)
- fix crash on audio sync buffer push timeouts (Jon Burgess)
- make the device class call cDevice's Mute() and Clear() (Ville Skyttä)

2006-01-08: Version 0.2.5

- sync default microcode location with em8300 0.15.2+ (Ville Skyttä)
- improve device reset and error recovery, try to preserve aspect ratio and
  audio mode etc (Luca Olivetti, Ville Skyttä)
- remove image grab code, it's broken (crashes vdr) and would cause
  maintenance problems with various 1.3.x vdr versions (Ville Skyttä)

2006-04-30: Version 0.2.6

- adapt to VDR 1.3.42-1.4.0, oldest supported is now 1.3.42 (Ville Skyttä)
- clean up leftovers from the image grab code removal in 0.2.5 (Ville Skyttä)
- add Czech i18n placeholders (Ville Skyttä)
- be less noisy about audio mode (non-)changes (Ville Skyttä)
- add work-in-progress AC3 patch to patches/ (Agneau Egare, Ville Skyttä)
- use VDR's thread activity control features instead of our own (Luca Olivetti)

2007-05-08: Version 0.2.7

- add Polish translation (Mikolaj Tutak)
- sync "make install" with VDR 1.4.2-2 (Ville Skyttä)
- use cCondWait::SleepMs() instead of usleep (Ville Skyttä)
- avoid deprecation warnings with newish libavcodec (Ville Skyttä)
- add brightness/contrast/saturation settings to setup (Ville Skyttä)
- apply more settings immediately from setup menu (Ville Skyttä)
- apply AC3 and WSS patches which were in patches/ in previous releases
- add setup option for enabling/disabling WSS (Ville Skyttä)
- various minor tweaks

2008-04-06: Version 0.2.8

- Fix build with ffmpeg >= ~2007-07 (Ville Skyttä)
- Fix build with VDR >= 1.5.9 (Ville Skyttä)
- Drop support for VDR < 1.4.0 (Ville Skyttä)
- Implement OSD level for VDR >= 1.5.9 (Luca Olivetti)
- Fix subtitles for VDR >= 1.5.11 (Luca Olivetti, Sami Sundell)
- Include VDR 1.6+ subtitle hack patch in patches/ (Luca Olivetti)

2009-01-02: Version 0.2.9

- Update Italian translation (Diego Pierotto)
- Error handling improvements (Ville Skyttä)
- Add SVDRP commands for device release/reopen, audio output settings,
  brightness/contrast/saturation (Krzysztof Parma, Ville Skyttä)
- Switch to VDR 1.6's i18n system (Ville Skyttä)
- Drop support for VDR < 1.6.0 (Ville Skyttä)

200x-xx-xx: Version x.x.x

- Apply brightness/contrast/saturation configuration settings when configuring
  the device, e.g. on VDR startup (Ville Skyttä)
- Error handling improvements (Ville Skyttä)
- Add French translation (#55, Michaël Nival)
- Better defaults for FFmpeg and EM8300 in Makefile (#53, Ville Skyttä,
  Michaël Nival).
- Code cleanups (Christian Gmeiner)
- Add Ukrainian translation (#131, Yarema aka Knedlyk).
- New SpuEncoder (Christian Gmeiner)
- Fix bug #223 by adding a command line argument to enable automatic
  firmware loading:
  '-f  --firmware-loading   Enable automatic firmware loading' (Christian Gmeiner)