1 VDR Plugin Revision History
2 ---------------------------
4 27.08.2007: Version 0.10.1 (vdr 1.4.7 / 1.5.9)
5 - Fixed segfault in MP3 infocache purge on plugin exit.
6 - Added support for VDR 1.5.7+ gettext internationalization.
8 17.06.2007: Version 0.10.0 (vdr 1.4.7 / 1.5.2)
9 - Fixed directory scaning in file browser if remembered directory has been
10 removed meanwhile. Reported by Halim Sahin.
11 - Added processing of kNext/kPrev to skip songs. Patch provided by Peter Pinnau.
12 - Made subsampling mode selection for ppmtoy4m call in example image convert
13 script backward compatible. Suggested by C.Y.M.
14 - Fixed a missing include in mplayer.c. Reported by Dirk Vornheder.
15 - Now closing all unused filedescriptors in MPlayer child thread. Suggested by
17 - Now defaults to slavemode enabled in MPlayer plugin.
18 - Adapted to the API changes in vdr 1.5.0+.
19 - Documentation updates.
21 ----------------------------------------------------------------------
23 21.09.2006: Version 0.9.15 development (vdr 1.4.1-4)
24 - NOTE: This version has been tested with VDR 1.4.x only. It might be still
25 compatible with VDR 1.2.x or 1.3.x, but this wasn't verified.
26 - In MPlayer filebrowser you can display a summary text file with key "0".
27 Filename convention: video filename extended with ".summary", e.g.
28 "somefile.avi" -> "somefile.avi.summary". Summary files are not shown in the
29 browsers filelist. (was in 0.9.14 already, but was missing in history)
30 - Using ".txt" and ".nfo" as alternative extention for MPlayer summary file
31 display. Suggested by Soeren Sonnenburg.
32 - Additionaly searching for a MPlayer summary file with the video filename
33 extention stripped of (e.g. "somefile.summary").
34 - Added SVDR and service support to MP3 and MPlayer plugin. Based on a patches
35 provided by Olivier Jacques and Holger Brunn.
36 - Added setup option to reverse title/artist display in MP3 plugin.
37 - Added support for basic HTTP authorization in MP3 streaming.
38 - Now passing correct name & path to VDR's status class during MPlayer playback.
39 - Added commandline option to specify a subdirectory to load sources file from.
40 Suggested by Ronny Kornexl.
41 - Added commandline option to specify a directory for the global MPlayer resume
42 file. Suggested by Ronny Kornexl.
43 - Added -S option to ppmtoy4m call in example image convert script. Suggested by
45 - Replaced leftover usleep() calls. Thanks to Malte Schröder.
46 - Moved cleanup of ID3 cache to a seperate thread to prevent watchdog timeout.
47 Suggested by Peter Holik.
48 - Fixed browser excludes taking effect only after the first directory change.
49 Reported by Soeren Sonnenburg.
50 - Fixed parsing the filename from MPlayer output. Based on a fix from TomG.
51 - Fixed MPlayer volume changes. Take non-linear changes in VDR into account.
52 Reported by Daniel Karsubka.
53 - Fixed delay when MPlayer process exits at EOF. Reported by Daniel Karsubka.
54 - Fixed MPlayer volumen handling for VDR 1.4.1-2. Note that the current code
55 doesn't work with VDR 1.4.1 and 1.4.1-1.
56 - Fixed button translations with vdr 1.3.38+. Thanks to Ville Skyttä.
57 - Fixed some gcc 4.1 issues. Thanks to Ville Skyttä.
58 - Removed explizit libz dependency from Makefile. Suggested by Ville Skyttä.
59 - Updated Makefile according to changes in VDR 1.3.47 & 1.4.1.
60 - Updated finish translations. Provided by Rolf Ahrenberg.
62 08.01.2006: Version 0.9.14 development (vdr 1.2.6/1.3.38)
63 - Fixed VDR hanging for some seconds when skipping songs and fixed pause mode
64 freezing live background when using OSS output. Reported by Andy Grobb.
65 - Now muting DVB audio while using OSS output.
66 - Finaly restored the function of the back key (jumps directly to plugin main
67 menu) (vdr >= 1.3.32 only). Thanks to Sascha Volkenandt for the hint.
68 - During MPlayer playback, the name of the current videofile is now parsed from
69 the MPlayer output. If you're using some kind of playlist hack, the MPlayer
70 plugin will now report the correct filename. Based on suggestions from Ronny
72 - Extended the example mplayer.sh file to show how a playlist can be passed to
74 - Fixed segfault in progress display with skincurses. Thanks to Pasi Juppo for
76 - Adapted to the API changes in vdr 1.3.38.
78 31.07.2005: Version 0.9.13 development (vdr 1.2.6/1.3.24)
79 - Moved OSD position selection to plugin setup menu (as before this works for
80 non-skined vdr <1.3.7 only).
81 - Removed DVD navigation from MPlayer slavemode.
82 - Added support for configurable keys (0-9) in MPlayer slavemode. The slave
83 command can be entered in the plugin setup menu and is sent to MPlayer during
84 playback if the key is pressed.
85 - Added support to display a summary file (plain ascii) in the MPlayer browser.
86 If you are on a video file, press '0' to display the summary. The summary file
87 has to be named like the video file but with ".summary" appended (e.g.
88 video.mpeg -> video.mpeg.summary).
89 - New MP3 plugin setup option to keep the selection menu opened after selection.
90 Suggested by Mikko Mäkinen.
91 - Fixed ringbuffer timeouts in network code.
92 - Fixed ID3 V2 tag handling. Unusual big tags caused the ID3 scanner to mark the
93 file as bad. Now correctly skipping ID3 tags during playback too. Reported by
95 - Prevent writing to a broken pipe in mplayer slave control. Reported by Gerhard
97 - Fixed passing AID 0 to mplayer.sh. To allow MPlayer autoselect the audio
98 stream, set AID to -1 (this can only be achieved by entering 0 and than
100 - Improved creation of LPCM frames. Based on the changes in muggle 0.1.8.
101 - Updated french translations. Provided by Jerome Rousset.
103 17.03.2005: Version 0.9.12 development (vdr 1.2.6/1.3.22)
104 - Fixed background image convert hanging a long time and some other oddities.
105 - Now filtering image files in the song browser display.
106 - Extended include field in mp3sources.conf to allow multiple patterns seperated
107 by '/' e.g. *.mp3/*.ogg/*.txt
108 - Enhanced image convert script for NTSC format. Thanks to Cym.
109 - Fixed list sorting for vdr versions before 1.3.15.
110 - Fixed MPlayer slavemode progress display reappearing on user requested close.
111 - Now explicitly setting C locale in example image convert script. Thanks to
113 - Changed the location where cStatus::MsgReplaying is called. Helps to prevent a
114 crash in graphlcd. In my opinion cControl API should be called from the
115 foreground thread only. Reported by Wolfgang Fritz.
116 - Fixed a huge bunch of typos in the documentation. Thanks to Ville Skyttä.
117 - Updated finish translations. Provided by Rolf Ahrenberg & Ville Skyttä.
119 20.02.2005: Version 0.9.11 development (vdr 1.2.6/1.3.21)
120 - Now using propper readdir() to scan directory contents rather than the
121 external find & sort tools.
122 - Added cover image display during MP3 replay. See the README on how this has
123 to be configured. If you was using the old image patch, be aware that there
124 are now new commandline options and that the layout of the cache directory
125 has changed. Initial patch made by Eloy, currently maintained by Tobias Grimm
126 for ctvdr-debian package.
128 06.02.2005: Version 0.9.10 development (vdr 1.2.6/1.3.20)
129 - Fixed MPlayer resume for filenames/directories containing whitespace
131 - Fixed vdr 1.3.18+ compatibility with BROKEN_PCM=1.
132 - Fixed MP3 replay with vdr 1.3.19+. Thanks to Tobias Grimm.
133 - Fixed huge memory leak in song/decoder handling (approx 22kB/song). Thanks to
134 the great valgrind tool.
135 - Fixed some mismatched new[]/delete calls.
136 - Reduced MP3 decoder memory footprint (stopped state, from 22k to 308).
137 - Fixed crashes on status display from background threads (e.g. connect to
138 streamserver). An asyncronous status display was added.
139 - Updated finnish translations. Provided by Rolf Ahrenberg.
140 - Updated recommended library versions to libmad/libid3tag 0.15.1b and
142 - Updated patch for cdfs 0.5c. Correct tracksize for last audio track if a data
143 track follows. Thanks to Merten Falk.
145 10.01.2005: Version 0.9.9 development (vdr 1.2.6/1.3.18)
146 - Added global MPlayer resume file. This is used if the directory of the video
147 file is not writeable. The global resume file is located in the video
149 - Added DVD navigation to MPlayer slavemode. Due to this some other functions
150 have been moved to new keys. See MANUAL file.
151 - Added some glue for vdr 1.3.18.
152 - Fixed saving of MPlayer setup option "ResumeMode". You can select if you want
153 "local/global" or "global only" resume files too.
154 - Fixed thread deadlock in playmanager and non-blocking libsndfile reader
155 (appearently only with some pthread versions) and high cpu usage of
156 background scan thread when using libsndfile decoder. Thanks to Tobias Grimm
158 - Removed workarounds for broken PCM handling in firmware (PCM pause &
159 samplerate changes). This requires DVB firmware 261d-rc6 or newer. If you
160 prefer to use an older firmware, you can use the make commandline option
161 BROKEN_PCM=1 to enable old behaviour.
162 - Fixed handling of sym-links in source base path and playlists.
163 - Fixed path generation for "wide" sym-links.
164 - Replaced non-reentrant glibc functions with reentrant versions.
165 - Updated finnish translations. Provided by Rolf Ahrenberg.
167 28.11.2004: Version 0.9.8 development (vdr 1.2.6/1.3.14)
168 - Added MPlayer audiostream selection. Audiostream is selected with the blue
169 key in the MPlayer menu. The selected stream is passed to the mplayer.sh
170 script as "AID x" where x is the stream number. For compatibility reasons the
171 AID parameter is passed after the SLAVE parameter. Due to this, parameter
172 positions aren't fixed any more. You have to implement a flexible parameter
173 parsing in mplayer.sh. See the example file how this can be done. Based on a
174 patch from VDR-Portal.
175 - Fixed segfault in shuffle code when adding a single song to the current
176 playlist. Reported by Malte Schröder.
177 - Fixed segfault in network code (pthread_cancel). Reported by Malte Schröder.
178 - Fixed mounting/unmounting sources in MPlayer plugin. Reported by Guy Roussin.
179 - Fixed status display with open (classic) progress display for vdr 1.3.7+.
180 - Added russian translations (vdr >= 1.3.2). Provided by Vyacheslav Dikonov.
182 24.09.2004: Version 0.9.7 development (vdr 1.2.6/1.3.12)
183 - Added non-blocking reader thread to libsndfile decoder.
184 - Fixed backward skip and progress display. Reported by Burkhardt Petermann.
185 - Fixed some locking problems in play manager.
186 - Fixed handling of samplerate changes for DVB & OSS output.
188 13.09.2004: Version 0.9.6 development (vdr 1.2.6/1.3.12)
189 - Changed the way how the player maintains the ringbuffer to prevent audio
190 dropouts while background scan is active.
191 - Increased player ringbuffer size and take care of ringbuffer contents when
193 - Prevent full file scan on MP3 decoder check.
194 - Flushing playlist on playback abort to unblock removable sources. This also
195 prevents the background scanner to continue after playback was aborted.
196 - Removed a buffer-to-buffer copy in DVB output.
197 - Fixed several race conditions where the play manager could discard the
198 currently played or scanned song.
199 - Added a patch for cdfs 0.5c to correct discid calculation (applies to cdfs
202 07.09.2004: Version 0.9.5 development (vdr 1.2.6/1.3.12)
203 - Resolved several oddities in progress display if the player is idle.
204 - Now removing trailing '/' from source definitions in *sources.conf and warn
206 - Outdated entries in the MPlayer resume file are removed now.
207 - Fixed playback start delay in case the background scanner is working on the
209 - Fixed progress display for net streams. Reported by Wolfgang Fritz.
210 - Fixed MPlayer rewind button (broken by sources fix in 0.9.4). Reported by
212 - Updated finnish translations. Provided by Rolf Ahrenberg.
213 - Added a patch that prevents the VDR core from aborting the MP3 player in
214 black background mode (see patches subdirectory).
216 03.09.2004: Version 0.9.4 development (vdr 1.2.6/1.3.12)
217 - Added a queue manager. During playback you can add new songs to the playlist
218 by selecting them from the MP3 menu/browser. To flush the playlist you have
219 to stop the player for now. You can add new songs even if the player is kept
221 - Replaced setup option "mute at end of list" with "abort player at end of
222 list". If you set this option to "no" and the end of playlist is reached, the
223 player is kept idle. To restart playback select a song to restart from there
224 or "up" to restart from the begining.
225 - Background scan (formerly known as ID3 prescan) now also can determine the
226 song level. Note that level scan requires to decode the complete song. This is
227 done on a seperate thread with nice 5 but nevertheless it needs CPU cycles. If
228 your system crawls, you can set background scan to "ID3 only" in the plugin
230 - Added commanline option -C to specify the directory to place the id3cache
231 file. The default is to place the file into the video directory.
232 - MPlayer resume feature can now be disabled in the plugin setup menu. No resume
233 file is created in this case.
234 - Another fix to the OSS output. Now using little-endian samples only (which
235 should be supported by all soundcard drivers).
236 - Fixed mounting/unmounting of MPlayer sources (Bug introduced in 0.9.2). Thanks
237 to Bill Blough for spotting this one.
238 - Updated finnish translations. Provided by Rolf Ahrenberg.
240 03.07.2004: Version 0.9.3 development (vdr 1.2.6/1.3.11)
241 - If a (single) selected file in the MP3 browser is actualy a playlist (*.m3u),
242 load the playlist rather than trying to play the file. This allows to have
243 playlists in subdirectories (by now only selectable from the browser not from
244 the main menu). Note that song paths must be either absolute or relative to
245 the location of the playlist file. Suggested by Helmut Auer.
246 - Now returning replay mode information in MP3 replay. Suggested by Sascha
248 - Now paying attention to values returned by OSS ioctl's. This fixes playback
249 for sound drivers which doesn't support big-endian samples. Thanks to
250 Antti-Pekka Liedes for reporting and testing the fix.
251 - Added setup option to hide the mainmenu entry.
252 - Updated finnish translations. Provided by Rolf Ahrenberg.
253 - Fixed VDR 1.2.x compile issues.
254 - Fixed crash on status message display while the classic replay display is
257 24.06.2004: Version 0.9.2 development (vdr 1.2.6/1.3.11)
258 - Added a setup option to toggle MP3 replay display between classic and skin
259 version. Note that the big playlist display isn't available in skin mode.
260 - Added rewind button to MPlayer menu. Suggested by Sebastian Kemper.
261 - Updated finnish translations. Provided by Rolf Ahrenberg.
262 - Fixed current play time calculation for MPlayer without slave-patch.
263 Reported by Uwe Scheffler.
264 - Fixed status messages which were displayed for ever. Reported by Sascha
267 05.06.2004: Version 0.9.1 development (vdr 1.2.6/1.3.9)
268 - Added finnish translations. Provided by Rolf Ahrenberg.
269 - Adapted to the changes in VDR 1.3.7+. Based on patches provided by Sascha
270 Volkenandt & Sven Goethel.
271 - Fixed long standing bug in ID3 tag parsing, when the file contains an
272 incomplete ID3 tag at the end of file. Thanks to Matt Tovey for debugging.
273 - Better german translations. Suggested by Andreas Brachold.
274 - Now ignoring dot-files in file browser. Suggested by Patrick Cernko.
275 - Now showing total play time in MPlayer progress display. The value may be
276 inaccurate. Suggested by Patrick Cernko.
277 - Added resume capability for MPlayer. The resume position is stored in a file
278 called ".mplayer.resume" in the directory of the MPlayer file. Based on a
279 patch provided by Patrick Cernko.
280 - Added a setup option to mute audio at end of playlist. Based on a patch
281 provided by Christoph Gohle.
282 - Now accepting absolute paths in playlists, even though the path must point to
283 somewhere inside the defined source directory. Suggested by Niklaus Stutz.
285 08.05.2004: Version 0.9.0 development (vdr 1.2.6/1.3.1)
286 - Added OSS soundcard output. Use make option WITH_OSS_OUTPUT=1 to compile
287 support, commandline option -D to change DSP device and plugin setup menu to
288 select output mode. Thanks to Gunnar Roth.
289 - Added shoutcast/icecast metadata parsing. Thanks to Andreas Brachold.
290 - Now restoring locale settings in MPlayer plugin.
291 - Fixed MPlayer exit problem while paused.
292 - Fixed showing outdated song name shortly after start of a new song.
294 ----------------------------------------------------------------------
296 16.01.2004: Version 0.8.3 (vdr 1.2.6/1.3.1)
297 - Fixed shutting down network connection (race condition).
298 - Added a pointer to Juri's mplayer.sh in the README.
299 - Fixed compilation problem with VDR 1.3.x and Beauty-Patch.
301 16.11.2003: Version 0.8.2 (vdr 1.2.6)
302 - Fixed quoting special shell characters when calling MPlayer.
303 - Now sending a "quit" to MPlayer when in slave mode rather than killing the
305 - Updated recommended library versions to libmad/libid3tag 0.15.0b and
308 08.08.2003: Version 0.8.1 (vdr 1.2.2)
309 - Fixed network code for DOS-style \r\n (Thanks to Roland Praml).
311 01.06.2003: Version 0.8.0 (vdr 1.2.0)
312 - Fixed thread cancelation in network code (valgrind hits).
313 - Stable release 0.8.0.
315 ----------------------------------------------------------------------
317 25.05.2003: Version 0.7.15 plugin development (vdr 1.1.33)
318 - Adapted to the changes in vdr 1.1.33.
319 - Corrected the README about the fact that the plugins require vdr 1.1.29+.
320 - Added Spanish & Catalan translations. Thanks to Ramon Roca.
322 18.05.2003: Version 0.7.14 plugin development (vdr 1.1.32)
323 - Fixed ringbuffer handling for changes in vdr 1.1.31/32.
324 - MPlayer progressbar can be moved up/down now. Use keys 6/9 while the
325 progressbar is displayed.
326 - Added Swedish translations. Thanks to Jan Ekholm.
328 27.04.2003: Version 0.7.13 plugin development (vdr 1.1.29)
329 - Fixed compile error due to changes in vdr 1.1.29.
330 - Fixed VDR version check.
332 18.04.2003: Version 0.7.12 plugin development (vdr 1.1.27)
333 - Added support for MPlayers slave commands "get_percent_pos" &
334 "get_time_length". Gives better results for the progressbar. The slavemode
335 patch for MPlayer is still needed as not all video formats provide
336 information through these slave commands.
337 - Fixed s/ms mixup in remote CDDB connect.
338 - Fixed possible deadlock-race in mp3 & snd decoder.
339 - Added OggVorbis decoder. libvorbis & libvorbisfile needed.
340 - Updated French translations. Thanks to Pierre-Henri Beguin.
341 - Added VDR version check.
343 27.03.2003: Version 0.7.11 plugin development (vdr 1.1.26)
344 - Fixed MPlayer AudioDelay(). Thanks to Sven Goethel.
345 - Fixed MPlayer key repeat. Thanks to Reinhard Walter Buchner.
346 - Added yellow/green key to MPlayer control to skip back/forward a minute.
347 Key assignment may change in future for these keys.
348 - Fixed Makefile for DVB includes.
349 - Fixed creation of cMPlayerStatus according to the rules.
350 - Fixed pipe reading and parse code. Caused all kind of weird behaviour.
351 - Some changes to the MPlayer pipe handling.
352 - Changed the network ringbuffer handling. You should use VDR version 1.1.25+
353 or you may suffer from high cpu load during network streaming.
354 - Added a console message if a plugin fails to start due to a missing
357 03.02.2003: Version 0.7.10 plugin development (vdr 1.1.23)
358 - Added patches for MPlayer 0.90rc1 (contributed by Beppe on the VDR ML).
359 - Adapted to the API changes in vdr 1.1.22.
360 - Removed speed drift detection. Makes not much sense with HEAD driver, as this
361 supports non-48kHz modes anyways.
363 18.12.2002: Version 0.7.9 plugin development (vdr 1.1.20)
364 - Added commandline option to specify a script which is called before & after
365 network access (e.g. for dial-up networking) (suggested by Matthias Raus).
366 - Fixed playback speed check for (partly) corrupted files.
367 - Fixed blocking frontend thread during possibly slow playback startup.
368 - Added support for shoutcast/icecast streams. See MANUAL for URL file format
369 and setup menu options.
371 24.11.2002: Version 0.7.8 plugin development (vdr 1.1.16)
372 - Speed up local CDDB database search with huge databases. Due to this, only
373 one subdirectory level is allowed in the database directory (usually the
374 category name). This follows the common xmcd database layout.
375 - Added code for remote CDDB lookups. cddb.sh script is no longer needed. Please
376 note, that the commandline options have changed.
377 - Added some status output while scanning/loading playlists to inform the user.
379 13.11.2002: Version 0.7.7 plugin development (vdr 1.1.16)
380 - Updated Makefile to support Make.config.
381 - Removed a deadlock together with the rt-patch.
382 - Added support for the new remote keys (play,pause,fastfwd/rwd).
384 06.10.2002: Version 0.7.6 plugin development (vdr 1.1.12)
385 - Removed a class name conflict (cSource) introduced with the changes in
387 - Added a field to the sources.conf files to specify which kind of files should
388 be used on a source (see mp3sources.conf.example).
390 06.09.2002: Version 0.7.5 plugin development (vdr 1.1.8)
391 - Fixed bug in new status string code, which crashed VDR if a song without
392 artist tag was played.
393 - Fixed parsing error of MPlayer output in slavemode if "C" is not the current
395 - Fixed jump to minute in MPlayer slavemode.
396 - If you have installed the "replay mode beauty patch" the new symbols are used
397 for MPlayer progressbar too. This feature is auto-detected in the Makefile.
399 01.09.2002: Version 0.7.4 plugin development (vdr 1.1.8)
400 - Changed the status string to show the loop/shuffle state too.
401 - Fixed replay problem with background mode "black". With vdr 1.1.8 you must
402 apply the included patch to the base source.
403 - Changed the way mplayer.sh is called. Now it shouldn't be necessary to give
404 the full path to the script if the script is in the current PATH.
405 - Added MANUAL a file.
406 - New setup option SlaveMode for MPlayer. With SlaveMode enabled you can
407 control MPlayer via VDR. A progress display is available too. See MANUAL for
408 details (thanks to Dariush Forouher).
410 23.08.2002: Version 0.7.3 plugin development (vdr 1.1.7)
411 - Now using libsndfile 1.x.x. You must update you system. The plugin won't
412 compile with version 0.0.x.
413 - Fixed detection if MPlayer is still running.
414 - Fixed GetIndex() to return frames rather than seconds (thanks to Martin
416 - The last second of the last song in a playlist wasn't played. Now waiting
417 until the ringbuffer is really empty.
419 16.08.2002: Version 0.7.2 plugin development (vdr 1.1.7)
420 - Fixed gcc 2.96 compiling error due to variable name "not".
421 - Fixed a undefined symbol error when compiling without libsndfile.
422 - Fixed a deadlock in the MP3 player.
423 - Removed old stale LCD code parts.
424 - Now using free() on all strings.
425 - Adapted to the API changes in vdr 1.1.7.
427 11.08.2002: Version 0.7.1 plugin development (vdr 1.1.6)
428 - Added some calls to the status monitor.
429 - Fixed internationalization (thanks to David Spiller).
430 - Fixed jump to the next song at the end of current song (thanks to David
432 - Replaced all busy usleep wait loops with proper condition variables.
433 - Removed one thread level in the MPlayer plugin.
435 08.08.2002: Version 0.7.0 plugin development (vdr 1.1.6)
436 - Updated the source base to release version 0.6.2.
437 - Added MPlayer plugin.
438 - MP3 playback now functionaly.
440 13.05.2002: Version 0.0.2 plugin development (vdr 1.1.2)
441 - Added setup menu page and saving of setup options.
442 - Adding to playlist and playlist rename now functional. Beside playback all
443 menus are (better should be) working.
444 - Now using confdir/plugins/mp3sources.conf for sources config.
446 10.05.2002: Version 0.0.1 plugin development (vdr 1.1.1)